mutt-wizard

fork of Luke Smiths mutt-wizard
git clone git://git.jakekoroman.com/mutt-wizard
Log | Files | Refs | README | LICENSE

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:
Mbin/mailsync | 8+++++---
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 ;}