E-Mails have 2-staged flag options for levels of 'seen': Unseen/Seen and Unread/Read. A message is unseen if it has arrived since the last time we had mutt open. We do not have to have had the actual message open for it to be marked seen (or 'old'). In other words, whichever messages we have seen once on the index alone are not 'new' to us anymore, they have been seen. On the other hand, a message is only read if it is actually opened. So even if we have seen it on the index page, or moved it to a different mailbox or anything else, it can still be unread if we did not open it. Additionally, I have it set up now so that the message only gets set to 'read' by neomutt after it has been open for 1 second. This gives a tiny grace period if we are scrubbing through mails or accidentally opened one we did not want.
126 lines
4.1 KiB
Text
126 lines
4.1 KiB
Text
set mail_check = 60
|
|
set mail_check_stats
|
|
|
|
# at least for rapid prototyping
|
|
set quit
|
|
# no pause for info messages
|
|
set sleep_time = 0
|
|
# mark read (not just seen) after
|
|
set pager_read_delay = 1
|
|
# get rid of headers when passing messages along
|
|
set pipe_decode
|
|
# apply commands to all tagged messages automatically
|
|
set auto_tag
|
|
# dont wait for user input after shell cmds, auto-view, piping, etc
|
|
set wait_key = no
|
|
# dont pre-process mail for ~b/~B searches
|
|
set thorough_search = no
|
|
# make it impossible to delete flagged mails
|
|
set flag_safe
|
|
|
|
################### Pager settings
|
|
# filetypes and mailcap
|
|
set mailcap_path = "~/.config/neomutt/mailcap:~/.mailcap:/usr/share/neomutt/mailcap:/etc/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap"
|
|
# Consult mime.types for determining types of these attachments
|
|
mime_lookup application/octet-stream
|
|
# This requires a ~/.mailcap entry with the copiousoutput flag, such as:
|
|
# text/html; lynx -dump -width ${COLUMNS:-80} %s; nametemplate=%s.html; copiousoutput
|
|
auto_view application/ics
|
|
auto_view text/calendar
|
|
auto_view text/plain
|
|
auto_view text/html
|
|
# Prefer plain text to html but multipart to plain for those only sending that
|
|
alternative_order text/calendar application/ics text/plain text/enriched text/html multipart/mixed multipart/related text/plain text/*
|
|
|
|
# look for attachments also in multipart/alternatives
|
|
set count_alternatives = yes
|
|
# AFAIK we do not have to manually ensure dir existence
|
|
set header_cache= "~/.cache/neomutt/hcache/"
|
|
# recommended https://github.com/neomutt/neomutt/issues/3259#issuecomment-1043693471
|
|
set header_cache_backend = "lmdb"
|
|
set header_cache_compress_method = "lz4"
|
|
set header_cache_compress_level = 9
|
|
|
|
################### Compose settings
|
|
# allow editing headers while writing mail
|
|
set edit_headers
|
|
# separate signature from mail
|
|
set sig_dashes
|
|
# automatically fill in from and subject for replies
|
|
set fast_reply
|
|
# subject for forwarding
|
|
set forward_format = "Fwd: %s"
|
|
# default send back to reply-to: header instead of from: header
|
|
set reply_to
|
|
# default to reply as person e-mail was originally sent to
|
|
set reverse_name
|
|
# include original msg in reply
|
|
set include
|
|
# include original msg as quote in fwd
|
|
set forward_quote
|
|
# forward attachments with mail
|
|
set mime_forward = no
|
|
# attachments saved with body
|
|
set fcc_attach
|
|
# we use mimeo in this house
|
|
set mime_type_query_command = "mimeo -m"
|
|
# send settings
|
|
set sendmail = "/usr/bin/msmtp"
|
|
set sendmail_wait = 10
|
|
|
|
################## Display Settings
|
|
# allow escape codes for color etc
|
|
set allow_ansi
|
|
# thread based on the regexes below
|
|
set reply_regex = "^(([Rr][Ee]?(\[[0-9]+\])?: *)?(\[[^]]+\] *)?)*"
|
|
set quote_regex = "^( {0,4}[>|:#%]| {0,4}[A-Za-z0-9]+[>|]+)+"
|
|
#### Thread ordering
|
|
set use_threads=reverse
|
|
set sort='last-date'
|
|
set sort_aux = date
|
|
set collapse_all = yes
|
|
set uncollapse_new = no
|
|
set thread_received = yes
|
|
set narrow_tree = yes
|
|
|
|
# sidebar view options
|
|
set sidebar_width = 20
|
|
set sidebar_visible = no
|
|
set sidebar_component_depth = 0
|
|
set sidebar_divider_char = '│'
|
|
set sidebar_next_new_wrap = yes
|
|
set sidebar_sort = 'path'
|
|
# Shorten mailbox names
|
|
set sidebar_short_path = yes
|
|
# Delete everything up to the last / character
|
|
set sidebar_delim_chars="/"
|
|
# Indent folders whose names we've shortened
|
|
set sidebar_folder_indent = yes
|
|
# Indent with two spaces
|
|
# set sidebar_indent_string = ' - '
|
|
set sidebar_indent_string=" "
|
|
|
|
# statusbar view options
|
|
set status_chars = " *%A"
|
|
# pager view options
|
|
set pager_index_lines = 10
|
|
set pager_context = 3
|
|
# do not go to next msg if at bottom of pager
|
|
set pager_stop
|
|
set menu_scroll = yes
|
|
# show tildes for blank lines
|
|
set tilde
|
|
# no + markers if a line goes off-screen
|
|
unset markers
|
|
set wrap = 100
|
|
# hide headers except for those explicitly unignored
|
|
ignore *
|
|
unignore From To Cc Bcc Date Subject Message-ID
|
|
unhdr_order *
|
|
unignore From To Cc Bcc Date Subject Message-ID
|
|
|
|
# TODO: Remove stderr ignore when khard fixes its deprecation warnings
|
|
# https://github.com/lucc/khard/issues/335
|
|
set query_command = "khard email --parsable --search-in-source-files '%s' 2>/dev/null"
|
|
# Makes notmuch return threads rather than messages
|
|
set nm_query_type = "threads"
|