summaryrefslogtreecommitdiffstats
path: root/.config/mutt/muttrc
blob: 5d71def112a869b8f8589de9a46115e401cf86a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# vim: filetype=neomuttrc
source /usr/local/share/mutt-wizard/mutt-wizard.muttrc # mw-autogenerated
source /home/yigit/.config/mutt/accounts/1-ceng_argor.muttrc # mw-autogenerated
macro index,pager i1 '<sync-mailbox><enter-command>source /home/yigit/.config/mutt/accounts/1-ceng_argor.muttrc<enter><change-folder>!<enter>;<check-stats>' "switch to yigit@ceng.metu.edu.tr" # mw-autogenerated
macro index,pager i2 '<sync-mailbox><enter-command>source /home/yigit/.config/mutt/accounts/2-metu_argor.muttrc<enter><change-folder>!<enter>;<check-stats>' "switch to ysever@metu.edu.tr" # mw-autogenerated
macro index,pager i3 '<sync-mailbox><enter-command>source /home/yigit/.config/mutt/accounts/3-ceng_stu.muttrc<enter><change-folder>!<enter>;<check-stats>' "switch to e2482057@ceng.metu.edu.tr" # mw-autogenerated
macro index,pager i4 '<sync-mailbox><enter-command>source /home/yigit/.config/mutt/accounts/4-metu_stu.muttrc<enter><change-folder>!<enter>;<check-stats>' "switch to e248205@metu.edu.tr" # mw-autogenerated
macro index,pager i5 '<sync-mailbox><enter-command>source /home/yigit/.config/mutt/accounts/5-xyz.muttrc<enter><change-folder>!<enter>;<check-stats>' "switch to yigit@yigitsever.xyz" # mw-autogenerated

bind generic z noop
bind generic Z noop
set send_charset="utf-8"
set assumed_charset="cp1252"

set sort=threads
set sort_aux=reverse-last-date-received
set strict_threads

# Setting `autoedit` along with `edit_headers` makes Mutt immediately open Vim when
# composing a new message.  Common wisdom is to "write the introduction last".  Assuming
# this advice can be at all extended to writing email, it surely doesn't make sense to
# prompt for a subject line before allowing composition of a mail's body.
set autoedit
set edit_headers

# Also don't ask whether we want to recall a postponed message when hitting `m`.  We can
# use `R` (`recall-message`) to do that.
set recall=no

# update us with search/limit progress every nth message
set read_inc=100

# When in the pager (reading a message), still show a few lines of the index (list of messages) for context.
set pager_index_lines=10

# delete (purge/move) without prompt
# include the reply by default
# reply to, reply_to
set delete=yes
set include=yes
set reply_to=yes

# don't ask me to press keys after external command
set wait_key=no

# scroll one line up down between screen boundaries
set menu_scroll

# hide the line wrap + chars
unset markers

# From <https://wiki.archlinux.org/index.php/mutt#Speed_up_folders_switch>.
# Don't pause to show info messages (for example when opening
# another folder).
# See <https://dev.mutt.org/doc/manual.html#sleep-time>.
set sleep_time=0

# composition will never be aborted
set abort_nosubject=no
set abort_unmodified=no

# # Cache message headers here.  This takes very little space and makes opening large folders much faster.
# # See header-caching
# # Big conf file does this for us, ~y
# set header_cache=~/.config/mutt/cache/headers/

# # Make things faster at the cost of a negligible amount of disk space.
# # See <file:///usr/share/doc/neomutt/manual.html#body-caching>.
# # Big conf file does this for us
# set message_cachedir=~/.config/mutt/cache/

# TODO: maybe check out <https://github.com/pimutils/mates.rs>.
set query_command="khard email --parsable '%s'"
# The editor menu is "command-line mode", i.e., what you when hitting colon.
# See <file:///usr/share/doc/neomutt/manual.html#editor-map>.

# When a message contains both plain text and HTML, prefer viewing plain text.
alternative_order text/plain text/html
bind editor <Tab> complete-query

# Customize the status line at the bottom.
# The format string reduces the amount of information compared to the default and doesn't use hyphens for padding.
# See <http://www.mutt.org/doc/manual/#status-format>.
# set status_format="%f%?V?/%V? [%m%?M?, %M shown?%?n?, %n new?%?o?, %o old?%?d?, %d deleted?%?F?, %F flagged?%?t?, %t tagged?%?p?, %p postponed?] %> %P"
# set index_format="hi"
set index_format="%2C %Z %?X?A& ? %[%e %b %y %R] %-15.15F %s (%-4.4c)"

# See <file:///usr/share/doc/neomutt/manual.html#compose-format>).
# Also get rid of the hyphens again.
set compose_format=

# Customize the status line shown when reading a message (the status line for the pager).
# See <https://dev.mutt.org/doc/manual.html#pager-format>.
set pager_format="%s%*   %P"

macro index,pager \cb "<pipe-message> urlscan<Enter>" "call urlscan to extract URLs out of a message"
macro attach,compose \cb "<pipe-entry> urlscan<Enter>" "call urlscan to extract URLs out of a message"

set crypt_autosign = no
set crypt_opportunistic_encrypt = no
set pgp_self_encrypt = yes
set pgp_default_key  = 198466C2F5664940F73A1715B87B63C533C38A88

unset query_command

macro index,pager A \
  "<pipe-message>khard add-email<return>" \
  "add the sender email address to khard"

set sig_dashes = no
set sig_on_top = yes
set signature = "echo '~yigit\n'|"

# TODO: this is an exciting rabbit hole <27-11-20, yigit> #
# https://lwn.net/SubscriberLink/837960/f3bcafeaed37425d/
# score '~f pangin' +10
# score '~s ceng351' +20
# color index color208 color234 "~n 10"
# color index black red  "~n 20"

set sidebar_format = "%D%?F? [%F]?%* %?N?%N/? %?S?%S?"