# 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 #source ~/.mutt/mutt-colors-solarized-dark-256.muttrc 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 set attach_save_dir = ~/Downloads # 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 = 15 #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 = "+purelymail/INBOX" #set spoolfile = "+INBOX" # Alternate email addresses. #alternates # Mailboxes to show in the sidebar. subscribe announce@openbsd.org named-mailboxes Inbox +purelymail/INBOX \ Sent +purelymail/Sent \ Archive +purelymail/Archive \ Subscriptions +purelymail/Subscriptions \ Drafts +purelymail/Drafts \ Trash +purelymail/Trash # mailboxes purelymail/INBOX \ # purelymail/INBOX.Archive \ # purelymail/INBOX.Sent\ Items \ # purelymail/INBOX.Drafts \ # purelymail/INBOX.Trash \ #mailboxes +INBOX +INBOX.Archive +INBOX.Sent\ Items +INBOX.Drafts +INBOX.Trash # Other special folders. set mbox = "purelymail/INBOX.Archive" set postponed = "purelymail/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 'Inbox' 'Go to Inbox' macro index Ea 'Archive' 'Go to Archive' macro index Es 'Sent' 'Go to Sent Mail' macro index ES 'Subscriptions' 'Go to Subscription' # 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 "clear && mbsync purelymailchannel" "run mbsync 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 ------------------------------- unset reply_self # don't reply to me in a mailing list or group! 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 postpone=ask-no # default to know when asking to postpone #set editor = "vim" # Use terminal Vim to compose email. set editor = "vim %s" #set editor = "emacsclient -nw %s" set from = "matt@matthewlemon.com" set sendmail = "/usr/bin/msmtp -a purelymail" set sendmail_wait = 0 set record = "+purelymail/Sent" set recall=no # recall with Ctrl-r instead of asking all the time #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'" # khard set query_command = "/home/lemon/src/virtualenvs/khal-venv/bin/khard email --parsable %s" ## 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 #set query_command = "khard email --parsable %s" # bind editor complete-query # bind editor ^T complete set query_command = "khard email --parsable %s" bind editor complete-query bind editor ^T complete macro index,pager A "khard add-email" "add the sender email address to khard" # 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 purelymail/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 # Notmuch #set virtual_spoolfile=yes # uncomment this to have mutt open the first virtual-mailbox below when it launches macro index \\\\ "" virtual-mailboxes "Today" "notmuch://?query=date:today" virtual-mailboxes "Flagged" "notmuch://?query=tag:flagged" virtual-mailboxes "FromMe" "notmuch://?query=from:matt@matthewlemon.com" set nm_db_limit = 5000 #set nm_default_url = "" set nm_open_timeout = 5 set nm_query_window_enable=yes set nm_query_window_duration=2 set nm_query_window_timebase="month" # or "hour", "day", "week", "month", "year" set nm_query_window_or_terms="tag:unread and tag:flagged" # read entire thread of the current message bind index,pager + entire-thread # generate virtual folder from query #bind index,pager \cf vfolder-from-query bind index < vfolder-window-backward bind index > vfolder-window-forward # neomutt does not require notmuch-mutt, so this lot is commented out # 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