mutt-wizard

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

commit 039dec817e2f6f8a0ab3f886dfeeba4aecf2b2cf
parent b56686aae5721da0f26bfac28b97635a363896e7
Author: Luke Smith <luke@lukesmith.xyz>
Date:   Sun, 24 Jan 2021 08:28:50 -0500

Merge branch 'master' of github.com:LukeSmithxyz/mutt-wizard

Diffstat:
MFUNDING.yml | 2+-
MREADME.md | 4++--
Mbin/mailsync | 8+++++---
Mbin/mw | 6++++--
Mshare/domains.csv | 4++++
5 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/FUNDING.yml b/FUNDING.yml @@ -1,3 +1,3 @@ github: lukesmithxyz -custom: ["https://lukesmith.xyz/donate", "https://paypal.me/lukemsmith", "https://lukesmith.xyz/crypto"] +custom: ["https://lukesmith.xyz/donate", "https://paypal.me/lukemsmith"] patreon: lukesmith diff --git a/README.md b/README.md @@ -45,8 +45,8 @@ cd mutt-wizard sudo make install ``` -A user of Arch-based distros can also install mutt-wizard from the AUR as -[mutt-wizard-git](https://aur.archlinux.org/packages/mutt-wizard-git/). +A user of Arch-based distros can also install the current mutt-wizard release from the AUR as +[mutt-wizard](https://aur.archlinux.org/packages/mutt-wizard/), or the Github master branch, [mutt-wizard-git](https://aur.archlinux.org/packages/mutt-wizard-git/). ### Optional Dependencies diff --git a/bin/mailsync b/bin/mailsync @@ -22,7 +22,7 @@ pgrep -x mbsync >/dev/null && { echo "mbsync is already running." ; exit ;} # will work on the maximum number of machines. eval "$(grep -h -- \ "^\s*\(export \)\?\(MBSYNCRC\|PASSWORD_STORE_DIR\|NOTMUCH_CONFIG\|GNUPGHOME\)=" \ - "$HOME/.profile" "$HOME/.bash_profile" "$HOME/.zprofile" "$HOME/.bashrc" "$HOME/.zshrc" "$HOME/.pam_environment" 2>/dev/null)" + "$HOME/.profile" "$HOME/.bash_profile" "${ZDOTDIR:-$HOME}/.zprofile" "$HOME/.bashrc" "${ZDOTDIR:-$HOME}/.zshrc" "$HOME/.pam_environment" 2>/dev/null)" # One alternative to this kind of command would be marking the script for # /bin/sh -l. That might cause other problems on other particular setups that # do more complicated things on login, or those people who assign environmental @@ -33,6 +33,8 @@ case "$(readlink -f /sbin/init)" in esac export GPG_TTY=$TTY +muttconfig="${XDG_CONFIG_HOME:-$HOME/.config}/mutt" + [ -n "$MBSYNCRC" ] && alias mbsync="mbsync -c $MBSYNCRC" || MBSYNCRC="$HOME/.mbsyncrc" # Settings are different for MacOS (Darwin) systems. @@ -58,7 +60,7 @@ esac syncandnotify() { acc="$(echo "$account" | sed "s/.*\///")" if [ -z "$opts" ]; then mbsync "$acc"; else mbsync "$opts" "$acc"; fi - new=$(find "$HOME/.local/share/mail/$acc/INBOX/new/" "$HOME/.local/share/mail/$acc/Inbox/new/" "$HOME/.local/share/mail/$acc/inbox/new/" -type f -newer "$HOME/.config/mutt/.mailsynclastrun" 2> /dev/null) + new=$(find "$HOME/.local/share/mail/$acc/INBOX/new/" "$HOME/.local/share/mail/$acc/Inbox/new/" "$HOME/.local/share/mail/$acc/inbox/new/" -type f -newer "$muttconfig/.mailsynclastrun" 2> /dev/null) newcount=$(echo "$new" | sed '/^\s*$/d' | wc -l) if [ "$newcount" -gt "0" ]; then notify "$acc" "$newcount" & @@ -91,4 +93,4 @@ wait notmuch new 2>/dev/null #Create a touch file that indicates the time of the last run of mailsync -touch "$HOME/.config/mutt/.mailsynclastrun" +touch "$muttconfig/.mailsynclastrun" diff --git a/bin/mw b/bin/mw @@ -25,7 +25,7 @@ checkbasics() { command -V gpg >/dev/null 2>&1 && GPG="gpg" || GPG="gpg2" [ -r "$PASSWORD_STORE_DIR/.gpg-id" ] && "$GPG" --list-secret-keys "$(cat "$PASSWORD_STORE_DIR/.gpg-id")" >/dev/null 2>&1 || { echo "First run \`pass init <yourgpgemail>\` to set up a password archive." - echo "(If you don't already have a GPG key pair, first run \`$GPG --fullgenkey\`.)" + echo "(If you don't already have a GPG key pair, first run \`$GPG --full-gen-key\`.)" exit 1 ;} ;} getaccounts() { accounts="$(find -L "$accdir" -type f | grep -o "[0-9]-.*.muttrc" | sed "s/-/: /;s/\.muttrc$//" | sort -n)" ;} @@ -122,6 +122,7 @@ bind index,pager g noop bind index,pager M noop bind index,pager C noop bind index gg first-entry +unmacro index o unmailboxes * " fi @@ -236,7 +237,7 @@ Junk Trash Sent Archive" && return 0 - info="$(curl --location-trusted -s -m 5 --user "$login:$(pass $pass_prefix$fulladdr)" --url "${protocol:-imaps}://$imap")" + info="$(curl --location-trusted -s -m 5 --user "$login:$(pass $pass_prefix$fulladdr)" --url "${protocol:-imaps}://$imap:${iport:-993}")" [ -z "$info" ] && echo "Log-on not successful." && return 1 mailboxes="$(echo "$info" | sed "s/.*\" //;s/\"//g" | tr -d '')" } @@ -351,6 +352,7 @@ while getopts "fplhodTYD:y:i:I:s:S:u:a:n:x:m:t:" o; do case "${o}" in t) setact toggle || exit 1 ; cronmin="$OPTARG" ;; T) setact toggle || exit 1 ;; p) echo "NOTE: Protonmail users must install and configure Protonmail Bridge first for the first sync to work." + protocol="imap" imap="127.0.0.1" iport="1143" smtp="127.0.0.1" diff --git a/share/domains.csv b/share/domains.csv @@ -12,6 +12,7 @@ airmail.cc,mail.cock.li,993,mail.cock.li,587 allergist.com,imap.mail.com,993,smtp.mail.com,587 alumni.bits-pilani.ac.in,imap.gmail.com,993,smtp.gmail.com,465 alumni.com,imap.mail.com,993,smtp.mail.com,587 +alumni.unitn.it,imap.gmail.com,993,smtp.gmail.com,587 alumnidirector.com,imap.mail.com,993,smtp.mail.com,587 alunos.utfpr.edu.br,imap.gmail.com,993,smtp.gmail.com,587 anche.no,mail.autistici.org,993,smtp.autistici.org,465 @@ -93,6 +94,7 @@ ethancoe.com,mail.privateemail.com,993,mail.privateemail.com,465 ethz.ch,mail.ethz.ch,993,mail.ethz.ch,587 etu.upmc.fr,courriel.upmc.fr,993,smtps.upmc.fr,587 europe.com,imap.mail.com,993,smtp.mail.com,587 +ex-studenti.unitn.it,imap.gmail.com,993,smtp.gmail.com,587 fastmail.com,imap.fastmail.com,993,smtp.fastmail.com,465 fastmail.fm,imap.fastmail.com,993,smtp.fastmail.com,465 firemail.cc,mail.cock.li,993,mail.cock.li,587 @@ -241,6 +243,7 @@ student.tuwien.ac.at,mail.student.tuwien.ac.at,993,mail.student.tuwien.ac.at,587 student.uj.edu.pl,outlook.office365.com,993,smtp.office365.com,587 student.utwente.nl,imap.gmail.com,993,smtp.gmail.com,587 studenti.unipi.it,outlook.office365.com,993,smtp.office365.com,587 +studenti.unitn.it,imap.gmail.com,993,smtp.gmail.com,587 students.rmcacs.org,imap.gmail.com,993,smtp.gmail.com,587 students.southwales.ac.uk,imap.gmail.com,993,smtp.gmail.com,587 studio.unibo.it,outlook.office365.com,993,smtp.office365.com,587 @@ -267,6 +270,7 @@ uni-jena.de,imap.uni-jena.de,993,smtp.uni-jena.de,587 unilodz.eu,outlook.office365.com,993,smtp.office365.com,587 unitybox.de,mail.unity-mail.de,993,mail.unity-mail.de,587 univ-ubs.fr,partage.univ-ubs.fr,993,partage.univ-ubs.fr,587 +unitn.it,imap.gmail.com,993,smtp.gmail.com,587 uoregon.edu,imap.uoregon.edu,993,smtp.uoregon.edu,587 uqtr.ca,outlook.office365.com,993,smtp.office365.com,587 usa.com,imap.mail.com,993,smtp.mail.com,587