From 1e7a2fa0d33d27894dfb7d574610855424dba2f7 Mon Sep 17 00:00:00 2001 From: Luke Smith Date: Fri, 5 Feb 2021 15:22:16 -0500 Subject: [PATCH] -X to delete local mail when deleting account --- bin/mw | 7 +++++-- mw.1 | 7 +++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/bin/mw b/bin/mw index 23d9e68..58b5f0f 100755 --- a/bin/mw +++ b/bin/mw @@ -169,6 +169,7 @@ delete() { if [ -z "${fulladdr+x}" ]; then sed -ibu "/[0-9]-$fulladdr.muttrc/d" "$muttrc" ; rm -f "$muttrc"bu sed -ibu "/account $fulladdr/,/^\(\s*$\|account\)/d" "$msmtprc"; rm -f "$msmtprc"bu pass rm -f "$fulladdr" >/dev/null 2>&1 + [ -n "${purge+x}" ] && rm -rf "${maildir:?}/${fulladdr:?}" # Get rid of those multiple newlines because I don't know awk well enough to do it by default lol. for file in "$msmtprc" "$mbsyncrc"; do @@ -305,7 +306,8 @@ Options allowed with -a: -S SMTP server port -x Password for account (recommended to be in double quotes) -p Install for a Protonmail account. - -P Add for a POP server instead of IMAP + -P Add for a POP server instead of IMAP. + -X Delete an account's local email too when deleting. -o Configure address, but keep mail online. -f Assume typical English mailboxes without attempting log-on. @@ -316,7 +318,7 @@ To change an account's password, run \`pass edit your@email.com\`. EOF } -while getopts "fpPlhodTYD:y:i:I:s:S:u:a:n:x:m:t:" o; do case "${o}" in +while getopts "fpPXlhodTYD:y:i:I:s:S:u:a:n:x:m:t:" o; do case "${o}" in l) setact list || exit 1 ;; d) setact delete || exit 1 ;; D) setact delete || exit 1 ; fulladdr="$OPTARG" ;; @@ -334,6 +336,7 @@ while getopts "fpPlhodTYD:y:i:I:s:S:u:a:n:x:m:t:" o; do case "${o}" in P) setact add || exit 1 ; type="pop" ;; f) setact add || exit 1 ; force=True ;; x) setact add || exit 1 ; password="$OPTARG" ;; + X) setact delete || exit 1 ; purge=True ;; 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." diff --git a/mw.1 b/mw.1 index 6e971c2..a9ea0bd 100644 --- a/mw.1 +++ b/mw.1 @@ -79,6 +79,13 @@ connection will still be attempted in setup to discover mailboxes. .TP .B -p Add a Protonmail account. Protonmail Bridge must be installed and set up. +.TP +.B -X +When removing an email profile with either +.I -d +or +.I -D, +also delete the local mail (will not delete the mail on the server). .SH DETAILS .TP .B mailsync