aboutsummaryrefslogblamecommitdiff
path: root/mutt/muttrc
blob: 528127feda05a3c7dc60c3fc69cac3d477494983 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11


                                                                               
 
                                                      
                   
 



                                                                               

                                                                         

                           
                                                                  




                                                                              
            
 


                                                                               
                   
 





                                                                              
 












                                                                             
 











                                                                              
 



                                                                              
 


                                                                            
             
 




                                                                              



                                                                               
 




                                                                               





                                                                               



                                                                            
 




                                                                              
                  
 










                                                                           
 



                                                                 
 
                                








                                      
 
                                    
                       

                                                        
 
                                  




                                                         
 

























                                                                               
                                   
# 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 <next-page>.
#
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 \
	'<save-message><enter>' \
	'Move message to default mailbox without confirmation'

# Shortcuts to jump to mailboxes
macro generic,index,browser,pager gi \
	'<change-folder>!<enter>' \
	'Change to inbox'
macro generic,index,browser,pager gs \
	'<change-folder><<enter>' \
	'Change to sent'
macro generic,index,browser,pager gb \
	'<change-folder>-<enter>' \
	'Change to previous'

# Shortcut to add addresses to abook
macro index,pager \\A \
	'<pipe-message>abook --add-email-quiet<enter>' \
	'Add sender address to abook'

# Shortcut to reload configuration
macro generic,index,browser,pager \\R '\
<enter-command>unhook *<enter>\
<enter-command>source $alias_file<enter>\
<enter-command>echo "Reloaded with $alias_file"<enter>' \
	"Clear hooks and reload"

# Shortcut to toggle thread display
set my_sort_alt = threads
macro index \\t '\
<enter-command>set my_sort_cur = $sort<enter>\
<enter-command>set sort = $my_sort_alt<enter>\
<enter-command>set my_sort_alt = $my_sort_cur<enter>' \
	"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|