dotfiles/dot_muttrc

207 lines
12 KiB
Plaintext

source ~/.mutt/colors-catppuccin.muttrc
# Paths ----------------------------------------------
set folder = ~/.mail # mailbox location
# source ~/.mutt/mailboxes
set header_cache = ~/.mutt/cache # where to store headers
set header_cache_backend = kyotocabinet
set message_cachedir = $header_cache # where to store bodies
set certificate_file = ~/.mutt/certificates # where to store certs
set mailcap_path = ~/.mutt/mailcap # entries for filetypes
set tmpdir = ~/.mutt/tmp # where to keep temp files
## Mutt Aliases
source ~/.mutt/aliases.muttrc
## Abook
set query_command= "abook --mutt-query '%s'"
# Basic Options --------------------------------------
set wait_key = no # shut up, mutt
set mbox_type = Maildir # mailbox type
set timeout = 1 # idle time before scanning
set sleep_time = 0 # 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
set sidebar_visible = no
# 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 date subject to cc tags
unhdr_order * # some distros order things by default
hdr_order from date subject to cc tags # and in this order
# Index View Options ---------------------------------
set date_format = "%d/%m/%Y"
set index_format = "[%Z] %D %-20.20F %s"
set sort = threads # like gmail
set sort_aux = reverse-last-date-received # like gmail
set collapse_unread = yes
set uncollapse_jump = yes
folder-hook . "exec collapse-all"
set sort_re # thread based on regex
set reply_regexp = "^(([Rr][Ee]?(\[[0-9]+\])?: *)?(\[[^]]+\] *)?)*"
save-hook . '='
# Pager View Options ---------------------------------
set pager_index_lines = 10 # number of index 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 smart_wrap
set menu_context = 5
set menu_move_off = no
set pager_context = 5
set quote_regexp = "^( {0,4}[>|:#%]| {0,4}[a-z0-9]+[>|]+)+"
alternative_order text/plain text/calendar text/enriched text/html
auto_view text/html
auto_view text/calendar
auto_view application/ics
set show_multipart_alternative = "info"
# Key Bindings ---------------------------------
bind generic z noop
bind index,pager,attach g noop
bind index,pager d noop
bind index,pager s noop
bind index,pager c noop
bind generic,pager t noop
bind generic z noop
bind index,pager,attach g noop
bind index,pager d noop
bind index,pager s noop
# bind index,pager c noop
bind generic,pager t noop
bind index,pager e noop
# by default, use mailbox
set realname = "Jan Eitzinger"
set spoolfile = "+moebius/INBOX"
source ~/.mutt/accounts/moebius
# when changing into other mailboxes, use different adresses etc.
# folder-hook moebius/* source ~/.mutt/accounts/moebius
# folder-hook fau/* source ~/.mutt/accounts/fau
macro index,pager <f2> '<sync-mailbox><enter-command>source ~/.mutt/accounts/moebius<enter><change-folder>!<enter>' "switch to moebius"
macro index,pager <f3> '<sync-mailbox><enter-command>source ~/.mutt/accounts/fau<enter><change-folder>!<enter>' "switch to fau"
bind generic,index,pager <tab> next-page
bind generic gg first-entry
bind generic,index G last-entry
bind pager gg top
bind pager G bottom
bind pager k previous-line
bind pager j next-line
bind generic zt current-top
bind generic zz current-middle
bind generic zb current-bottom
bind index <space> collapse-thread
# bind index za collapse-thread
bind index zA collapse-all
bind index,pager N search-opposite
macro index,pager A "<pipe-message>abook --add-email-quiet<return>" "Add this sender to Abook"
bind editor <Tab> complete-query
# Go to folder...
macro index,pager gf "<change-folder>?" "open mailbox..."
bind index,pager c change-folder
# 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"
#
# 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"
# View attachments properly.
bind attach <return> view-mailcap
bind index,pager R group-reply
bind index,pager e resend-message
bind compose p postpone-message
bind index p recall-message
macro index a "<limit>all\n" "show all messages (undo limit)"
# Actions
# ----------------------------------------------------
# macro index A ":set confirmappend=no delete=yes\n<save-message>=archive\n<sync-mailbox>:set confirmappend=yes delete=ask-yes\n"
macro index,pager dd "<delete-message><sync-mailbox>" "move message to trash"
macro index,pager dt "<delete-thread><sync-mailbox>" "move thread to trash"
macro index,pager ss ":macro browser \\015 \"\<select-entry\>\<sync-mailbox\>:bind browser \\\\015 select-entry\\015:bind browser q exit\\015\"\015:macro browser q \"<exit>:bind browser \\\\015 select-entry\\015:bind browser q exit\\015\"\015<save-message>?" "save message to a mailbox"
macro index st ":macro browser \\015 \"\<select-entry\>\<sync-mailbox\>:bind browser \\\\015 select-entry\\015:bind browser q exit\\015\"\015:macro browser q \"<exit>:bind browser \\\\015 select-entry\\015:bind browser q exit\\015'q<untag-pattern>.\\015\"\015<mark-message>q<enter><untag-pattern>.<enter><tag-thread><tag-prefix-cond><save-message>?" "save thread to a mailbox"
macro index \;s ":macro browser \\015 \"\<select-entry\>\<sync-mailbox\>:bind browser \\\\015 select-entry\\015:bind browser q exit\\015\"\015:macro browser q \"<exit>:bind browser \\\\015 select-entry\\015:bind browser q exit\\015\"\015<tag-prefix-cond><save-message>?" "save tagged messages to a mailbox"
macro pager st ":macro browser \\015 \"\<select-entry\>\<sync-mailbox\>:bind browser \\\\015 select-entry\\015:bind browser q exit\\015<display-message>\"\015:macro browser q \"<exit>:bind browser \\\\015 select-entry\\015:bind browser q exit\\015'q<untag-pattern>.\\015<display-message>\"\015<exit><mark-message>q<enter><untag-pattern>.<enter><tag-thread><tag-prefix><save-message>?" "save thread to a mailbox"
# macro index,pager cc ":macro browser \\015 \"\<select-entry\>\<sync-mailbox\>:bind browser \\\\015 select-entry\\015:bind browser q exit\\015\"\015:macro browser q \"<exit>:bind browser \\\\015 select-entry\\015:bind browser q exit\\015\"\015<copy-message>?" "copy message to a mailbox"
# macro index ct ":macro browser \\015 \"\<select-entry\>\<sync-mailbox\>:bind browser \\\\015 select-entry\\015:bind browser q exit\\015\"\015:macro browser q \"<exit>:bind browser \\\\015 select-entry\\015:bind browser q exit\\015'q<untag-pattern>.\\015\"\015<mark-message>q<enter><untag-pattern>.<enter><tag-thread><tag-prefix-cond><copy-message>?" "copy thread to a mailbox"
# macro index \;c ":macro browser \\015 \"\<select-entry\>\<sync-mailbox\>:bind browser \\\\015 select-entry\\015:bind browser q exit\\015\"\015:macro browser q \"<exit>:bind browser \\\\015 select-entry\\015:bind browser q exit\\015\"\015<tag-prefix-cond><copy-message>?" "copy tagged messages to a mailbox"
# macro pager ct ":macro browser \\015 \"\<select-entry\>\<sync-mailbox\>:bind browser \\\\015 select-entry\\015:bind browser q exit\\015<display-message>\"\015:macro browser q \"<exit>:bind browser \\\\015 select-entry\\015:bind browser q exit\\015'q<untag-pattern>.\\015<display-message>\"\015<exit><mark-message>q<enter><untag-pattern>.<enter><tag-thread><tag-prefix><copy-message>?" "copy thread to a mailbox"
bind generic tt tag-entry
bind index tT tag-thread
bind pager tt tag-message
macro pager tT "<exit><mark-message>q<enter><tag-thread>'q<display-message>" "tag-thread"
macro index,pager gx "<pipe-message>urlview<Enter>" "call urlview to extract URLs out of a message"
macro attach,compose gx "<pipe-entry>urlview<Enter>"
# notmuch integration
macro index \Cf \
"<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>/home/jan/.cache/notmuch/mutt/results<enter> \
<enter-command>set pipe_decode=\$my_old_pipe_decode wait_key=\$my_old_wait_key<enter>" \
"notmuch: search mail"
# Compose View Options -------------------------------
set use_from = yes
set use_envelope_from = yes # which from?
set sig_dashes # dashes before sig
set edit_headers # show headers when composing
set fast_reply # skip to compose when replying
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=yes # include message in replies
set forward_quote # include message in forwards
set editor = "vim"
set charset = "utf-8"
set send_charset = "utf-8"
set assumed_charset = "utf-8"
set history_remove_dups = yes
# set smtp_url = "smtp://localhost:25"
# GPG config
#set crypt_use_gpgme = yes
#set pgp_use_gpg_agent = yes
#set pgp_sign_as = 5A145EA24232980E243A2DAC37CD42644BBC5F03
#set pgp_self_encrypt_as = 5A145EA24232980E243A2DAC37CD42644BBC5F03
#set pgp_self_encrypt = yes
#set smime_default_key = 5A145EA24232980E243A2DAC37CD42644BBC5F03
#set smime_self_encrypt = yes
#set crypt_verify_sig = yes
#set crypt_autosign = yes
#set crypt_opportunistic_encrypt = yes
#set postpone_encrypt
#message-hook '!~g !~G ~b "^-----BEGIN PGP (SIGNED )?MESSAGE"' 'exec check-traditional-pgp'
#