commit 747af1cccbfbb99fae3661c49b5ad2ccf3d3c493
parent 4ea5f0fc2a331e6b856a49331c1fff7659ebfcf5
Author: Kr1ss <kr1ss.x@yandex.com>
Date: Thu, 25 Feb 2021 17:23:11 +0100
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
Diffstat:
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git 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 ;}