summaryrefslogtreecommitdiffstats
path: root/muttrc
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--muttrc276
1 files changed, 276 insertions, 0 deletions
diff --git a/muttrc b/muttrc
new file mode 100644
index 0000000..1b4dfb7
--- /dev/null
+++ b/muttrc
@@ -0,0 +1,276 @@
+# 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 = 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 = "+matt-matthewlemon.com/INBOX"
+#set spoolfile = "+INBOX"
+
+# Alternate email addresses.
+#alternates <shit goes in here>
+
+# Mailboxes to show in the sidebar.
+
+subscribe announce@openbsd.org
+
+named-mailboxes Inbox +matt-matthewlemon.com/INBOX \
+ Sent +matt-matthewlemon.com/Sent \
+ Archive +matt-matthewlemon.com/Archive \
+ Drafts +matt-matthewlemon.com/Drafts \
+ # Archive.2020 +matt-matthewlemon.com/Archive.2020 \
+ # Sent.2020 +matt-matthewlemon.com/Sent.2020 \
+ 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 <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>+matt-matthewlemon.com/INBOX<enter>' 'Go to Inbox'
+macro index Ea '<change-folder>+matt-matthewlemon.com/Archive<enter>' 'Go to Archive'
+macro index Es '<change-folder>+matt-matthewlemon.com/Sent<enter>' '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 <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>offlineimap<enter>" "run offlineimap to sync all mail"
+macro index o "<shell-escape>offlineimap -qf INBOX<enter>" "run offlineimap to sync inbox"
+
+# Saner copy/move dialogs
+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 -------------------------------
+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/bin/msmtp -a matthewlemon"
+set sendmail_wait = 0
+set record = "+matt-matthewlemon.com/Sent"
+
+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 "<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
+# 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>+matt-matthewlemon.com/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
+
+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