mutt configuration now automatic
This commit is contained in:
parent
cf773b4db5
commit
badf508538
@ -18,7 +18,7 @@ Or you can help monetarily via [Patreon](https://patreon.com/lukesmith) or [Payp
|
|||||||
|
|
||||||
* Expand the list of server information in `domains.csv`, including adding spoolfiles/records/postponed folders for each account.
|
* Expand the list of server information in `domains.csv`, including adding spoolfiles/records/postponed folders for each account.
|
||||||
* Write scripts that do the following:
|
* Write scripts that do the following:
|
||||||
* Stat `~/.offlineimaprc` and the the mutt configs to see what accounts are currently available. (**Done**, currently in `stat.sh`; needs integration.)
|
* Stat `~/.offlineimaprc` and the the mutt configs to see what accounts are currently available. (**Done**, currently in `removeaccount.sh`; needs integration.)
|
||||||
* Delete a profile from above if requested. (**Done**, currently in `removeaccount.sh`; needs integration.)
|
* Delete a profile from above if requested. (**Done**, currently in `removeaccount.sh`; needs integration.)
|
||||||
* Add a profile above if requested, including:
|
* Add a profile above if requested, including:
|
||||||
* An automatic search of `domains.csv` for server information. (**Done**)
|
* An automatic search of `domains.csv` for server information. (**Done**)
|
||||||
@ -27,6 +27,3 @@ Or you can help monetarily via [Patreon](https://patreon.com/lukesmith) or [Payp
|
|||||||
* Configure notmuch with all accounts.
|
* Configure notmuch with all accounts.
|
||||||
* A prompt for adding encypted passwords for each account available.
|
* A prompt for adding encypted passwords for each account available.
|
||||||
* Or directions for adding plain text passwords if desired.
|
* Or directions for adding plain text passwords if desired.
|
||||||
|
|
||||||
### Todo: Add settings for email accounts not unified by one domain
|
|
||||||
|
|
||||||
|
10
makedefault.sh
Normal file
10
makedefault.sh
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Give this script the abstract name of an account and it will make it the default.
|
||||||
|
|
||||||
|
title=$1
|
||||||
|
muttdir="$HOME/.config/mutt/"
|
||||||
|
muttdirsed=$(echo $muttdir | sed -e 's/\//\\\//g')
|
||||||
|
|
||||||
|
grep "$muttdir"muttrc -e "^source .*accounts.*" >/dev/null && \
|
||||||
|
sed -i "s/^source .*accounts.*/source ${muttdirsed}accounts\/$title.muttrc/g" "$muttdir"muttrc
|
@ -63,7 +63,10 @@ replacement="
|
|||||||
s/\$type/$type/g;
|
s/\$type/$type/g;
|
||||||
/$delet/d"
|
/$delet/d"
|
||||||
|
|
||||||
|
# Gets the first unused shortcut number in the muttrc and puts it in $idnum.
|
||||||
|
cat "$muttdir"muttrc | grep i[0-9] | awk '{print $3}' | sed -e 's/i//g' > /tmp/mutt_used
|
||||||
|
echo -e "1\n2\n3\n4\n5\n6\n7\n8\n9" > /tmp/mutt_all_possible
|
||||||
|
idnum=$(diff /tmp/mutt_all_possible /tmp/mutt_used | sed -n 2p | awk '{print $2}')
|
||||||
|
|
||||||
addAccount() {
|
addAccount() {
|
||||||
# First, adding the encrypted password.
|
# First, adding the encrypted password.
|
||||||
@ -78,9 +81,18 @@ addAccount() {
|
|||||||
|
|
||||||
# Add the mutt profile.
|
# Add the mutt profile.
|
||||||
cat "$muttdir"autoconf/mutt_profile | sed -e "$replacement" > "$muttdir"accounts/$title.muttrc
|
cat "$muttdir"autoconf/mutt_profile | sed -e "$replacement" > "$muttdir"accounts/$title.muttrc
|
||||||
|
# Add a numbered shortcut in the muttrc
|
||||||
|
echo "macro index,pager i$idnum '<sync-mailbox><enter-command>source "$muttdir"accounts/$title.muttrc<enter><change-folder>!<enter>'" >> "$muttdir"muttrc
|
||||||
|
|
||||||
# Add on offlineimaprc sync list.
|
# Adding directory structure for cache.
|
||||||
sed -i "s/^accounts =.*[a-zA-Z]$/&, $title/g;s/^accounts =$/accounts = $title/g" ~/.offlineimaprc ;}
|
mkdir -p "$muttdir"accounts/$title/cache/bodies "$muttdir"accounts/$title/cache/headers
|
||||||
|
|
||||||
|
# Add to offlineimaprc sync list.
|
||||||
|
sed -i "s/^accounts =.*[a-zA-Z]$/&, $title/g;s/^accounts =$/accounts = $title/g" ~/.offlineimaprc
|
||||||
|
|
||||||
|
# Makes account default if there is no default account.
|
||||||
|
grep "$muttdir"muttrc -e "^source .*accounts.*" >/dev/null && echo there || \
|
||||||
|
echo "source ${muttdir}accounts/$title.muttrc" >> "$muttdir"muttrc ;}
|
||||||
|
|
||||||
addAccount
|
addAccount
|
||||||
clear
|
clear
|
||||||
|
49
muttrc
Normal file
49
muttrc
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
# vim: filetype=muttrc
|
||||||
|
# This is the general mutt config which has the settings that all accounts use.
|
||||||
|
set sleep_time = 0
|
||||||
|
set sort = 'reverse-date'
|
||||||
|
set editor = vim
|
||||||
|
#set copy = no
|
||||||
|
set timeout = "5"
|
||||||
|
set mail_check = "10"
|
||||||
|
set mailcap_path = ~/.config/mutt/mailcap
|
||||||
|
set date_format="%m/%d %I:%M"
|
||||||
|
set index_format="%2C %Z %D %-15.15F %s (%-4.4c)"
|
||||||
|
set markers = no
|
||||||
|
set mark_old = no
|
||||||
|
bind index,pager i noop
|
||||||
|
bind index,pager g noop
|
||||||
|
auto_view text/html
|
||||||
|
auto_view application/pdf
|
||||||
|
alternative_order text/plain text/enriched text/html
|
||||||
|
|
||||||
|
mono bold bold
|
||||||
|
mono underline underline
|
||||||
|
mono indicator reverse
|
||||||
|
color index yellow default '.*'
|
||||||
|
color index_author red default '.*'
|
||||||
|
color index_number blue default
|
||||||
|
color index_subject cyan default '.s'
|
||||||
|
color index_size green default
|
||||||
|
color normal default default
|
||||||
|
color body brightred default [\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+
|
||||||
|
color body brightblue default (https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+
|
||||||
|
|
||||||
|
bind editor <space> noop
|
||||||
|
bind index G last-entry
|
||||||
|
bind index gg first-entry
|
||||||
|
bind index d half-down
|
||||||
|
bind index u half-up
|
||||||
|
bind index D delete-message
|
||||||
|
bind index U undelete-message
|
||||||
|
bind index F search
|
||||||
|
bind index,pager R group-reply
|
||||||
|
macro index,pager S '<sync-mailbox>
|
||||||
|
macro index,pager \Cu |urlview\n
|
||||||
|
bind index \Cf noop
|
||||||
|
macro index \Cf "<enter-command>unset wait_key<enter><shell-escape>read -p 'notmuch query: ' x; echo \$x >~/.cache/mutt_terms<enter><limit>~i \"\`notmuch search --output=messages \$(cat ~/.cache/mutt_terms) | head -n 600 | perl -le '@a=<>;chomp@a;s/\^id:// for@a;$,=\"|\";print@a'\`\"<enter>" "show only messages matching a notmuch pattern"
|
||||||
|
macro index A "<limit>all\n" "show all messages (undo limit)"
|
||||||
|
macro index,pager i1 '<sync-mailbox><enter-command>source /home/luke/.config/mutt/accounts/luke.muttrc<enter><change-folder>!<enter>'
|
||||||
|
source /home/luke/.config/mutt/accounts/luke.muttrc
|
||||||
|
macro index,pager i2 '<sync-mailbox><enter-command>source /home/luke/.config/mutt/accounts/gkulade.muttrc<enter><change-folder>!<enter>'
|
||||||
|
macro index,pager i3 '<sync-mailbox><enter-command>source /home/luke/.config/mutt/accounts/gmail.muttrc<enter><change-folder>!<enter>'
|
@ -17,6 +17,7 @@ removeAccount() { sed -ie "
|
|||||||
" ~/.offlineimaprc
|
" ~/.offlineimaprc
|
||||||
rm "$muttdir"accounts/$1.muttrc
|
rm "$muttdir"accounts/$1.muttrc
|
||||||
rm "$muttdir"credentials/$1.gpg
|
rm "$muttdir"credentials/$1.gpg
|
||||||
|
rm -rf "$muttdir"accounts/$1
|
||||||
echo $1 deleted. ;}
|
echo $1 deleted. ;}
|
||||||
|
|
||||||
#/tmp/numbered
|
#/tmp/numbered
|
||||||
@ -31,11 +32,8 @@ clear
|
|||||||
|
|
||||||
if [ -z "$choices" ];
|
if [ -z "$choices" ];
|
||||||
then
|
then
|
||||||
echo no selection
|
clear
|
||||||
else
|
else
|
||||||
todelet=$(IFS="|"; keys="${choices[*]}"; keys="${keys//|/\\|}"; grep -w "${keys}" /tmp/numbered | awk '{print $2}')
|
todelet=$(IFS="|"; keys="${choices[*]}"; keys="${keys//|/\\|}"; grep -w "${keys}" /tmp/numbered | awk '{print $2}')
|
||||||
for i in $todelet; do removeAccount $i; done
|
for i in $todelet; do removeAccount $i; done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user