This commit is contained in:
FlowBreeze 2024-09-01 20:15:08 +05:30 committed by GitHub
commit 2f806dea9c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -165,6 +165,25 @@ function _auto_notify_reset_tracking() {
unset AUTO_COMMAND
}
function _has_notification_service() {
# Check dbus-send command exists
if ! type dbus-send > /dev/null; then
# perhaps it should run notify-send
print "unknown"
return
fi
local interfaces="$(dbus-send --session \
--type=method_call \
--print-reply \
--dest=org.freedesktop.DBus \
/org/freedesktop/DBus org.freedesktop.DBus.ListNames)"
if [[ $interfaces == *"org.freedesktop.Notifications"* ]]; then
print "yes"
else
print "no"
fi
}
function disable_auto_notify() {
add-zsh-hook -D preexec _auto_notify_track
add-zsh-hook -D precmd _auto_notify_send
@ -183,6 +202,8 @@ platform="$(uname)"
if [[ "$platform" == "Linux" ]] && ! type notify-send > /dev/null; then
printf "'notify-send' must be installed for zsh-auto-notify to work\n"
printf "Please install it with your relevant package manager\n"
elif [[ "$platform" == "Linux" ]] && [[ "$(_has_notification_service)" == "no" ]]; then
# do not enable
else
enable_auto_notify
fi