@@ -14,8 +14,8 @@ install: | |||||
chmod 755 $(DESTDIR)$(PREFIX)/bin/mw $(DESTDIR)$(PREFIX)/bin/mailsync $(DESTDIR)$(PREFIX)/bin/openfile | chmod 755 $(DESTDIR)$(PREFIX)/bin/mw $(DESTDIR)$(PREFIX)/bin/mailsync $(DESTDIR)$(PREFIX)/bin/openfile | ||||
mkdir -p $(DESTDIR)$(PREFIX)/share/mutt-wizard | mkdir -p $(DESTDIR)$(PREFIX)/share/mutt-wizard | ||||
chmod 755 $(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 | mkdir -p $(DESTDIR)$(MANPREFIX)/man1 | ||||
cp -f mw.1 $(DESTDIR)$(MANPREFIX)/man1/mw.1 | cp -f mw.1 $(DESTDIR)$(MANPREFIX)/man1/mw.1 | ||||
chmod 644 $(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 | 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 | esac | ||||
# remember if a display server is running since `ps` doesn't always contain a display | # remember if a display server is running since `ps` doesn't always contain a display | ||||
pgrepoutput="$(pgrep -a X\(org\|wayland\))" | pgrepoutput="$(pgrep -a X\(org\|wayland\))" | ||||
@@ -101,7 +101,11 @@ set header_cache = $cachedir/$fulladdr/headers | |||||
set message_cachedir = $cachedir/$fulladdr/bodies | set message_cachedir = $cachedir/$fulladdr/bodies | ||||
set mbox_type = Maildir | set mbox_type = Maildir | ||||
set hostname = \"$hostname\" | set hostname = \"$hostname\" | ||||
source $muttshare/unbind.muttrc | |||||
source $muttshare/switch.muttrc | |||||
set spoolfile = "+INBOX" | |||||
set postponed = "+Drafts" | |||||
set trash = "+Trash" | |||||
set record = "+Sent" | |||||
$extra | $extra | ||||
$synccmd | $synccmd | ||||
" > "$accdir/$fulladdr.muttrc" | " > "$accdir/$fulladdr.muttrc" | ||||
@@ -135,7 +139,6 @@ set ssl_force_tls = yes" | |||||
esac | esac | ||||
prepmsmtp | prepmsmtp | ||||
prepmutt | prepmutt | ||||
prepnotmuch # Create a notmuch config file if not present already. | 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 | getpass() { while : ; do pass rm -f "$fulladdr" >/dev/null 2>&1 | ||||
pass insert -f "$fulladdr" && break; done ;} | 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 | getboxes() { if [ -n "${force+x}" ] ; then | ||||
mailboxes="$(printf "INBOX\\nDrafts\\nJunk\\nTrash\\nSent\\nArchive")" | mailboxes="$(printf "INBOX\\nDrafts\\nJunk\\nTrash\\nSent\\nArchive")" | ||||
else | else | ||||
@@ -232,20 +227,6 @@ getboxes() { if [ -n "${force+x}" ] ; then | |||||
[ $idnum -eq $x ] || break | [ $idnum -eq $x ] || break | ||||
done | done | ||||
toappend="mailboxes \`mdir=$maildir/$fulladdr/; find \$mdir -mindepth 1 -type d -name cur | sed -e 's:/cur\$:\":' -e \"s:\$mdir:\\\"=:\" | sort | tr '\\\n' ' '\`" | 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" | finalize() { echo "$toappend" >> "$accdir/$fulladdr.muttrc" | ||||
@@ -257,7 +238,7 @@ finalize() { echo "$toappend" >> "$accdir/$fulladdr.muttrc" | |||||
prepnotmuch() { \ | prepnotmuch() { \ | ||||
[ -z "$NOTMUCH_CONFIG" ] && NOTMUCH_CONFIG="$HOME/.notmuch-config" | [ -z "$NOTMUCH_CONFIG" ] && NOTMUCH_CONFIG="$HOME/.notmuch-config" | ||||
[ -f "$NOTMUCH_CONFIG" ] && return 0 | [ -f "$NOTMUCH_CONFIG" ] && return 0 | ||||
nmbasic="[database] | |||||
echo "[database] | |||||
path=$maildir | path=$maildir | ||||
[user] | [user] | ||||
name=$realname | name=$realname | ||||
@@ -270,8 +251,7 @@ exclude_tags=deleted;spam; | |||||
[maildir] | [maildir] | ||||
synchronize_flags=true | synchronize_flags=true | ||||
[crypto] | [crypto] | ||||
gpg_path=$GPG" | |||||
echo "$nmbasic" > "$NOTMUCH_CONFIG" ;} | |||||
gpg_path=$GPG" > "$NOTMUCH_CONFIG" ;} | |||||
togglecron() { cron="$(mktemp)" | togglecron() { cron="$(mktemp)" | ||||
crontab -l > "$cron" | crontab -l > "$cron" | ||||
@@ -27,11 +27,15 @@ auto_view text/html # automatically show html (mailcap uses lynx) | |||||
auto_view application/pgp-encrypted | auto_view application/pgp-encrypted | ||||
#set display_filter = "tac | sed '/\\\[-- Autoview/,+1d' | tac" # Suppress autoview messages. | #set display_filter = "tac | sed '/\\\[-- Autoview/,+1d' | tac" # Suppress autoview messages. | ||||
alternative_order text/plain text/enriched text/html | alternative_order text/plain text/enriched text/html | ||||
bind index,pager i noop | bind index,pager i noop | ||||
bind index,pager g noop | bind index,pager g noop | ||||
bind index \Cf noop | bind index \Cf noop | ||||
bind index,pager M noop | |||||
bind index,pager C noop | |||||
# General rebindings | # General rebindings | ||||
bind index gg first-entry | |||||
bind index j next-entry | bind index j next-entry | ||||
bind index k previous-entry | bind index k previous-entry | ||||
bind attach <return> view-mailcap | bind attach <return> view-mailcap | ||||
@@ -65,6 +69,25 @@ bind pager \031 previous-line # Mouse wheel | |||||
bind pager \005 next-line # Mouse wheel | bind pager \005 next-line # Mouse wheel | ||||
bind editor <Tab> complete-query | 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_autosign = yes | ||||
#set crypt_opportunistic_encrypt = yes | #set crypt_opportunistic_encrypt = yes | ||||
#set pgp_self_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 |