|
123456789101112131415161718192021222324252627282930313233343536373839 |
- #!/bin/sh
- muttdir="$HOME/.config/mutt/"
-
- # This script will remove an account from ~/.offlineimaprc and the
- # designated location in ~/.config/mutt/accounts.
-
- # Feed the script the title of the account.
-
- cat ~/.offlineimaprc | grep "^accounts =" | sed -e 's/accounts =\( \)//g;s/\(,\) /\n/g;' | nl --number-format=ln > /tmp/numbered
-
- removeAccount() { sed -ie "
- /Account $1]/,/Account/{//!d}
- /Account $1]/d
- s/ $1\(,\|$\)//g
- s/=$1\(,\|$\)/=/g
- s/,$//g
- " ~/.offlineimaprc
- rm "$muttdir"accounts/$1.muttrc
- rm "$muttdir"credentials/$1.gpg
- rm -rf "$muttdir"accounts/$1
- echo $1 deleted. ;}
-
- #/tmp/numbered
-
- accounts=()
- while read n s ; do
- accounts+=($n "$s" off)
- done < /tmp/numbered
-
- choices=$(dialog --separate-output --checklist "Choose an email account to remove." 22 76 16 "${accounts[@]}" 2>&1 >/dev/tty)
- clear
-
- if [ -z "$choices" ];
- then
- clear
- else
- todelet=$(IFS="|"; keys="${choices[*]}"; keys="${keys//|/\\|}"; grep -w "${keys}" /tmp/numbered | awk '{print $2}')
- for i in $todelet; do removeAccount $i; done
- fi
|