|
|
#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 mrlemon@yulqen.org y@yulqen.org hello@twentyfoursoftware.co.uk
# 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 <pipe-entry>'urlview'<enter> 'Follow links with urlview'
macro attach,compose \cb <pipe-entry>'urlview'<enter> 'Follow links with urlview'
# Folder Shortcuts
macro index Ei '<change-folder>Inbox<enter>' 'Go to Inbox'
macro index Ea '<change-folder>Archive<enter>' 'Go to Archive'
macro index Es '<change-folder>Sent<enter>' 'Go to Sent Mail'
macro index ES '<change-folder>Subscriptions<enter>' '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 <tab> sync-mailbox
bind index <space> collapse-thread
# Ctrl-R to mark all as read
macro index \Cr "T~U<enter><tag-prefix><clear-flag>N<untag-pattern>.<enter>" "mark all messages as read"
# Sync email
macro index O "<shell-escape>clear && mbsync purelymailchannel<enter>" "run mbsync to sync all mail"
#macro index o "<shell-escape>offlineimap -qf INBOX<enter>" "run offlineimap to sync inbox"
# Saner copy/move dialogs
# never use this -> macro index C "<copy-message>?<toggle-mailboxes>" "copy a message to a mailbox"
macro index M "<save-message>?<toggle-mailboxes>" "move a message to a mailbox"
# Sidebar Navigation ---------------------------------
bind index,pager <down> sidebar-next
bind index,pager <up> sidebar-prev
bind index,pager <right> 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 <return> view-mailcap
# open links
macro pager \Cu "|urlview<enter>" "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 from = "Matthew Lemon <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 "<shell-escape>abook<return>" "launch abook"
macro index,pager A "<pipe-message>abook --add-email<return>" "Add this sender to Abook"
bind editor <Tab> complete-query
bind editor ^T complete
#set query_command = "khard email --parsable %s"
# bind editor <Tab> complete-query
# bind editor ^T complete
set query_command = "khard email --parsable %s"
bind editor <Tab> complete-query
bind editor ^T complete
macro index,pager A "<pipe-message>khard add-email<return>" "add the sender email address to khard"
# Better searching in mutt
bind index N search-opposite
bind pager N search-opposite
macro index a "<limit>all\n" "show all messages (undo limit)"
# get an email from mutt to taskwarrior
#macro index T "<pipe-message>mutt2task<enter> <move-message>purelymail/INBOX.Archive<enter>"
# Handle searching using notmuch (see Steve Losh article)
# this doesn't work on linux so using another macro index S "<enter-command>unset wait_key<enter><shell-escape>mutt-notmuch-py.py ~/.mail/temporary/search<enter><change-folder-readonly>+temporary/search<enter>" "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 \\\\ "<vfolder-from-query>"
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
macro index <F8> \
"<enter-command>set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key<enter>\
<shell-escape>notmuch-mutt -r --prompt search<enter>\
<change-folder-readonly>`echo ${XDG_CACHE_HOME:-$HOME/.cache}/notmuch/mutt/results`<enter>\
<enter-command>set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key<enter>" \
"notmuch: search mail"
macro index <F9> \
"<enter-command>set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key<enter>\
<pipe-message>notmuch-mutt -r thread<enter>\
<change-folder-readonly>`echo ${XDG_CACHE_HOME:-$HOME/.cache}/notmuch/mutt/results`<enter>\
<enter-command>set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key<enter>" \
"notmuch: reconstruct thread"
macro index <F6> \
"<enter-command>set my_old_pipe_decode=\$pipe_decode my_old_wait_key=\$wait_key nopipe_decode nowait_key<enter>\
<pipe-message>notmuch-mutt tag -- -inbox<enter>\
<enter-command>set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key<enter>" \
"notmuch: remove message from inbox"
# old Losh OSX-based orientation
#macro index <F8> "<enter-command>unset wait_key<enter><shell-escape>/usr/bin/notmuch-mutt --prompt search<enter><change-folder-readonly>~/.cache/mutt_results<enter>" "search mail (using notmuch)"
#macro index <F9> "<enter-command>unset wait_key<enter><pipe-message>/usr/bin/notmuch-mutt thread<enter><change-folder-readonly>~/.cache/mutt_results<enter><enter-command>set wait_key<enter>" "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
|