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/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
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 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 --versionYou 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.
Requirements:
- Rust 1.74 or newer
- Linux for desktop notifications (
notify-sendis optional)
git clone https://github.com/BLCCoreStudio/TaskBell.git
cd TaskBell
cargo build --release
./target/release/taskbell --versiontaskbell [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.
Notify after a Rust release build:
taskbell -- cargo build --releaseIgnore commands shorter than 30 seconds:
taskbell --min-duration 30 -- cargo testUse the terminal bell without attempting a desktop notification:
taskbell --no-notify -- ./long-running-script.shTaskBell 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.
Bug reports, focused feature proposals, tests, and portability improvements are welcome. See CONTRIBUTING.md.
TaskBell is open source under the MIT License.
Built by BLC Core Studio.