summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKr1ss <kr1ss.x@yandex.com>2021-02-25 17:23:11 +0100
committerKr1ss <kr1ss.x@yandex.com>2021-02-25 17:23:11 +0100
commit747af1cccbfbb99fae3661c49b5ad2ccf3d3c493 (patch)
tree314972b332f089bb069709e41bf59db01d15e508
parent4ea5f0fc2a331e6b856a49331c1fff7659ebfcf5 (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
-rwxr-xr-xbin/mailsync8
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 ;}