summaryrefslogtreecommitdiffstats
path: root/muttrc_fastmail_may22
diff options
context:
space:
mode:
Diffstat (limited to 'muttrc_fastmail_may22')
-rw-r--r--muttrc_fastmail_may22357
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