From 8330175b037360e480fe0221c668ca297a862b2b Mon Sep 17 00:00:00 2001 From: Luke Smith Date: Fri, 16 Mar 2018 12:10:16 -0700 Subject: mailbox detect now automatic on account add --- mutt-wizard.sh | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'mutt-wizard.sh') diff --git a/mutt-wizard.sh b/mutt-wizard.sh index 18ee806..9995ffa 100755 --- a/mutt-wizard.sh +++ b/mutt-wizard.sh @@ -2,6 +2,12 @@ muttdir="$HOME/.config/mutt/" +createMailboxes() { rm -f "$muttdir"autoconf/log + offlineimap --info -a $1 2&> "$muttdir"autoconf/log + for box in $(sed -n '/^Folderlist/,/^Folderlist/p' "$muttdir"autoconf/log | + grep "^ " | awk '{print $1}' | sed -e 's/\//./g') + do mkdir -p $HOME/.mail/$1/$box; echo mkdir -p $HOME/.mail/$1/$box; done ;} + chooseSync() { (crontab -l && testSync) || dialog --msgbox "No cronjob manager detected. Please install one and return to enable automatic mailsyncing" 10 60 ;} testSync() { (crontab -l | grep .config/mutt/etc/mailsync && removeSync) || addSync ;} @@ -189,12 +195,12 @@ addAccount() { grep "$muttdir"personal.muttrc -e "^source .*accounts.*" >/dev/null && echo there || \ echo "source ${muttdir}accounts/$title.muttrc" >> "$muttdir"personal.muttrc - dialog --title "Finalizing your account." --msgbox "The account \"$title\" has been added. Now to finalize installation, do the following: - - 1) Run offlineimap to start the sync. This will start your mail sync. - 2) After or while running offlineimap, choose the \"autodetect mailboxes\" option, which will finalize your config files based on the directory structure of the downloaded mailbox. + dialog --title "Finalizing your account." --infobox "The account \"$title\" has been added. Now attempting to configure mail directories... - After that, you will be able to open neomutt to your email account." 13 80 ;} + This may take several seconds..." 10 70 + createMailboxes $title || (clear && exit) + detectMailboxes $title + dialog --title "Account added." --msgbox "Your "$fulladdr" account has been added. To start the download of your mail, you can manually run \`offlineimap -a $title\` in a terminal. The first sync may take some time depending on the amount of your mail." 8 60 ;} # This is run when a user chooses to add an account. chooseAdd() { \ -- cgit v1.2.3 From 4abc05bfb55b012e5d4082423b0565b59f85a05c Mon Sep 17 00:00:00 2001 From: Luke Smith Date: Fri, 16 Mar 2018 12:14:25 -0700 Subject: personal.muttrc remove fix --- mutt-wizard.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mutt-wizard.sh') diff --git a/mutt-wizard.sh b/mutt-wizard.sh index 9995ffa..8bad868 100755 --- a/mutt-wizard.sh +++ b/mutt-wizard.sh @@ -112,7 +112,7 @@ removeAccount() { sed -ie " rm "$muttdir"accounts/$1.muttrc rm "$muttdir"credentials/$1.gpg rm -rf "$muttdir"accounts/$1 - sed -i '/$1.muttrc/d' "$muttdir"personal.muttrc ;} + sed -i "/$1.muttrc/d" "$muttdir"personal.muttrc ;} manual() { \ imap=$( dialog --inputbox "Insert the IMAP server for your email provider (excluding the port number)" 10 60 3>&1 1>&2 2>&3 3>&- ) -- cgit v1.2.3 From 0a4b4674a5a61ec7a227cee6aa69ad52c7f7acc8 Mon Sep 17 00:00:00 2001 From: Luke Smith Date: Fri, 16 Mar 2018 12:16:46 -0700 Subject: silly echo removed --- mutt-wizard.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mutt-wizard.sh') diff --git a/mutt-wizard.sh b/mutt-wizard.sh index 7d8325a..5a1e001 100755 --- a/mutt-wizard.sh +++ b/mutt-wizard.sh @@ -13,7 +13,7 @@ createMailboxes() { rm -f "$muttdir"autoconf/log offlineimap --info -a $1 2&> "$muttdir"autoconf/log for box in $(sed -n '/^Folderlist/,/^Folderlist/p' "$muttdir"autoconf/log | grep "^ " | awk '{print $1}' | sed -e 's/\//./g') - do mkdir -p $HOME/.mail/$1/$box; echo mkdir -p $HOME/.mail/$1/$box; done ;} + do mkdir -p $HOME/.mail/$1/$box; done ;} chooseSync() { (crontab -l && testSync) || dialog --msgbox "No cronjob manager detected. Please install one and return to enable automatic mailsyncing" 10 60 ;} testSync() { (crontab -l | grep .config/mutt/etc/mailsync && removeSync) || addSync ;} -- cgit v1.2.3 From 459ca7d5a0f9737dba5fb42315dac0237397c8fb Mon Sep 17 00:00:00 2001 From: Luke Smith Date: Fri, 16 Mar 2018 12:34:46 -0700 Subject: interface tweaks --- README.md | 4 ++-- mutt-wizard.sh | 24 +++++++++++------------- 2 files changed, 13 insertions(+), 15 deletions(-) (limited to 'mutt-wizard.sh') diff --git a/README.md b/README.md index 341ced8..7d34042 100644 --- a/README.md +++ b/README.md @@ -10,8 +10,8 @@ The mutt-wizard is all of this in a simple ncurses menu. It's really just a litt The system takes an email and autodetect its server settings, generating a muttrc and offlineimaprc profile automatically. If it can't do so, it simply prompts you for these (which you can easily look up) and will put them all in the right places. You get: -+ Automatic configuration of mutt and offlineimap -+ Automatic encryption and safe storage of passwords which are used by mutt and offlineimap when necessary ++ Automatic configuration of mutt and offlineimap. ++ Automatic encryption and safe storage of passwords which are used by mutt and offlineimap when necessary. + Multiple account management in mutt: jump from account to account with the `i` prefix in mutt: `i1`: first email account, `i5`: fifth, etc. + Easy movement to mail folders in mutt: `gi`: go to inbox, `gs` to sent mail, `ga` to archive, `gS` to spam, `gd` to drafts, etc. + Some default controls and colors. This system is going to be integrated into my [public auto-rice script](https://larbs.xyz) so I want it to look pretty and be usable out the box. diff --git a/mutt-wizard.sh b/mutt-wizard.sh index 5a1e001..1fd21a8 100755 --- a/mutt-wizard.sh +++ b/mutt-wizard.sh @@ -228,15 +228,14 @@ wipe () { rm $HOME/.offlineimaprc while : ; do choice=$(dialog --title "Luke's mutt/offlineIMAP wizard" --nocancel \ - --menu "What would you like to do?" 16 45 8 \ + --menu "What would you like to do?" 14 45 7 \ 0 "List all email accounts configured." \ 1 "Add an email account." \ - 2 "Auto-detect mailboxes for an account." \ - 3 "Enable/disable autosync." \ - 4 "Change an account's password." \ - 5 "Remove an email account." \ - 6 "Remove all email accounts." \ - 7 "Exit this wizard." \ + 2 "Enable/disable autosync." \ + 3 "Change an account's password." \ + 4 "Remove an email account." \ + 5 "Remove all email accounts." \ + 6 "Exit this wizard." \ 3>&1 1>&2 2>&3 3>&1 ) case $choice in @@ -244,11 +243,10 @@ case $choice in $(grep ~/.offlineimaprc -e "^accounts =" | sed 's/accounts =//g') " 6 60;; 1) chooseAdd;; -2) detectWarning && chooseDetect ;; -3) chooseSync;; -4) inventory && for i in $userchoices; do changePassword $i ; done;; -5) inventory && for i in $userchoices; do removeAccount $i ; done;; -6) (dialog --defaultno --title "Wipe all custom neomutt/offlineIMAP settings?" --yesno "Would you like to wipe all of the mutt/offlineIMAP settings generated by the system?" 6 60 && wipe) ;; -7) clear && break ;; +2) chooseSync;; +3) inventory && for i in $userchoices; do changePassword $i ; done;; +4) inventory && for i in $userchoices; do removeAccount $i ; done;; +5) (dialog --defaultno --title "Wipe all custom neomutt/offlineIMAP settings?" --yesno "Would you like to wipe all of the mutt/offlineIMAP settings generated by the system?" 6 60 && wipe) ;; +6) clear && break ;; esac done -- cgit v1.2.3