A CLI tool that watches over a bash process and sends a notification via KDE Connect (to a connected device) when it blocks waiting for input.
Useful for long-running commands like dnf, make, or custom servers where you want to walk away and be notified when the process needs you.
libsystemd(for D-Bus communication)kdeconnect-cli(KDE Connect must be installed and running with a paired device)strace
On Fedora:
sudo dnf install kdeconnect strace systemd-develmake
sudo make installThis installs the bird binary to /usr/local/bin.
bird --help
bird --watch [command] [arguments]
sudo bird --watch [command] [arguments]
bird --watch make
bird --watch ./server
sudo bird --watch dnf install fooWhen run, bird will prompt you to select a paired KDE Connect device to send notifications to.
Commands that require root (e.g. dnf, mount) can be run with sudo bird. When bird detects it is running as root, it temporarily lowers its privileges to access the user session bus for KDE Connect, then restores them to run your command.
bird forks the target command as a child process and attaches strace to it. It monitors the strace output for read(0, ...) syscalls — which indicate the process is blocked waiting for stdin — and fires a KDE Connect ping notification when one is detected.
Dummy processes for testing are in src/dummy_processes/. Build and run them to simulate a process that blocks on input:
gcc src/dummy_processes/dproc1.c -o dproc1
bird --watch ./dproc1sudo make uninstall