##### #### ### Jamie Wilkinson's .muttrc ## # mainly my own, but a lot taken from Tom Gilbert # http://www.linuxbrit.co.uk/downloads/dot.muttrc # and Jeff Waugh # http://perkypants.org/dotfiles/muttrc.html #### ### ## Boolean options # unset allow_8bit # use QP or Base64 if unset. unset arrow_cursor # "->" as cursor (faster on slow networks). set ascii_chars # Use ASCII chars for threading arrows. unset askbcc # ask to fill out Bcc on mesg-send? unset askcc # ask to fill out CC on mesg-send? set attach_split # handle every single attachment instead of concat set autoedit # start editor without asking for to, subject,... set auto_tag # if something is tagged, run commands on tagged msgs. unset beep # beep on certain user errors and other errors unset beep_new # beep on new mail unset bounce_delivered # unset => remove Delivered-To: when bouncing. set check_new # search for new messages in maildir/MH folders. unset collapse_unread # don't collapse threads with unread mails unset confirmappend # prompt for confirm when appending message to ex. mbox set confirmcreate # prompt for confirm when saving to non existing mbox set copy # always keep a copy of my mails set delete_untag # untag messages when marking them for deletion. set edit_headers # put headers in editor when composing messages set encode_from # use Quoted-Printable, if ^From in a mail. set fast_reply # do not ask for to, subject,... when replying. set fcc_attach # store attachments too when doing a Fcc unset fcc_clear # FCCs will be stored unencrypted and unsigned set followup_to # Add Mail-Followup-To header. unset force_name # outgoing mail to be saved in folder of "login name" set forward_decode # decode messages when forwarding without MIME unset forward_decrypt # decrypt PGP message, when mime_forward and !mime_fw_d unset forward_quote # quote forwarded message, if not $mime_forward set hdrs # nohdrs implies not to write my_hdr into mail. unset header # quote full header on reply set help # show help in first line of the display unset hidden_host # when set, skip the host name part of hostname set honor_followup_to # Mail-Followup-To header is honored? unset ignore_list_reply_to # ignore Reply-To pointing back to mailinglist set implicit_autoview # use autoview, if a "copiousoutput" is in mailcap. set mailcap_sanitize # remove ugly chars from mailcap % expands. unset mark_old # mark new articles as old, when leaving mbox unset markers # put a '+' at the beginning of wrapped lines. set menu_scroll # scroll on last line of menu (set) or do a nextpage? unset meta_key # Don't interpret Alt-x as ESC x unset metoo # should we keep ourselves in group replies? set mh_purge # remove messages marked as deleted from MH folders. unset mime_forward_decode # decode messages when forwarding with MIME unset pager_stop # Don't jump to next message at end of message. unset pgp_replysign # always sign reply to signed message unset pgp_show_unusable # Show non-usable keys on the PGP key selection menu? unset pipe_decode # Weed headers and PGP-decode message before piping set pipe_split # split tagged messages (or don't) when using "|" unset prompt_after # display prompt after exit from pager unset read_only # folders not read only unset reply_self # if unset, a reply to yourself implies reply to other set resolve # go to next undeleted message after modifying actual unset reverse_alias # use realname from reverse alias lookup set reverse_name # Set "From" to address, where replied mail was sent to unset save_address # Use full mail adress (with domain) as default folder. unset save_empty # remove mailbox when last message is removed. unset save_name # Fcc, if ~/Mail/ exists. unset score # don't do scoring set sig_dashes # Don't prepend "-- \n" to the signature set smart_wrap # wrap long lines at word boundary. set sort_re # set: only put a child in a thread, if starts with Re: unset status_on_top # status line at the top or button? unset strict_threads # thread only by In-Reply-To/References or by Subject. unset suspend # Ctrl-Z is able to suspend mutt. set thorough_search # MIME decode before searching. set tilde # Internal Pager: ~~~~ at and of message? unset uncollapse_jump # don't move pointer, when uncollapsing thread unset use_8bitmime # run sendmail 8.8.x with -B8BITMIME to enable 8bit unset use_domain # add $domain to all addresses without @host unset use_from # generate a "From:" header (unless my_hdr From:) set user_agent # Create User-Agent: Mutt/ header. unset wait_key # Only "press a key" if return value non-zero set wrap_search # Wrap search to top/bottom. unset write_bcc # send Bcc: line to $sendmail #### ### ## Quadoptions # set abort_nosubject=no # Abort, if message has no subject. set abort_unmodified=yes # Abort, if message wasn't edited. set delete=yes # ask for confirmation when deleting messages? set honor_followup_to=yes # Ask whether to honor Mail-Followup-To header set include=yes # quote message, when replying set mime_forward=ask-no # use MIME when forwarding mails. set move=no # Move mail-spool to $mbox? set postpone=ask-yes # ask for postponing when doing an Abort. set print=ask-yes # ask whether you really want to print. set quit=yes # ask before quitting. set recall=no # ask for using postponed message. set reply_to=yes # Use or ignore Reply-To. #### ### ## String options # set attribution="This one time, at band camp, %n wrote:" #set charset="iso-8859-1" set default_hook="~f %s | ~t %s" set editor="vim -c 'set tw=76 noautoindent expandtab notitle ft=mail' +" set folder=~/Maildir/ set history=50 set indent_string=">" set mail_check=5 set mbox=~/Maildir/ set mbox_type=Maildir set pager_context=1 set pager_index_lines=0 set pgp_timeout=1000 set postponed=~/Maildir/.drafts set query_command="lbdbq %s" set quote_regexp="^( {0,4}-?[>|:]| {0,4}[a-z0-9]+[>|]+)+" set read_inc=25 set realname="Jamie Wilkinson" set record=~/Maildir/.sent set reply_regexp="^((re|RE|SV|Re|r e|aw):[ \t]*)*" #set signature="~/bin/signature |" set simple_search="~f %s | ~C %s | ~s %s" set sort=threads set sort_alias=alias set sort_aux=date-received set sort_browser=alpha set spoolfile=~/Maildir/ set timeout=30 set tmpdir="/tmp" set write_inc=25 alternates (jaq@sesgroup.net|bofh@sesgroup.net|jamesw@student.unsw.edu.au|s2230937@cse.unsw.edu.au|z2230937@student.unsw.edu.au|jaq@sesgroup.net|jaq@techie.com|jamesw@beer.com|haqr.jamesw@usa.net|jaq@spacepants.org|jaq@fuckyou.co.uk|jaq@cowspiracy.org|jaq@xware.cx|jaq@debian.org|jaq@quakeforge.net|(jamie|jaq)@slug.org.au|james@shenanigansinc.com.au) #### ### ## Format strings # set alias_format="%4n %t %-12a %r" set date_format="!%a %b %d, %Y at %T %Z" set folder_format=" %N %f %> %d %8s " set forward_format="fwd: %s" set hdr_format="%5C %{%b %d} %-15.15n %s" set index_format="%5C %Z %[!%d/%m] [%-15.15n] %s" #set index_format="%Z %[!%d/%m] | %-18.18F | %4c | %s" set pager_format="%S %n" set status_format="-%r-Mutt: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b? %?l? %l?]--%>-(%P)---" #### ### ## Colour settings # # match ftp addresses: color body cyan black "ftp://[^ ]*" # match http addresses: color body brightgreen black "[[:alnum:]][-+.#_[:alnum:]]*@[-+.[:alnum:]]*[[:alnum:]]" color normal white black # pager body # Coloring quoted text - coloring the first 7 levels: color quoted cyan black color quoted1 yellow black color quoted2 red black color quoted3 green black color quoted4 cyan black color quoted5 yellow black color quoted6 red black color quoted7 green black color signature brightred black color status white blue color tilde blue black color tree brightmagenta black color underline yellow black # Colorize smileys: :-) ;-) :-/ :-( color body yellow black "[;:]-[)/(|]" color body yellow black "[;:][)/(|]" color body green black "[[:alpha:]]\+://[^ ]*" color header red black '^Subject.*' color header yellow black '^X-Debian-PR-Package.*' color header green black 'From:.*' # Remember: Order counts! The last matching rule "wins". # So we'll start with some general rules first: # color index yellow black ~N # New color index yellow black ~O # Old # mail to myself (personal mail): #color index brightgreen black '~p' color index magenta black ~F color index blue black ~T color index red black ~D #### ### ## # unignore * ignore content deliver errors-to importance in-reply list mail message-id ignore mime precedence priority received references resent return-path sender ignore x-accept x-authentication x-beenthere x-cid x-complaints x-dispatcher ignore x-egroups x-envelope x-fingerprint x-juno x-keywords x-loop ignore x-mailing x-mailman x-mime x-ms x-news x-origina x-orcpt envelope ignore x-priority x-sender x-smtp x-trace x-uid x-unsent x-ftn ignore old-x-envelope x-gateway old-return-path x-virus-scanned ignore x-spam x-return-path x-authenticated-sender x-md x-list x-scanner ignore "from " status lines x-status >from x-received x-bogosity # awesome barracuda spam headers ignore x-asg x-barracuda ignore domainkey-signature ignore x-brightmail x-ironport hdr_order Date From: Subject: Reply-To: To: Cc: Bcc: unmy_hdr * #my_hdr X-Message-Flag: Magic 8-Ball says Outlook Not Good. my_hdr X-Mailer: beefmail v0.0 #my_hdr Reply-By: `date --date="-30 days" -R` my_hdr X-No-CC: Please respect the setting of my Mail-Followup-To header my_hdr From: Jamie Wilkinson #### ### ## Autoview settings # auto_view text/html text/enriched application/x-gunzip auto_view application/postscript image/gif application/x-tar-gz auto_view application/pgp-signature alternative_order text/enriched text/plain text #### ### ## Keybindings # macro index ':mailboxes `find ~/Maildir -type d -maxdepth 1 ! -regex '.*draft.*' -printf "=%P "`c?' "View Mailboxes" bind index display-message macro index I "c!\n" "Go to Inbox" bind index next-unread macro index r "unset wait_key\nbogofilter -n\nset wait_key\n" "Reply to message and mark as non-spam" macro index g "unset wait_key\nbogofilter -n\nset wait_key\n" "Group reply to message and mark as non-spam" macro index L "unset wait_key\nbogofilter -n\nset wait_key\n" "List reply to message and mark as non-spam" macro index S "unset wait_key\nbogofilter -s\nset wait_key\n=.spambox\n" "Mark as spam and save to spambox" macro index U "unset wait_key\nbogofilter -Sn\nformail -I X-Bogosity|procmail\nset wait_key\n" "Mark as non-spam and refilter to correct mailbox" macro index M ".*\rN.*\r" "Mark all messages in this mailbox as read" macro index \Cr "Mark thread as read and skip to next message" macro query "q" "Leave" macro query i "q" "Leave" macro query I "q" "Leave" macro query "\n" "Mail" macro pager I "c!\n" "Inbox" bind pager previous-entry bind pager next-entry bind pager exit bind pager view-attachments macro pager S "unset wait_key\nbogofilter -s -l\nset wait_key\n=.spambox\n" "Mark as spam and save to spambox" macro pager U "unset wait_key\nbogofilter -n -l\nset wait_key\n=\n" "Mark as non-spam and save to INBOX" #macro pager K ~/bin/plonk.pl "*plonk*" macro pager \Cr macro pager \Ct "festival --tts" bind attach exit bind attach view-attach bind browser exit bind browser select-entry # start fetchmail macro pager f "unset wait_key\nfetchmail -q\nfetchmail\nset wait_key\n" "Restart fetchmail" macro browser f "unset wait_key\nfetchmail -q\nfetchmail\nset wait_key\n" "Restart fetchmail" macro index f "unset wait_key\nfetchmail -q\nfetchmail\nset wait_key\n" "Restart fetchmail" # view X-Face: headers macro pager p |view-x-face\n macro index p |view-x-face\n #### ### ## Hooks (AHR! P-) # # default hooks, override them below folder-hook . 'unset strict_threads' message-hook . 'set attribution = "This one time, at band camp, %n wrote:"' folder-hook . 'my_hdr From: Jamie Wilkinson ' #folder-hook . 'set signature="~/.signature"' send-hook . 'my_hdr From: Jamie Wilkinson ' #send-hook . 'set signature="~/.signature"' # I want forwards to be saved into the forwards mailbox. See my # procmailrc recipe for forwards, as well. save-hook '~s f(w:\|wd\|orward)' ~/Maildir/.forwards # Loose threading looks terrible in my inbox, so only do it if # it's guaranteed to work folder-hook '!' 'set strict_threads' folder-hook '.*sent' 'set strict_threads' folder-hook '.*drafts' 'set strict_threads' # Debian folder-hook ".*debian.*" 'my_hdr From: Jamie Wilkinson ' #folder-hook ".*debian.*" 'set signature="~/.signature.debian"' send-hook ".*debian.*" 'my_hdr From: Jamie Wilkinson ' #send-hook ".*debian.*" 'set signature="~/.signature.debian"' # SLUG #folder-hook ".*slug-chat.*" 'set signature="~/.signature.slug-chat"' #send-hook ".*slug-chat.*" 'set signature="~/.signature.slug-chat"' folder-hook "~L committee" 'my_hdr From: Jamie Wilkinson ' #folder-hook "~L committee" 'set signature="~/.signature.slug-committee"' send-hook "~L committee" 'my_hdr From: Jamie Wilkinson ' #send-hook "~L committee" 'set signature="~/.signature.slug-committee"' # table64 folder-hook "~L table64" 'my_hdr From: Illegalities O. Carpetbag ' send-hook "~L table64" 'my_hdr From: Illegalities O. Carpetbag ' ## # set my attributions based on sender and mailing list message-hook '~f ^suzysiu37@netscape\.net$' 'set attribution = "This one time, at band camp, SuzyQ 666 wrote:"' # slug committee message-hook '~L committee' 'set attribution = "%n whispered to the cabal:"' #### ### ## Mailboxes # mailboxes `find ~/Maildir/ -type d -maxdepth 1 ! -regex '.*draft.*' ! -regex '.*spambox.*' -printf "=%P "` unlists * unsubscribe * lists `find ~/Maildir -type d -regex ".*list.*" -maxdepth 1 -printf "%P " | sed -e 's/list//g' -e 's/cse//g' | tr -d '.'` subscribe `find ~/Maildir -type d -regex ".*list.*" ! -regex ".*cse.*" -maxdepth 1 -printf "%P " | sed 's/list//g' | tr -d '.'` # special case lists unlists slug-committee slug-activities libannodex-cvs unsubscribe slug-committee slug-activities libannodex-cvs lists users committee cvs-annodex activities subscribe users committee cvs-annodex activities unlists cabal unsubscribe cabal lists cabal@lardcave.net subscribe cabal@lardcave.net unlists scons-users unsubscribe scons-users lists users@scons.tigris.org subscribe users@scons.tigris.org