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
 |