# 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 a message to a mailbox" macro index M "?" "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 "abook" "launch abook" macro index,pager A "abook --add-email" "Add this sender to Abook" bind editor 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 sync-mailbox bind index collapse-thread # Ctrl-R to mark all as read macro index \Cr "T~UN." "mark all messages as read" # Sidebar Navigation --------------------------------- bind index,pager sidebar-next bind index,pager sidebar-prev bind index,pager 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 a message to a mailbox" macro index M "?" "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 view-mailcap # open links macro pager \Cu "|urlview" "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 "mbsync matthewlemonproton" "run offlineimap to sync all mail" # get an email from mutt to taskwarrior macro index T "mutt2task.py /INBOX.Archive" # 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:// 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 ...} # # --------------------------------------------------------------------------