Unverified Commit 8d58994d authored by Matthieu Baerts's avatar Matthieu Baerts Committed by GitHub

feat(zbell): add option not to use notify-send (#10082)

parent 65bbd24e
...@@ -24,6 +24,9 @@ These settings need to be set in your zshrc file, before Oh My Zsh is sourced. ...@@ -24,6 +24,9 @@ These settings need to be set in your zshrc file, before Oh My Zsh is sourced.
zbell_ignore=($EDITOR $PAGER) zbell_ignore=($EDITOR $PAGER)
``` ```
- `zbell_use_notify_send`: If set to `true`, `notify-send` tool is used -- if
available -- to display a popup on the screen. Default: `true` (enabled).
## Author ## Author
Adapted from an original version by [Jean-Philippe Ouellet](https://github.com/jpouellet). Adapted from an original version by [Jean-Philippe Ouellet](https://github.com/jpouellet).
......
...@@ -29,18 +29,31 @@ autoload -Uz regexp-replace || return ...@@ -29,18 +29,31 @@ autoload -Uz regexp-replace || return
# initialize zbell_ignore if not set # initialize zbell_ignore if not set
(( ${+zbell_ignore} )) || zbell_ignore=($EDITOR $PAGER) (( ${+zbell_ignore} )) || zbell_ignore=($EDITOR $PAGER)
# initialize zbell_use_notify_send if not set
(( ${+zbell_use_notify_send} )) || zbell_use_notify_send=true
# initialize it because otherwise we compare a date and an empty string # initialize it because otherwise we compare a date and an empty string
# the first time we see the prompt. it's fine to have lastcmd empty on the # the first time we see the prompt. it's fine to have lastcmd empty on the
# initial run because it evaluates to an empty string, and splitting an # initial run because it evaluates to an empty string, and splitting an
# empty string just results in an empty array. # empty string just results in an empty array.
zbell_timestamp=$EPOCHSECONDS zbell_timestamp=$EPOCHSECONDS
# UI notification function
# $1: command
# $2: duration in seconds
zbell_ui_notify() {
[[ $zbell_use_notify_send != "true" ]] && return
if type notify-send > /dev/null; then
notify-send -i terminal "Command completed in ${2}s:" $1
fi
}
# default notification function # default notification function
# $1: command # $1: command
# $2: duration in seconds # $2: duration in seconds
zbell_notify() { zbell_notify() {
type notify-send > /dev/null && \ zbell_ui_notify "${@}"
notify-send -i terminal "Command completed in ${2}s:" $1
print -n "\a" print -n "\a"
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment