A fish shell package to automatically receive notifications when long processes finish.
Just go on with your normal life. You will get a notification when a process takes more than 5 seconds finish, and the terminal window not in the foreground.
After installing you could type, for instance sleep 6
, and start using other app. After 6 seconds you should get a notification.
This is a fork of franciscolourenco/done. I intend to keep it somewhat maintained, but time constraints abound. Pull requests welcome, I'll get to them as soon as I can. If you're interested in helping maintain, let me know in a GH issue or conversation.
Using Fisher
fisher install smiller171/done
curl -Lo ~/.config/fish/conf.d/done.fish --create-dirs https://raw.githubusercontent.com/smiller171/done/master/conf.d/done.fish
Install the fish-done
package from AUR.
yay -S fish-done
- If you want notifications with icons on macOS, please install
terminal-notifier
with
brew install terminal-notifier
-
If you are using https://swaywm.org please install
jq
. -
If you are using Windows Subsystem for Linux (WSL) you may need to install wslu, but usually it is pre-installed.
fisher update smiller171/done
set -U __done_min_cmd_duration 5000 # default: 5000 ms
This is useful to exclude commands like git commit
for instance, since it could trigger unwanted notifications if it is configured to use an external editor. This is also useful with set -U __done_allow_nongraphical 1
to prevent notifications for commands normally run interactively that you do not want to get done notifications for.
set -U __done_exclude 'git (?!push|pull)' # default: all git commands, except push and pull. accepts a regex.
Execute a custom command instead of showing the default notifications. The done
notification title and message can also be passed.
set -U __done_notification_command "your-command \$title \$message"
set -U __done_notify_sound 1
set -U __done_sway_ignore_visible 1
For Linux, set the urgency level for notifications sent via notify-send (low, normal, critical). The default is "normal" for regular commands, and "critical" for failed commands.
set -U __done_notification_urgency_level low
set -U __done_notification_urgency_level_failure normal
Allow notifications to be sent on systems without graphical capabilities. Note this requires you to also set __done_notification_command
.
set -U __done_allow_nongraphical 1
For Linux, set the timeout in milliseconds at which to expire the notification. The default is "0" (never expire).
set -U __done_expire_time 3000 # 3 seconds
- fish 2.3.0+
- macOS 10.8+ via Notification Center.
- Linux via
notify-send
. Otherwise bell sound is played. - Windows 10 via Windows Subsystem for Linux (WSL) and PowerShell.
- Scott Miller - Fork maintainer
- Francisco Lourenço - Original Maintainer
- Daniel Wehner - Proof of Concept
- Thanh Duc Nguyen - Logo
This is a fork of franciscolourenco/done. I intend to keep it somewhat maintained, but time constraints abound. Pull requests welcome, I'll get to them as soon as I can. If you're interested in helping maintain, let me know in a GH issue or conversation.
This project exists thanks to all the people who contribute. [Contribute].
Done is MIT licensed. See LICENSE for details.