summaryrefslogblamecommitdiffstats
path: root/muttrc_imap
blob: f2070e574540f437555190b5371e437fea85263c (plain) (tree)
1
2
3
4
5
6
7
8
9
10









                                                                                                             
                                              

                                                               
                                                                              
 
                                                  














                                                                               






                                                                                         






























































































































































                                                                                                                                                                     
















































































                                                                                  
# Imap stuff from https://unix.stackexchange.com/questions/689590/configure-mutt-and-hydroxide-for-protonmail
set ssl_starttls=no
set ssl_force_tls=no
set send_charset="us-ascii:utf-8"

set imap_user = "matthewlemon@protonmail.com"
set imap_pass = `pass show AppPasswords/hydroxide`

set folder ="imap://localhost:1143/"
set spoolfile = "imap://localhost:1143/INBOX"
set postponed = "imap://localhost:1143/Drafts"
set crypt_use_gpgme = yes # from https://openports.se/mail/mutt
set mbox = "imap://localhost:1143/[Protonmail]/All Mail"
mailboxes +INBOX +Archive +Starred +Sent +Drafts +Trash +Scans +Mailing\ Lists

set smtp_pass = `pass show AppPasswords/hydroxide`
set smtp_url = "smtp://matthewlemon@protonmail.com@localhost:1025/"

## END OF IMAP STUFF
#
# 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"

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
 
# 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

# 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 = 16
#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
# Allow forwarding of attachments with emails
set mime_forward
set mime_forward_rest
#
# 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
#
# 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"

# 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
 
# 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"
 
# 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"
 
#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
#
# Sync email
macro index O "<shell-escape>mbsync matthewlemonproton<enter>"           "run offlineimap to sync all mail"

# get an email from mutt to taskwarrior
macro index T "<pipe-message>mutt2task.py<enter> <move-message>/INBOX.Archive<enter>"
 
# smtp
# set my_user=matthewlemon@protonmail.com
# set my_pass=C5yFW_QtYH5ck2zU0ek32Q
#set smtp_url="smtp://matthewlemon@protonmail.com:C5yFW_QtYH5ck2zU0ek32Q@127.0.0.1:1025"
set ssl_starttls
#set spoolfile = "+INBOX"
set from = "matt@matthewlemon.com"
#set record = +Sent

# 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 ...}
#
# --------------------------------------------------------------------------