#!/usr/bin/env bash ######################################################## # Notifications ######################################################## TITLE="$0" NTFY_CHANNEL="example" # отправляет простую нотификацию ntfy_info() { require ntfy ntfy send \ --title "$TITLE" \ --message "$1" \ --priority 1 \ "$NTFY_CHANNEL" } # отправляет нотификацию с предупреждением ntfy_warn() { require ntfy ntfy send \ --title "$TITLE" \ --tags "warning" \ --message "$1" \ --priority 5 \ "$NTFY_CHANNEL" } notify () { if ! installed "notify-send"; then warning "Notifications toggled on, but 'notify-send' is not installed!" return 1 fi [ -n "$1" ] && local title="$1" local text="$2" local level="$3" local icon="$4" case "$level" in critical) local timeout=0 ;; low) local timeout=5000 ;; *) local timeout=10000 ;; esac debug "$title / $text / $level / $icon / $timeout" notify-send "$title" "$text" -a "$0" -u "$level" -i "$icon" -t $timeout } # TODO: docblock notify_error() { notify "Error" "$1" "critical" "dialog-error" } # TODO: docblock notify_warning() { notify "Warning" "$1" "normal" "dialog-warning" } # TODO: docblock notify_info() { notify "" "$1" "low" "dialog-information" }