From 3049b27fa5c7874db802b8fbdf2e016abe87fd9e Mon Sep 17 00:00:00 2001 From: Luke Smith Date: Mon, 5 Mar 2018 23:38:22 -0700 Subject: [PATCH] notify system added --- README.md | 3 +++ etc/mailsync.sh | 23 +++++++++++++++++++++++ etc/notify.opus | Bin 0 -> 28900 bytes mutt-wizard.sh | 29 ++++++++++++++++++++--------- muttrc | 3 ++- 5 files changed, 48 insertions(+), 10 deletions(-) create mode 100755 etc/mailsync.sh create mode 100644 etc/notify.opus diff --git a/README.md b/README.md index 8abc1b0..352437b 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,7 @@ The system takes an email and autodetect its server settings, generating a muttr + Multiple account management in mutt: jump from account to account with the `i` prefix in mutt: `i1`: first email account, `i5`: fifth, etc. + Easy movement to mail folders in mutt: `gi`: go to inbox, `gs` to sent mail, `ga` to archive, `gS` to spam, `gd` to drafts, etc. + Some default controls and colors. This system is going to be integrated into my [public auto-rice script](https://larbs.xyz) so I want it to look pretty and be usable out the box. ++ An optional autosync script that will smartly run offlineimap when connected to the internet at what interval you want and will notify you with a ding when new mail arrives. ### Will it work on my email? (95% yes) @@ -50,6 +51,8 @@ The automatically deployed configs will look for certain programs for certain ex + `mupdf` -- for viewing attached pdfs (`v` to view attachments, then select .pdf) + `notmuch` -- for mail searching and indexing set to `ctrl-f`. Be sure to run `notmuch setup`. Remember your mail is in `~/.mail/` when you configure notmuch. + `w3m` and/or `w3mimg` -- for viewing images. Like .pdfs, view in the attachments menu. ++ A cron manager if you want the autosync feature. ++ `mpv` if you want the autosync feature to notify you with a ding on new mail. ### "Wait? The script asks for my passwords?" diff --git a/etc/mailsync.sh b/etc/mailsync.sh new file mode 100755 index 0000000..14b165e --- /dev/null +++ b/etc/mailsync.sh @@ -0,0 +1,23 @@ +#!/bin/sh +# This script will run offlineimap and check +# for new email if there is an internet connection. +# +# If it detects new mail, it uses mpv to play a +# notification sound: notify.opus +# +# I have this run as a cronjob every 5 minutes. + +# Check for internet connection. Exit script if none. +ping -q -w 1 -c 1 `ip r | grep default | cut -d ' ' -f 3` >/dev/null || exit + +# Get current number of new mail, then begin sync. +ori=$(find ~/.mail -wholename '*/new/*' | grep /new/ | grep -vi "spam\|trash\|junk" | wc -l) +offlineimap -o + +# Output new new mail count. +new=$(find ~/.mail -wholename '*/new/*' | grep /new/ | grep -vi "spam\|trash\|junk" | wc -l) + +# If new mail has grown, play a notification. +if [ "$new" -gt "$ori" ]; then + mpv --quiet ~/.config/mutt/etc/notify.opus +fi diff --git a/etc/notify.opus b/etc/notify.opus new file mode 100644 index 0000000000000000000000000000000000000000..a76ce320aadb77f4b5bd82ad8d98afff621c79bf GIT binary patch literal 28900 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 1>&2 2>&3 3>&-) + (crontab -l; echo "*/$min * * * * /home/$(whoami)/.config/mutt/etc/mailsync.sh") | crontab - && + dialog --msgbox "Cronjob successfully added. Remember you may need to restart or tell systemd/etc. to start your cron manager for this to take effect." 7 60 ;} + +removeSync() { ((crontab -l | sed -e '/.config\/mutt\/etc\/mailsync/d') | crontab - >/dev/null) && dialog --msgbox "Cronjob successfully removed. To reactivate, select this option again." 6 60 ;} + changePassword() { \ gpgemail=$( dialog --title "Luke's mutt/offlineIMAP password wizard" --inputbox "Insert the email address with which you originally created your GPG key pair. This is NOT necessarily the email you want to configure." 10 60 3>&1 1>&2 2>&3 3>&- ) dialog --title "Luke's mutt/offlineIMAP password wizard" --passwordbox "Enter the new password for the \"$1\" account." 10 60 2> /tmp/$1 @@ -206,14 +215,15 @@ wipe () { rm $HOME/.offlineimaprc while : ; do choice=$(dialog --title "Luke's mutt/offlineIMAP wizard" --nocancel \ - --menu "What would you like to do?" 14 45 7 \ + --menu "What would you like to do?" 16 45 8 \ 0 "List all email accounts configured." \ 1 "Add an email account." \ 2 "Auto-detect mailboxes for an account." \ - 3 "Change an account's password." \ - 4 "Remove an email account." \ - 5 "Remove all email accounts." \ - 6 "Exit this wizard." \ + 3 "Enable/disable autosync." \ + 4 "Change an account's password." \ + 5 "Remove an email account." \ + 6 "Remove all email accounts." \ + 7 "Exit this wizard." \ 3>&1 1>&2 2>&3 3>&1 ) case $choice in @@ -222,9 +232,10 @@ $(grep ~/.offlineimaprc -e "^accounts =" | sed 's/accounts =//g') " 6 60;; 1) chooseAdd;; 2) detectWarning && chooseDetect ;; -3) inventory && for i in $userchoices; do changePassword $i ; done;; -4) inventory && for i in $userchoices; do removeAccount $i ; done;; -5) (dialog --defaultno --title "Wipe all custom neomutt/offlineIMAP settings?" --yesno "Would you like to wipe all of the mutt/offlineIMAP settings generated by the system?" 6 60 && wipe) ;; -6) clear && break ;; +3) chooseSync;; +4) inventory && for i in $userchoices; do changePassword $i ; done;; +5) inventory && for i in $userchoices; do removeAccount $i ; done;; +6) (dialog --defaultno --title "Wipe all custom neomutt/offlineIMAP settings?" --yesno "Would you like to wipe all of the mutt/offlineIMAP settings generated by the system?" 6 60 && wipe) ;; +7) clear && break ;; esac done diff --git a/muttrc b/muttrc index 5988901..041198f 100644 --- a/muttrc +++ b/muttrc @@ -13,7 +13,8 @@ set timeout = "5" set mail_check = "10" set mailcap_path = ~/.config/mutt/etc/mailcap set date_format="%m/%d %I:%M" -set index_format="%2C %Z %?X?A& ? %D %-15.15F %s (%-4.4c)" +set index_format="%2C %?X?A& ? %D %-15.15F %s (%-4.4c)" +#set index_format="%2C %Z %?X?A& ? %D %-15.15F %s (%-4.4c)" set forward_format = "Fwd: %s" set markers = no set mark_old = no