diff options
author | Kr1ss <kr1ss.x@yandex.com> | 2021-02-25 17:23:11 +0100 |
---|---|---|
committer | Kr1ss <kr1ss.x@yandex.com> | 2021-02-25 17:23:11 +0100 |
commit | 747af1cccbfbb99fae3661c49b5ad2ccf3d3c493 (patch) | |
tree | 314972b332f089bb069709e41bf59db01d15e508 /bin/mailsync | |
parent | 4ea5f0fc2a331e6b856a49331c1fff7659ebfcf5 (diff) |
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 (limited to 'bin/mailsync')
-rwxr-xr-x | bin/mailsync | 8 |
1 files 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 ;} |