summaryrefslogtreecommitdiffstats
path: root/.config/mutt/muttrc
blob: bd8c6567f786ef3ad284bcc3c68937023859764f (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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# 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

# character set for outgoing messages
set send_charset="utf-8"
# if the incoming mail haven't set anything it's probably something dumb.
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
# score "~s EDAS" 20
# color index color208 color234 "~n 10"
# color index black red  "~n 20"

############################
#  custom body highlights  #
############################
# highlight my name and other personally relevant strings
color body color172 default "((Y|y)igit)? (Sever)?"

############################
#  cusom index highlights  #
############################
# messages which mention my name in the body
color index_flags color172 color128 "~b \"(Y|y)igit\"

#############################################
#  deep learning-based junk mail detection  #
#############################################
color index_subject color239 default "EDAS"
color index_author color239 default "EDAS"
color index_subject color239 default "~f @igi-global.com"
color index_author color239 default "~f @igi-global.com"

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