diff --git a/README.rst b/README.rst index e5dad79..ce7c081 100644 --- a/README.rst +++ b/README.rst @@ -121,6 +121,17 @@ NOTE: This configuration option currently only works for Linux. # Set notification expiry to 10 seconds export AUTO_NOTIFY_EXPIRE_TIME=10000 + +**Notification Urgency Level** + +By default non zero exit codes lead to critical notifications. +On some systems (KDE) critical notifications will never expire. +You can override notification urgency by setting the environment variable ``"AUTO_NOTIFY_URGENCY"`` to ``"low"``, ``"normal"``, or ``"critical``. +NOTE: This configuration option currently only works for Linux. + +:: + # Force all notifications to have normal urgency + export AUTO_NOTIFY_URGENCY="normal" **Ignored Commands** diff --git a/auto-notify.plugin.zsh b/auto-notify.plugin.zsh index 5ed5c95..63d8f27 100644 --- a/auto-notify.plugin.zsh +++ b/auto-notify.plugin.zsh @@ -9,6 +9,9 @@ export AUTO_NOTIFY_IGNORE=( "vim" "nvim" "less" "more" "man" "tig" "watch" "git commit" "top" "htop" "ssh" "nano" ) +# Override notification urgency +# export AUTO_NOTIFY_URGENCY="normal" + function _auto_notify_format() { local MESSAGE="$1" local command="$2" @@ -37,8 +40,12 @@ function _auto_notify_message() { if [[ "$platform" == "Linux" ]]; then local urgency="normal" - if [[ "$exit_code" != "0" ]]; then - urgency="critical" + if [[ -z $AUTO_NOTIFY_URGENCY ]]; then + if [[ "$exit_code" != "0" ]]; then + urgency="critical" + fi + else + urgency=$AUTO_NOTIFY_URGENCY fi notify-send "$title" "$body" --app-name=zsh "--urgency=$urgency" "--expire-time=$AUTO_NOTIFY_EXPIRE_TIME" elif [[ "$platform" == "Darwin" ]]; then