diff options
Diffstat (limited to 'muttrc')
-rw-r--r-- | muttrc | 214 |
1 files changed, 74 insertions, 140 deletions
@@ -3,13 +3,9 @@ # at http://stevelosh.com/blog/2012/10/the-homely-mutt/#contacts # source the mutt-solarized colorscheme -#source ~/openbsd-dotfiles/mutt/mutt-colors-solarized-dark-256.muttrc -#source ~/.mutt/mutt-colors-solarized-light-256.muttrc -#source ~/.mutt/colors_purple -#source ~/.mutt/colors256-light -#source ~/.mutt/muttrc-softyellowgreen +#source ~/dotfiles/.mutt/mutt-colors-solarized-dark-256.muttrc - no because it doesn't really work ya radge -set folder = ~/Mail/fastmail # mailbox location +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 @@ -18,10 +14,6 @@ set mailcap_path = ~/.mutt/mailcap # entries for filetypes set tmpdir = ~/.mutt/temp # where to keep temp files set signature = ~/.mutt/signature # my signature file -source ~/.mutt/subscriptions # Define the list of subscribed mailing lists. -#source ~/.mutt/colours # Define colours. -source ~/.mutt/mutt-colors-solarized-dark-256.muttrc # Define colours. - # Allow forwarding of attachments with emails set mime_forward set mime_forward_rest @@ -45,8 +37,8 @@ set text_flowed=yes # Sidebar Patch -------------------------------------- #set sidebar_delim = '│' -set sidebar_visible = no -set sidebar_width = 20 +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 @@ -68,7 +60,7 @@ hdr_order from: to: cc: bcc: date: subject: # and in this order # Account Settings ----------------------------------- # Default inbox. -set spoolfile = "+INBOX" +set spoolfile = "+matt-matthewlemon.com/INBOX" #set spoolfile = "+INBOX" # Alternate email addresses. @@ -77,21 +69,14 @@ set spoolfile = "+INBOX" # Mailboxes to show in the sidebar. subscribe announce@openbsd.org -subscribe ports-changes@cvs.openbsd.org -subscribe tech@openbsd.org -subscribe ports@openbsd.org -subscribe misc@openbsd.org -subscribe peter@golangweekly.com - -# groups -alternates -group me '^matt@matthewlemon.com$' '^matthew.lemon@gmail.com$' '^matthew.lemon104@mod.gov.uk$' - -# named-mailboxes Inbox +INBOX \ -# Sent\ Items +Sent\ Items \ -# Archive +Archive \ -# Drafts +Drafts \ -# Trash +Trash \ +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 \ @@ -101,12 +86,12 @@ alternates -group me '^matt@matthewlemon.com$' '^matthew.lemon@gmail.com$' '^mat #mailboxes +INBOX +INBOX.Archive +INBOX.Sent\ Items +INBOX.Drafts +INBOX.Trash # Other special folders. -set mbox = "+Archive" -set postponed = "+Drafts" +set mbox = "+matt-matthewlemon.com/INBOX.Archive" +set postponed = "+matt-matthewlemon.com/INBOX.Drafts" # Index View Options --------------------------------- -set date_format = "%d-%m-%Y %H:%M " -set index_format = "%4C [%Z] %B %D %-20.20F %s" +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 @@ -128,9 +113,9 @@ 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 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 @@ -142,25 +127,12 @@ bind index R group-reply bind index <tab> sync-mailbox bind index <space> collapse-thread -# Email the sender (not a reply) -bind index,pager @ compose-to-sender - - -# toggle new -bind index \Cn toggle-new - # 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 fastmailchannel && mrlnotmuch.sh <enter>" "run offlineimap to sync all mail" - -# update notmuch -macro index V "<shell-escape>notmuch new<enter>" -macro index K "<shell-escape>notmuch tag +inbox +unread -new -- tag:new<enter>" - -# 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" +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" @@ -185,6 +157,8 @@ 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 @@ -196,6 +170,9 @@ 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? @@ -213,19 +190,13 @@ 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 = "emacsclient -t %s" - -set from = "matt@matthewlemon.com" -#set sendmail = "/usr/bin/msmtp -a fastmail" -# set sendmail_wait = 0 +#set editor = "vim" # Use terminal Vim to compose email. +set editor = "vim %s" -set smtp_authenticators = PLAIN # see https://github.com/neomutt/neomutt/pull/3524 -set smtp_pass = `pass show AppPasswords/mbsync_fastmail_may2022` -set imap_user = "mrlemon@mailforce.net" -set smtp_url = "smtps://$imap_user:$smtp_pass@smtp.fastmail.com:465/" - -set record = "+Sent" +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 @@ -233,13 +204,21 @@ 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'" +#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 @@ -248,11 +227,42 @@ 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/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. @@ -260,86 +270,10 @@ source ~/.mutt/mailboxes # Define the list of folders that receiv #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/colours # Define colours. #source ~/.mutt/sidebar # Define sidebar support (requires sidebar patch) # # MAILCAP auto_view text/html -# example notmuch config: -set virtual_spoolfile=yes - -# -------------------------------------------------------------------------- -# notmuch VARIABLES – shown with their default values -# -------------------------------------------------------------------------- -# This variable specifies notmuch query limit. -set nm_db_limit = 0 -# This variable specifies the default Notmuch database in format: -# notmuch://<absolute path> -set nm_default_url = "notmuch:///home/lemon/Mail" -#set nm_default_url = "" -# The messages tagged with these tags are excluded and not loaded -# from notmuch DB to NeoMutt unless specified explicitly. -set nm_exclude_tags = "" -# This option specifies timeout for Notmuch database. Default is 5 seconds. -set nm_open_timeout = 5 -# This variable specifies notmuch query type, supported types: 'threads' and -# 'messages'. -set nm_query_type = messages -# When writing a message in the NeoMutt record (see $record in the NeoMutt docs), -# also add it to the notmuch DB. Replies inherit the tags from the original email. -set nm_record = no -# Tags modifications to the messages stored in the NeoMutt record. -# example: -# set record = "~/sent-mails" -# set nm_record = yes -# set nm_record_tags = "-inbox,archive,me" -set nm_record_tags = "" -# This variable specifies the notmuch tag used for unread messages. -set nm_unread_tag = unread -# This variable allows you to customize the file browser display for virtual -# folders to your personal taste. -# %C current folder number -# %f folder name (description) -# %m number of messages in the mailbox * -# %n number of unread messages in the mailbox * -# %N N if mailbox has new mail, blank otherwise -# %>X right justify the rest of the string and pad with character ``X'' -# %|X pad to the end of the line with character ``X'' -# %*X soft-fill with character ``X'' as pad -set vfolder_format = "%6n(%6N) %f" -# When set, NeoMutt will use the first virtual mailbox (see virtual-mailboxes) -# as a spool_file. -#set virtual_spool_file = no -# setup time window preferences -# first setup the duration, and then the time unit of that duration -# when set to 0 (the default) the search window feature is disabled -# unless explicitly enabled with nm_query_window_enable. -set nm_query_window_enable=no -set nm_query_window_duration=0 -set nm_query_window_timebase="year" # or "hour", "day", "week", "month", "year" -# Extend query window to always show mail matching these terms. -#set nm_query_window_or_terms="tag:unread and tag:flagged" -# -------------------------------------------------------------------------- -# FUNCTIONS – shown with an example mapping -# -------------------------------------------------------------------------- -# open a different virtual folder -bind index,pager X change-vfolder -# read entire thread of the current message -bind index,pager + entire-thread -# generate virtual folder from query -bind index,pager \eX vfolder-from-query -# generate virtual folder from query with time window -bind index < vfolder-window-backward -bind index > vfolder-window-forward -# toggle between mailboxes and virtual mailboxes -# bind index,pager ??? sidebar-toggle-virtual -# -------------------------------------------------------------------------- -# COMMANDS – shown with an example -# -------------------------------------------------------------------------- -# virtual-mailboxes description notmuch-URL { description notmuch-URL ...} -# virtual-mailboxes "Climbing" "notmuch://?query=climbing" -# unvirtual-mailboxes { * | mailbox ...} -# -# -------------------------------------------------------------------------- # vim: ft=muttrc |