40 lines
1.0 KiB
Bash
Executable File
40 lines
1.0 KiB
Bash
Executable File
#!/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
|