From 8330175b037360e480fe0221c668ca297a862b2b Mon Sep 17 00:00:00 2001
From: Luke Smith <luke@lukesmith.xyz>
Date: Fri, 16 Mar 2018 12:10:16 -0700
Subject: mailbox detect now automatic on account add

---
 .gitignore     |  1 +
 mutt-wizard.sh | 16 +++++++++++-----
 muttrc         |  1 +
 3 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/.gitignore b/.gitignore
index 4aec69b..77ab643 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,4 @@ accounts/
 *.pyc
 personal.muttrc
 thunderbird/
+autoconf/log
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() { \
diff --git a/muttrc b/muttrc
index 041198f..88ee9fa 100644
--- a/muttrc
+++ b/muttrc
@@ -19,6 +19,7 @@ set forward_format = "Fwd: %s"
 set markers = no
 set mark_old = no
 set mime_forward = yes
+set smtp_authenticators = 'gssapi:login'
 auto_view text/html
 auto_view application/pdf
 alternative_order text/plain text/enriched text/html
-- 
cgit v1.2.3