From 747af1cccbfbb99fae3661c49b5ad2ccf3d3c493 Mon Sep 17 00:00:00 2001 From: Kr1ss Date: Thu, 25 Feb 2021 17:23:11 +0100 Subject: [PATCH] mailsync/notify-send: provide a default `$DISPLAY` A user reports notifications not working on their setup because there is no display id contained in the `ps`/`pgrep` output concerning the Xorg process. This commit checks if there's a display server running at all, and if so it sends notifications even if there's no display id. Resolves https://github.com/LukeSmithxyz/mutt-wizard/issues/661 --- bin/mailsync | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/bin/mailsync b/bin/mailsync index 6741804..ba0a4b5 100755 --- a/bin/mailsync +++ b/bin/mailsync @@ -39,12 +39,14 @@ case "$(uname)" in messageinfo() { osascript -e "display notification with title \"📧 $from\" subtitle \"$subject\"" ;} ;; *) - displays="$(pgrep -a X\(org\|wayland\) | grep -wo "[0-9]*:[0-9]\+" | sort -u)" - notify() { for x in $displays; do + # remember if a display server is running since `ps` doesn't always contain a display + pgrepoutput="$(pgrep -a X\(org\|wayland\))" + displays="$(echo "$pgrepoutput" | grep -wo "[0-9]*:[0-9]\+" | sort -u)" + notify() { [ -n "$pgrepoutput" ] && for x in ${displays:-0:}; do export DISPLAY=$x notify-send --app-name="mutt-wizard" "mutt-wizard" "📬 $2 new mail(s) in \`$1\` account." done ;} - messageinfo() { for x in $displays; do + messageinfo() { [ -n "$pgrepoutput" ] && for x in ${displays:-0:}; do export DISPLAY=$x notify-send --app-name="mutt-wizard" "📧$from:" "$subject" done ;}