/done

A fish-shell package to automatically receive notifications when long processes finish.

Primary LanguageShellMIT LicenseMIT

done

A fish shell package to automatically receive notifications when long processes finish.

Stability: Stable Release version fish >=2.3.0 License: MIT


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.

Installation

Using Fisher

fisher add franciscolourenco/done

Manually

curl -Lo ~/.config/fish/functions/humanize_duration.fish --create-dirs https://raw.githubusercontent.com/fishpkg/fish-humanize-duration/master/humanize_duration.fish
curl -Lo ~/.config/fish/conf.d/done.fish --create-dirs https://raw.githubusercontent.com/franciscolourenco/done/master/conf.d/done.fish

Dependencies

If you want notifications with icons on macOS, please install terminal-notifier

brew install terminal-notifier

Updating

fisher

Subscribe to the newsletter to be notified of new versions.

Settings

Only display notifications if a command takes more than a certain amount of time

`set -U __done_min_cmd_duration 5000  # default: 5000 ms`

Prevent specific commands from triggering notifications. Accepts a regex.

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.

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

set -U __done_notification_command 'some custom command'

Support

  • fish 2.3.0+
  • macOS 10.8+ via Notification Center.
  • Linux via notify-send. Otherwise bell sound is played.
  • Windows: Upvote franciscolourenco#5 if interested.

Credits

License

Done is MIT licensed. See LICENSE for details.