Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TaskBell

Get notified when long-running terminal commands finish.

TaskBell is a small, open-source command wrapper for developers who do not want to keep watching a terminal while builds, tests, backups, renders, or other long-running jobs finish.

taskbell -- cargo build --release
taskbell --min-duration 30 -- make -j4
taskbell --title "Backup finished" -- rsync -a src/ backup/

Why TaskBell?

TaskBell keeps the workflow deliberately simple:

  • one command wrapper
  • no account, daemon, server, telemetry, or background service
  • preserves the wrapped command's exit status
  • measures elapsed time
  • Linux desktop notifications through notify-send
  • terminal bell fallback when desktop notifications are unavailable
  • optional minimum-duration threshold
  • no shell interpolation: commands are executed directly with their argument list

Status

TaskBell v0.1.0 is available now as the first public release.

The prebuilt release currently targets Linux x86_64. Other platforms can build from source while portability work continues.

Download TaskBell v0.1.0

Install the Linux release

Download the TaskBell-v0.1.0-linux-x86_64.tar.gz asset from the release page, then:

tar -xzf TaskBell-v0.1.0-linux-x86_64.tar.gz
cd TaskBell-v0.1.0-linux-x86_64
./taskbell --version

You can optionally place the binary somewhere on your PATH, for example ~/.local/bin.

The release page also includes a SHA-256 checksum file for verifying the downloaded archive.

Build from source

Requirements:

  • Rust 1.74 or newer
  • Linux for desktop notifications (notify-send is optional)
git clone https://github.com/BLCCoreStudio/TaskBell.git
cd TaskBell
cargo build --release
./target/release/taskbell --version

Usage

taskbell [OPTIONS] -- <COMMAND> [ARGS...]

Options:

--min-duration <SECONDS>  Notify only if the command runs at least this long
--title <TITLE>           Set the desktop-notification title
--no-notify               Skip desktop notification and use the terminal bell
-h, --help                Print help
-V, --version             Print version

TaskBell returns the wrapped command's exit code. On Unix, if the wrapped process terminates because of a signal, TaskBell exits with 128 + signal.

Examples

Notify after a Rust release build:

taskbell -- cargo build --release

Ignore commands shorter than 30 seconds:

taskbell --min-duration 30 -- cargo test

Use the terminal bell without attempting a desktop notification:

taskbell --no-notify -- ./long-running-script.sh

Security and privacy

TaskBell does not send command data anywhere. It has no telemetry, network client, remote backend, or account system.

The command is executed directly rather than through sh -c, so TaskBell does not add an extra shell-expansion layer around user-provided arguments.

For vulnerability reports, see SECURITY.md.

Contributing

Bug reports, focused feature proposals, tests, and portability improvements are welcome. See CONTRIBUTING.md.

License

TaskBell is open source under the MIT License.

Built by BLC Core Studio.

About

Terminal notifications for long-running commands on Linux.

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages