PukNgae Cryolitia ac325a7cab feat(bgnotify): add config to pass extra args (#12679) | 2 bulan lalu | |
---|---|---|
.. | ||
README.md | 2 bulan lalu | |
bgnotify.plugin.zsh | 2 bulan lalu |
cross-platform background notifications for long running commands! Supports OSX and Linux.
Standalone homepage: t413/zsh-background-notify
Just add bgnotify to your plugins list in your .zshrc
brew install terminal-notifier
(or gem install terminal-notifier
)notify-send
or kdialog
installed. If you're using Ubuntu you should already be all set!Linux
OS X
Windows
One can configure a few things:
bgnotify_bell
enabled or disables the terminal bell (default true)bgnotify_threshold
sets the notification threshold time (default 6 seconds)function bgnotify_formatted
lets you change the notification. You can for instance customize the message and pass in an icon.bgnotify_extraargs
appends extra args to notifier (e.g. -e
for notify-send to create a transient notification)Use these by adding a function definition before the your call to source. Example:
bgnotify_bell=false ## disable terminal bell
bgnotify_threshold=4 ## set your own notification threshold
function bgnotify_formatted {
## $1=exit_status, $2=command, $3=elapsed_time
# Humanly readable elapsed time
local elapsed="$(( $3 % 60 ))s"
(( $3 < 60 )) || elapsed="$((( $3 % 3600) / 60 ))m $elapsed"
(( $3 < 3600 )) || elapsed="$(( $3 / 3600 ))h $elapsed"
[ $1 -eq 0 ] && title="Holy Smokes Batman" || title="Holy Graf Zeppelin"
[ $1 -eq 0 ] && icon="$HOME/icons/success.png" || icon="$HOME/icons/fail.png"
bgnotify "$title - took ${elapsed}" "$2" "$icon"
}
plugins=(git bgnotify) ## add to plugins list
source $ZSH/oh-my-zsh.sh ## existing source call