dotfiles/mutt/.mutt/muttrc
Sanchayan Maity 2b89f36dc5 Add support for our now primary fastmail account
While at it, add some macros to mutt and clean up shell script with
shellcheck.

We also stop running imapfilter for anything but our own accounts.
2021-02-13 22:42:20 +05:30

95 lines
3.1 KiB
Plaintext

set mbox_type = Maildir
set folder = ~/Mail
set spoolfile = +/fastmail/Inbox
set header_cache=~/Mail/mutt_cache/ # a much faster opening of mailboxes...
source ~/.mutt/accounts/fastmail
source ~/.mutt/accounts/sanchayan
source ~/.mutt/accounts/asymptotic
folder-hook fastmail/* source ~/.mutt/accounts/fastmail
folder-hook sanchayan/* source ~/.mutt/accounts/sanchayan
folder-hook asymptotic/* source ~/.mutt/accounts/asymptotic
set mail_check = 0
set envelope_from
unset move # gmail does that
set delete # don't ask, just do
unset confirmappend # don't ask, just do!
set quit # don't ask, just do!!
unset mark_old # read/new is good enough for me
# sort/threading
set sort = threads
set sort_aux = reverse-last-date-received
set sort_re
# look and feel
set pager_index_lines = 8
set pager_context = 5
set pager_stop
set menu_scroll
set smart_wrap
set tilde
unset markers
# composing
set fcc_attach
unset mime_forward
set forward_format = "Fwd: %s"
set include
set forward_quote
ignore * # first, ignore all headers
unignore from: to: cc: date: subject: # then, show only these
hdr_order from: to: cc: date: subject: # and in this order
source ~/.mutt/gruvbox.muttrc
set send_charset="us-ascii:utf-8"
set send_charset="utf-8"
set editor="nvim"
set date_format="%y-%m-%d %T"
set index_format="%2C | %Z [%d] %-30.30F (%-4.4c) %s"
set sleep_time = 0
set mailcap_path = ~/.mutt/mailcap
auto_view text/html
alternative_order text/plain text/html
## Abook
set query_command= "abook --mutt-query '%s'"
macro index,pager A "<pipe-message>abook --add-email-quiet<return>"
## Add this sender to Abook
bind editor <Tab> complete-query
set edit_headers = yes
# 'L' performs a notmuch query, showing only the results
macro index L "<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"
# 'a' shows all messages again (supersedes default <alias> binding)
macro index a "<limit>all\n" "show all messages (undo limit)"
macro index C '<change-folder>?<change-dir><home>^K=<enter>'
macro index ca '<enter-command>source ~/.mutt/muttrc/accounts/asymptotic<enter><change-folder>=asymptotic/Inbox/<enter>'
macro index cf '<enter-command>source ~/.mutt/muttrc/accounts/fastmail<enter><change-folder>=fastmail/Inbox/<enter>'
macro index cg '<enter-command>source ~/.mutt/muttrc/accounts/sanchayan<enter><change-folder>=sanchayan/Inbox/<enter>'
macro index ,so "l ^a^k^O\n" "show old messages only"
macro index ,sn "l ^a^k~N\n" "show unread/new only"
macro index ,sf "l ~F\n" "show flagged messages only"
macro index ,si "l (~n5-100|~N)\n" "show higher scoring messages"
macro index ,hl "l ^a^k!~l\n" "hide list messages"
macro index ,sa "l ^a^kall\n" "show all messages"
bind pager \Cp previous-line
bind pager \Cn next-line
bind pager <up> previous-line
bind pager <down> next-line