diff options
Diffstat (limited to 'muttrc_fastmail_may22')
-rw-r--r-- | muttrc_fastmail_may22 | 357 |
1 files changed, 357 insertions, 0 deletions
diff --git a/muttrc_fastmail_may22 b/muttrc_fastmail_may22 new file mode 100644 index 0000000..0bd3a70 --- /dev/null +++ b/muttrc_fastmail_may22 @@ -0,0 +1,357 @@ +# 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/fastmail # 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 + +source ~/.mutt/subscriptions # Define the list of subscribed mailing lists. +source ~/.mutt/colours # Define colours. + +# 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 = "+INBOX" +#set spoolfile = "+INBOX" + +# Alternate email addresses. +#alternates <shit goes in here> + +# Mailboxes to show in the sidebar. + +subscribe announce@openbsd.org + +mailboxes "+INBOX" "+Archive" "+Drafts" "+Sent" "+Trash" + +# named-mailboxes Inbox +INBOX \ +# Sent\ Items +Sent\ Items \ +# Archive +Archive \ +# Drafts +Drafts \ +# Trash +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 = "+INBOX.Archive" +set postponed = "+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' + +# 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>mbsync fastmailchannel <enter>" "run offlineimap to sync all mail" +# 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/local/bin/msmtp -a fastmail" +# set sendmail_wait = 0 + +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" + +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 + +# 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 + +# example notmuch config: + +virtual-mailboxes "Joanna" "notmuch://?query=from:joanna" + +# -------------------------------------------------------------------------- +# 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 |