@@ -14,8 +14,8 @@ install: | |||
chmod 755 $(DESTDIR)$(PREFIX)/bin/mw $(DESTDIR)$(PREFIX)/bin/mailsync $(DESTDIR)$(PREFIX)/bin/openfile | |||
mkdir -p $(DESTDIR)$(PREFIX)/share/mutt-wizard | |||
chmod 755 $(DESTDIR)$(PREFIX)/share/mutt-wizard | |||
cp -f share/mailcap share/domains.csv share/mutt-wizard.muttrc share/unbind.muttrc $(DESTDIR)$(PREFIX)/share/mutt-wizard | |||
chmod 644 $(DESTDIR)$(PREFIX)/share/mutt-wizard/mailcap $(DESTDIR)$(PREFIX)/share/mutt-wizard/domains.csv $(DESTDIR)$(PREFIX)/share/mutt-wizard/mutt-wizard.muttrc $(DESTDIR)$(PREFIX)/share/mutt-wizard/unbind.muttrc | |||
cp -f share/mailcap share/domains.csv share/mutt-wizard.muttrc share/switch.muttrc $(DESTDIR)$(PREFIX)/share/mutt-wizard | |||
chmod 644 $(DESTDIR)$(PREFIX)/share/mutt-wizard/mailcap $(DESTDIR)$(PREFIX)/share/mutt-wizard/domains.csv $(DESTDIR)$(PREFIX)/share/mutt-wizard/mutt-wizard.muttrc $(DESTDIR)$(PREFIX)/share/mutt-wizard/switch.muttrc | |||
mkdir -p $(DESTDIR)$(MANPREFIX)/man1 | |||
cp -f mw.1 $(DESTDIR)$(MANPREFIX)/man1/mw.1 | |||
chmod 644 $(DESTDIR)$(MANPREFIX)/man1/mw.1 | |||
@@ -36,7 +36,7 @@ case "$(uname)" in | |||
;; | |||
*) | |||
case "$(readlink -f /sbin/init)" in | |||
*systemd*) export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u)/bus ;; | |||
*systemd*|*openrc*) export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u)/bus ;; | |||
esac | |||
# remember if a display server is running since `ps` doesn't always contain a display | |||
pgrepoutput="$(pgrep -a X\(org\|wayland\))" | |||
@@ -101,7 +101,11 @@ set header_cache = $cachedir/$fulladdr/headers | |||
set message_cachedir = $cachedir/$fulladdr/bodies | |||
set mbox_type = Maildir | |||
set hostname = \"$hostname\" | |||
source $muttshare/unbind.muttrc | |||
source $muttshare/switch.muttrc | |||
set spoolfile = "+INBOX" | |||
set postponed = "+Drafts" | |||
set trash = "+Trash" | |||
set record = "+Sent" | |||
$extra | |||
$synccmd | |||
" > "$accdir/$fulladdr.muttrc" | |||
@@ -135,7 +139,6 @@ set ssl_force_tls = yes" | |||
esac | |||
prepmsmtp | |||
prepmutt | |||
prepnotmuch # Create a notmuch config file if not present already. | |||
} | |||
@@ -211,14 +214,6 @@ createpass() { echo "$password" > "$PASSWORD_STORE_DIR/$fulladdr" | |||
getpass() { while : ; do pass rm -f "$fulladdr" >/dev/null 2>&1 | |||
pass insert -f "$fulladdr" && break; done ;} | |||
formatShortcut() { toappend="$toappend | |||
macro index,pager g$1 \"<change-folder>=$3<enter>\" \"go to $2\" | |||
macro index,pager M$1 \";<save-message>=$3<enter>\" \"move mail to $2\" | |||
macro index,pager C$1 \";<copy-message>=$3<enter>\" \"copy mail to $2\"" ;} | |||
setBox() { toappend="$toappend | |||
set $1 = \"+$2\"" ;} | |||
getboxes() { if [ -n "${force+x}" ] ; then | |||
mailboxes="$(printf "INBOX\\nDrafts\\nJunk\\nTrash\\nSent\\nArchive")" | |||
else | |||
@@ -232,20 +227,6 @@ getboxes() { if [ -n "${force+x}" ] ; then | |||
[ $idnum -eq $x ] || break | |||
done | |||
toappend="mailboxes \`mdir=$maildir/$fulladdr/; find \$mdir -mindepth 1 -type d -name cur | sed -e 's:/cur\$:\":' -e \"s:\$mdir:\\\"=:\" | sort | tr '\\\n' ' '\`" | |||
IFS=' | |||
' | |||
for x in $mailboxes; do | |||
case "$x" in | |||
*[Ss][Ee][Nn][Tt]*) setBox record "$x"; formatShortcut s sent "$x" ;; | |||
*[Dd][Rr][Aa][Ff][Tt][Ss]*) setBox postponed "$x"; formatShortcut d drafts "$x" ;; | |||
*[Tt][Rr][Aa][Ss][Hh]*) formatShortcut t trash "$x"; setBox trash "$x" ;; | |||
*[Jj][Uu][Nn][Kk]*) formatShortcut j junk "$x" ;; | |||
*[Aa][Rr][Cc][Hh][Ii][Vv][Ee]*) formatShortcut a archive "$x" ;; | |||
*[Ss][Pp][Aa][Mm]*) formatShortcut S spam "$x" ;; | |||
*[Ii][Nn][Bb][Oo][Xx]) formatShortcut i inbox "$x"; setBox spoolfile "$x" inbox="$x" ;; | |||
esac | |||
done | |||
unset IFS | |||
} | |||
finalize() { echo "$toappend" >> "$accdir/$fulladdr.muttrc" | |||
@@ -257,7 +238,7 @@ finalize() { echo "$toappend" >> "$accdir/$fulladdr.muttrc" | |||
prepnotmuch() { \ | |||
[ -z "$NOTMUCH_CONFIG" ] && NOTMUCH_CONFIG="$HOME/.notmuch-config" | |||
[ -f "$NOTMUCH_CONFIG" ] && return 0 | |||
nmbasic="[database] | |||
echo "[database] | |||
path=$maildir | |||
[user] | |||
name=$realname | |||
@@ -270,8 +251,7 @@ exclude_tags=deleted;spam; | |||
[maildir] | |||
synchronize_flags=true | |||
[crypto] | |||
gpg_path=$GPG" | |||
echo "$nmbasic" > "$NOTMUCH_CONFIG" ;} | |||
gpg_path=$GPG" > "$NOTMUCH_CONFIG" ;} | |||
togglecron() { cron="$(mktemp)" | |||
crontab -l > "$cron" | |||
@@ -27,11 +27,15 @@ auto_view text/html # automatically show html (mailcap uses lynx) | |||
auto_view application/pgp-encrypted | |||
#set display_filter = "tac | sed '/\\\[-- Autoview/,+1d' | tac" # Suppress autoview messages. | |||
alternative_order text/plain text/enriched text/html | |||
bind index,pager i noop | |||
bind index,pager g noop | |||
bind index \Cf noop | |||
bind index,pager M noop | |||
bind index,pager C noop | |||
# General rebindings | |||
bind index gg first-entry | |||
bind index j next-entry | |||
bind index k previous-entry | |||
bind attach <return> view-mailcap | |||
@@ -65,6 +69,25 @@ bind pager \031 previous-line # Mouse wheel | |||
bind pager \005 next-line # Mouse wheel | |||
bind editor <Tab> complete-query | |||
macro index,pager gi "<change-folder>=INBOX<enter>" "go to inbox" | |||
macro index,pager Mi ";<save-message>=INBOX<enter>" "move mail to inbox" | |||
macro index,pager Ci ";<copy-message>=INBOX<enter>" "copy mail to inbox" | |||
macro index,pager gd "<change-folder>=Drafts<enter>" "go to drafts" | |||
macro index,pager Md ";<save-message>=Drafts<enter>" "move mail to drafts" | |||
macro index,pager Cd ";<copy-message>=Drafts<enter>" "copy mail to drafts" | |||
macro index,pager gj "<change-folder>=Junk<enter>" "go to junk" | |||
macro index,pager Mj ";<save-message>=Junk<enter>" "move mail to junk" | |||
macro index,pager Cj ";<copy-message>=Junk<enter>" "copy mail to junk" | |||
macro index,pager gt "<change-folder>=Trash<enter>" "go to trash" | |||
macro index,pager Mt ";<save-message>=Trash<enter>" "move mail to trash" | |||
macro index,pager Ct ";<copy-message>=Trash<enter>" "copy mail to trash" | |||
macro index,pager gs "<change-folder>=Sent<enter>" "go to sent" | |||
macro index,pager Ms ";<save-message>=Sent<enter>" "move mail to sent" | |||
macro index,pager Cs ";<copy-message>=Sent<enter>" "copy mail to sent" | |||
macro index,pager ga "<change-folder>=Archive<enter>" "go to archive" | |||
macro index,pager Ma ";<save-message>=Archive<enter>" "move mail to archive" | |||
macro index,pager Ca ";<copy-message>=Archive<enter>" "copy mail to archive" | |||
#set crypt_autosign = yes | |||
#set crypt_opportunistic_encrypt = yes | |||
#set pgp_self_encrypt = yes | |||
@@ -0,0 +1,10 @@ | |||
# vim: filetype=neomuttrc | |||
# This is an embarrassing and hacky file that unbinds a bunch of binds between | |||
# switching accounts. It is called each time an account is changed. | |||
unset hostname | |||
unmy_hdr Organization | |||
unmailboxes * | |||
unalternates * | |||
unset signature |
@@ -1,37 +0,0 @@ | |||
# vim: filetype=neomuttrc | |||
# This is an embarrassing and hacky file that unbinds a bunch of binds between | |||
# switching accounts. It is called each time an account is changed. | |||
bind index,pager gi noop | |||
bind index,pager gs noop | |||
bind index,pager gd noop | |||
bind index,pager ga noop | |||
bind index,pager gS noop | |||
bind index,pager gj noop | |||
bind index,pager gt noop | |||
bind index,pager Mi noop | |||
bind index,pager Ms noop | |||
bind index,pager Md noop | |||
bind index,pager Ma noop | |||
bind index,pager MS noop | |||
bind index,pager Mj noop | |||
bind index,pager Mt noop | |||
bind index,pager Ci noop | |||
bind index,pager Cs noop | |||
bind index,pager Cd noop | |||
bind index,pager Ca noop | |||
bind index,pager CS noop | |||
bind index,pager Cj noop | |||
bind index,pager Ct noop | |||
bind index,pager gg noop | |||
bind index,pager g noop | |||
bind index,pager M noop | |||
bind index,pager C noop | |||
unset hostname | |||
unmy_hdr Organization | |||
unmailboxes * | |||
unalternates * | |||
unset signature | |||
bind index gg first-entry |