# Paths ---------------------------------------------- # Getting all this from article by Steve Losh # at http://stevelosh.com/blog/2012/10/the-homely-mutt/#contacts # source the mutt-solarized colorscheme #source ~/dotfiles/.mutt/mutt-colors-solarized-dark-256.muttrc - no because it doesn't really work ya radge set folder = ~/.mail/ # mailbox location set alias_file = ~/.mutt/aliases # where to store aliases set header_cache = ~/.mutt/cache/headers # where to store headers set message_cachedir = ~/.mutt/cache/bodies # where to store bodies set certificate_file = ~/.mutt/certificates # where to store certs set mailcap_path = ~/.mutt/mailcap # entries for filetypes set tmpdir = ~/.mutt/temp # where to keep temp files set signature = ~/.mutt/signature # my signature file # Allow forwarding of attachments with emails set mime_forward set mime_forward_rest # Basic Options -------------------------------------- set wait_key = no # shut up, mutt set mbox_type = Maildir # mailbox type set timeout = 3 # idle time before scanning set mail_check = 0 # minimum time between scans #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 #set beep_new # bell on new mails set pipe_decode # strip headers and eval mimes when piping set thorough_search # strip headers and eval mimes before searching # nicer text set text_flowed=yes # Sidebar Patch -------------------------------------- #set sidebar_delim = '│' set sidebar_visible = yes set sidebar_width = 20 set sidebar_format = "%B%?F? [%F]?%* %?N?%N/?%S" set mail_check_stats #set sidebar_width = 24 ## not working in xubuntu set sidebar_shortpath = yes #set sidebar_sort = yes ## Paths ---------------------------------------------- #color sidebar_new color221 color233 # Status Bar ----------------------------------------- set status_chars = " *%A" set status_format = "───[ Folder: %f ]───[%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? ]───%>─%?p?( %p postponed )?───" # Header Options ------------------------------------- ignore * # ignore all headers unignore from: to: cc: date: bcc: subject: # show only these unhdr_order * # some distros order things by default hdr_order from: to: cc: bcc: date: subject: # and in this order # Account Settings ----------------------------------- # Default inbox. set spoolfile = "+matt-matthewlemon.com/INBOX" #set spoolfile = "+INBOX" # Alternate email addresses. #alternates # Mailboxes to show in the sidebar. subscribe announce@openbsd.org named-mailboxes Inbox +matt-matthewlemon.com/INBOX \ Sent\ Items +matt-matthewlemon.com/Sent\ Items \ Archive +matt-matthewlemon.com/Archive \ Archive\ 2019 +matt-matthewlemon.com/Archive.2019 \ Drafts +matt-matthewlemon.com/Drafts \ Gmail\ Old +matt-matthewlemon.com/Gmail\ Old\ Archive \ Trash +matt-matthewlemon.com/Trash \ # mailboxes +matt-matthewlemon.com/INBOX \ # +matt-matthewlemon.com/INBOX.Archive \ # +matt-matthewlemon.com/INBOX.Sent\ Items \ # +matt-matthewlemon.com/INBOX.Drafts \ # +matt-matthewlemon.com/INBOX.Trash \ #mailboxes +INBOX +INBOX.Archive +INBOX.Sent\ Items +INBOX.Drafts +INBOX.Trash # Other special folders. set mbox = "+matt-matthewlemon.com/INBOX.Archive" set postponed = "+matt-matthewlemon.com/INBOX.Drafts" # Index View Options --------------------------------- set date_format = "%d-%m-%Y" set index_format = "[%Z] %B %D %-20.20F %s" set sort = threads # like gmail set sort_aux = reverse-last-date-received # like gmail set uncollapse_jump # don't collapse on an unread message set sort_re # thread based on regex set reply_regexp = "^(([Rr][Ee]?(\[[0-9]+\])?: *)?(\[[^]]+\] *)?)*" # Index Key Bindings --------------------------------- bind index g noop bind index gg first-entry bind index G last-entry bind pager g noop bind pager gg top bind pager G bottom # Display links in a web site in a compact list, allowing for web browser viewing # The urlview program will run ~/bin/url_handler.sh which will then run a # browser that is specified at the start of the script; currently using Firefox macro index,pager \cb 'urlview' 'Follow links with urlview' macro attach,compose \cb 'urlview' 'Follow links with urlview' # Folder Shortcuts macro index Ei '+matt-matthewlemon.com/INBOX' 'Go to Inbox' macro index Ea '+matt-matthewlemon.com/Archive' 'Go to Archive' macro index Es '+matt-matthewlemon.com/Sent\ Items' 'Go to Sent Mail' # Navigate threads bind index { previous-thread bind pager { half-up bind index } next-thread bind pager } half-down bind index R group-reply bind index sync-mailbox bind index collapse-thread # Ctrl-R to mark all as read macro index \Cr "T~UN." "mark all messages as read" # Sync email macro index O "offlineimap" "run offlineimap to sync all mail" macro index o "offlineimap -qf INBOX" "run offlineimap to sync inbox" # Saner copy/move dialogs macro index C "?" "copy a message to a mailbox" macro index M "?" "move a message to a mailbox" # Sidebar Navigation --------------------------------- bind index,pager sidebar-next bind index,pager sidebar-prev bind index,pager sidebar-open # Pager View Options --------------------------------- set pager_index_lines = 10 # number of index lines to show set pager_context = 3 # number of context lines to show set pager_stop # don't go to next message automatically set menu_scroll # scroll in menus set tilde # show tildes like in vim unset markers # no ugly plus signs set quote_regexp = "^( {0,4}[>|:#%]| {0,4}[a-z0-9]+[>|]+)+" alternative_order text/plain text/enriched text/html # fix background colour #color normal white black # identifies URLs # Pager Key Bindings --------------------------------- bind pager k previous-line bind pager j next-line #bind pager gg top bind pager G bottom bind pager R group-reply # View attachments properly. bind attach view-mailcap # open links macro pager \Cu "|urlview" "call urlview to open links" # Compose View Options ------------------------------- set realname = "Matthew Lemon" # who am i? set envelope_from # which from? set sig_dashes # dashes before sig set edit_headers # show headers when composing set fast_reply # skip to compose when replying set askcc # ask for CC: set fcc_attach # save attachments with the body unset mime_forward # forward attachments as part of body set forward_format = "Fwd: %s" # format of subject when forwarding set forward_decode # decode when forwarding set attribution = "On %d, %n wrote:" # format of quoting header set reply_to # reply to Reply to: field set reverse_name # reply as whomever it was to set include # include message in replies set forward_quote # include message in forwards #set editor = "vim" # Use terminal Vim to compose email. set editor = "vim %s" set from = "matt@matthewlemon.com" set sendmail = "/usr/local/bin/msmtp -a matthewlemon" set sendmail_wait = 0 set record = "+matt-matthewlemon.com/Sent\ Items" bind compose p postpone-message bind index p recall-message # Get mutt to understand the contacts command line prog which reads Contacts #set query_command = "contacts -Sf '%eTOKEN%n' '%s' | sed -e 's/TOKEN/\t/g'" ## Abook set query_command= "abook --mutt-query '%s'" macro generic,index,pager \ca "abook" "launch abook" macro index,pager A "abook --add-email" "Add this sender to Abook" bind editor complete-query bind editor ^T complete # Better searching in mutt bind index N search-opposite bind pager N search-opposite macro index a "all\n" "show all messages (undo limit)" # get an email from mutt to taskwarrior macro index T "mutt2task +matt-matthewlemon.com/INBOX.Archive" # Handle searching using notmuch (see Steve Losh article) # this doesn't work on linux so using another macro index S "unset wait_keymutt-notmuch-py.py ~/.mail/temporary/search+temporary/search" "search mail (using notmuch)" #new notmuch-mutt for linux macro index \ "set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key\ notmuch-mutt -r --prompt search\ `echo ${XDG_CACHE_HOME:-$HOME/.cache}/notmuch/mutt/results`\ set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key" \ "notmuch: search mail" macro index \ "set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key\ notmuch-mutt -r thread\ `echo ${XDG_CACHE_HOME:-$HOME/.cache}/notmuch/mutt/results`\ set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key" \ "notmuch: reconstruct thread" macro index \ "set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key\ notmuch-mutt tag -- -inbox\ set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key" \ "notmuch: remove message from inbox" # old Losh OSX-based orientation #macro index "unset wait_key/usr/bin/notmuch-mutt --prompt search~/.cache/mutt_results" "search mail (using notmuch)" #macro index "unset wait_key/usr/bin/notmuch-mutt thread~/.cache/mutt_resultsset wait_key" "search and reconstruct owning thread (using notmuch)" # #source ~/.mutt/gpg.rc # Use GPG #source ~/.mutt/auto_views # Define auto_views. source ~/.mutt/aliases # Load in my aliases. source ~/.mutt/subscriptions # Define the list of subscribed mailing lists. #source ~/.mutt/mailboxes # Define the list of folders that receive mail. #source ~/.mutt/headers # Configure header display. #source ~/.mutt/folder-hooks # Define folder-hooks. #source ~/.mutt/save-hooks # Define save-hooks. #source ~/.mutt/fcc-hooks # Define fcc-hooks. #source ~/.mutt/message-hooks # Define message hooks. #source ~/.mutt/bindings # Define key bindings. #source ~/.mutt/macros # Define macros. source ~/.mutt/colours # Define colours. #source ~/.mutt/sidebar # Define sidebar support (requires sidebar patch) # # MAILCAP auto_view text/html # vim: ft=muttrc