# Prefer the plain text part of multipart emails, followed by any enriched text # part (?), followed by the HTML part, followed by any other parts. Decode the # text/html part with .mailcap's chosen program (I favour Lynx). # alternative_order text/plain text/enriched text/html * auto_view text/html # If an outgoing message looks like I meant to attach something, and there # isn't an attachment, prompt me to make sure I haven't forgotten it. # I normally don't like this sort of nagging, but I'm making an exception in # this case, as I really do trip up on this a lot. The default pattern of just # 'attach' is a bit too aggressive, so I write a slightly softer one that # reflects the usual way I refer to attachments. # set abort_noattach = ask-no set abort_noattach_regexp = "attached is|(find|i've|see) attached" # Don't send terminal bells on errors, but do send them when new mail arrives, # because that should light up my tmux window label and/or urxvt window. # unset beep set beep_new # Don't prompt me for confirmation if I move messages into an existing mailbox; # just do it. # unset confirmappend # Use the GPGME library for PGP. Sign replies to messages that are themselves # signed or encrypted. # set crypt_use_gpgme set crypt_replysign set crypt_replysignencrypted # Default to a subject format for forwarded messages that's more familiar to # most mail users, unless sending mail to a list where they're more likely to # appreciate the nicer default that uses square brackets and the author email # address. # send-hook ~A \ 'set forward_format = "Fw: %s"' send-hook ~l \ 'reset forward_format' # Cache message headers for speed; this really helps. # set header_cache = '~/.cache/mutt/headers' # Save command history; this saves other kinds of history as well, but all # I really want is to be able to run the same commands again even after I quit # Mutt. We can afford to keep 2^8 of these, since it's the future and all. # set history = 256 set history_file = ~/.cache/mutt/history set save_history = $history # Always put a quoted copy of the whole message in a reply text for me to chop # up and respond to in Vim--no need to prompt me (the default does that). # set include # Tweak the index format to include spam tagging information, if any, with the # %H format string # set index_format = '%4C %Z %{%b %d %Y} %-15.15L (%?l?%4l&%4c?) %?H?[%H] ?%s' # Don't show any nasty little markers at the start of wrapped lines. That's # the sort of thing Vim cares about, if need be. # unset markers # Show a few messages of the index when in pager mode to give a little context # around the message. I should have been doing this years ago. Oh well. # set pager_index_lines = 6 # Don't move on to the next message if we're at the end of the current one just # because I executed . # set pager_stop # Use the abook program for finding and completing addresses with ^T. I do use # the aliases system for regular correspondents, too. # set query_command = 'abook --mutt-query %s' # I prefer a slightly stricter pattern to match what is and isn't a quote; this # avoids flagging things like closing braces on new lines in code blocks as # quotes # set quote_regexp = '^(>[ \t]*)+' # Don't delay on switching or altering mailboxes so that I see the messages; # just do it straight away. # set sleep_time = 0 # Only use the headers with proper references to link messages in a thread; # don't try to use pattern matches on subjects, which might be rubbish like # "hi". If I need to link a thread together because it's been broken somehow, # I'll do that manually. # set strict_threads # Use format=flowed, continuing paragraphs for lines that end with a single # space, and use that wrapping information to use the full width of the # terminal for the wrapping display. # set text_flowed set reflow_wrap = 0 # Don't wait for me to press a key after running a command if it exited # successfully; this still warns me if something failed, though. # unset wait_key # Save message to whatever box Mutt guesses, without confirmation macro index,pager S \ '' \ 'Move message to default mailbox without confirmation' # Shortcuts to jump to mailboxes macro generic,index,browser,pager gi \ '!' \ 'Change to inbox' macro generic,index,browser,pager gs \ '<' \ 'Change to sent' macro generic,index,browser,pager gb \ '-' \ 'Change to previous' # Shortcut to add addresses to abook macro index,pager \\A \ 'abook --add-email-quiet' \ 'Add sender address to abook' # Shortcut to reload configuration macro generic,index,browser,pager \\R '\ unhook *\ source $alias_file\ echo "Reloaded with $alias_file"' \ "Clear hooks and reload" # Shortcut to toggle thread display set my_sort_alt = threads macro index \\t '\ set my_sort_cur = $sort\ set sort = $my_sort_alt\ set my_sort_alt = $my_sort_cur' \ "Toggle thread display" # Set a few simple colors just for a quick visual cue of which tool I'm looking # at and for some visual distinction between text, signature, and quote. The # navigation bar is a nice dark green. # color attachment \ brightyellow default color hdrdefault \ brightcyan default color quoted \ brightgreen default color signature \ cyan default color status \ default color22 # Load machine-specific or account-specific settings from the helper script in # muttrc.d, and w're done. # source ~/.config/mutt/muttrc.d/src|