| @@ -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 | |||