diff options
-rwxr-xr-x | i3blocks/mailbox.sh | 20 | ||||
-rwxr-xr-x | mail.sh | 9 | ||||
-rwxr-xr-x | syncMail.sh | 10 |
3 files changed, 39 insertions, 0 deletions
diff --git a/i3blocks/mailbox.sh b/i3blocks/mailbox.sh new file mode 100755 index 0000000..89fb49a --- /dev/null +++ b/i3blocks/mailbox.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +# i3blocks mail module. +# Displays number of unread mail and an loading icon if updating. +# When clicked, brings up `neomutt`. + +case $BLOCK_BUTTON in + 1) "$TERMINAL" -e mail.sh ;; + 2) setsid "$HOME/scripts/floats/urxvtFloat.sh" 66 3 syncMail.sh >/dev/null & ;; + 3) pgrep -x dunst >/dev/null && dunstify "📬 Mail module" "\- Shows unread mail +- Shows 🔃 if syncing mail +- Left click opens neomutt +- Middle click syncs mail" ;; +esac + +gmailN="$(du -a ~/.mail/gmail/INBOX/new/* 2>/dev/null | sed -n '$=')" +[ "$gmailN" ] || gmailN="0" +unioviN="$(du -a ~/.mail/uniovi/INBOX/new/* 2>/dev/null | sed -n '$=')" +[ "$unioviN" ] || unioviN="0" +echo "$(cat /tmp/imapsyncicon) Gmail: $gmailN uniovi: $unioviN" @@ -0,0 +1,9 @@ +#!/bin/sh + +# Opens a mailbox using neomutt (and isync if neomutt configured to do so) + +pkill -SIGRTMIN+15 i3blocks +account="$(printf "gmail\nuniovi" | fzf)" +[ "$account" = "gmail" ] && neomutt -F "$HOME/.config/mutt/gmmuttrc" +[ "$account" = "uniovi" ] && neomutt -F "$HOME/.config/mutt/cumuttrc" +pkill -SIGRTMIN+15 i3blocks diff --git a/syncMail.sh b/syncMail.sh new file mode 100755 index 0000000..ecaa05a --- /dev/null +++ b/syncMail.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +# Calls mbsync (isync binary) to syncronize mailboxes + +echo "🔃" > /tmp/imapsyncicon +pkill -SIGRTMIN+15 i3blocks +mbsync -c ~/.config/isync/gmmbsyncrc -a +mbsync -c ~/.config/isync/uombsyncrc -a +rm /tmp/imapsyncicon +pkill -SIGRTMIN+15 i3blocks |