-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.muttrc
203 lines (167 loc) · 9.47 KB
/
.muttrc
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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
# ~/.muttrc
# Paths ----------------------------------------------------------------------
set folder = ~/.mail # mailbox location
set alias_file = ~/.mutt/alias # 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/sig # my signature file
# 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
# Sidebar Patch --------------------------------------------------------------
set sidebar_delim = ' | '
set sidebar_visible = yes
set sidebar_width = 30
# 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: subject: # show only these
unhdr_order * # some distros order things by default
hdr_order from: to: cc: date: subject: # and in this order
# Account Settings -----------------------------------------------------------
set spoolfile = "+ross-rosstimson.com/INBOX" # Default inbox
mailboxes +ross-rosstimson.com/INBOX \
+ross-rosstimson.com/sent \
+ross-rosstimson.com/drafts \
+ross-rosstimson.com/archive
mailboxes +rosstimson-gmail.com/INBOX \
+rosstimson-gmail.com/sent \
+rosstimson-gmail.com/drafts \
+rosstimson-gmail.com/archive
# Sending (via MSMTP)
folder-hook 'ross-rosstimson.com' "set sendmail = '/usr/local/bin/msmtp -a rosstimson'"
folder-hook 'ross-rosstimson.com' "set from = '[email protected]'"
folder-hook 'rosstimson-gmail.com' "set sendmail = '/usr/local/bin/msmtp -a gmail'"
folder-hook 'rosstimson-gmail.com' "set from = '[email protected]'"
# Misc sending settings
set sendmail_wait = 0 # Wait for msmtp to finish sending before returning control
unset record # No need to save sent mail to HDD as Gmail will do this for us
# Postpone / draft emails
bind compose p postpone-message
bind index p recall-message
# Other special folders
folder-hook 'ross-rosstimson.com' "set mbox = '+ross-rosstimson.com/archive'"
folder-hook 'ross-rosstimson.com' "set postponed = '+ross-rosstimson.com/drafts'"
folder-hook 'rosstimson-gmail.com' "set mbox = '+rosstimson-gmail.com/archive'"
folder-hook 'rosstimson-gmail.com' "set postponed = '+rosstimson-gmail.com/drafts'"
# Index View Options ---------------------------------------------------------
set date_format = "%m/%d"
set index_format = "[%Z] %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 gg first-entry
bind index G last-entry
bind index R group-reply
bind index <tab> sync-mailbox
bind index <space> collapse-thread
# 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"
# Sync email
macro index O "<shell-escape>offlineimap<enter>" "run offlineimap to sync all mail"
macro index o "<shell-escape>offlineimap -qf INBOX<enter>" "run offlineimap to sync inbox"
# 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"
# Shortcuts for handling spam
macro index,pager S "<save-message>=Spam<enter>" "mark as spam"
macro index,pager H "<save-message>=INBOX<enter>" "mark as ham"
# Searching ------------------------------------------------------------------
bind index N search-opposite # goto previous match
bind pager N search-opposite
macro index a "<limit>all\n" "show all messages (undo limit)"
macro index S "<enter-command>unset wait_key<enter><shell-escape>mutt-notmuch-py ~/.mail/temporary/search<enter><change-folder-readonly>+temporary/search<enter>" "search mail (using notmuch)"
mailboxes +temporary/search # read-only folder for displaying search results
# Sidebar Navigation ---------------------------------------------------------
bind index,pager <down> sidebar-next
bind index,pager <up> sidebar-prev
bind index,pager <right> 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
# 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 URLs (urlview)
macro pager \Cu "|urlview<enter>" "call urlview to open links"
# View attachments properly.
bind attach <return> view-mailcap
# Compose View Options -------------------------------------------------------
set realname = "Ross Timson" # 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 -c \"set spell spelllang=en_gb\""
# Colour Theme ---------------------------------------------------------------
# Basic
color normal default default
color indicator black yellow
color status brightcyan brightblack
color tree green default
# Header
color header magenta default .
color header green default ^From
color header brightyellow default ^Subject
# Sidebar
color sidebar_new default red
# URL / Email addresses
color body yellow black [_a-z\.\$A-Z0-9-]+@[a-zA-Z0-9\./\-]+
color body yellow black (http|ftp)://[_a-zA-Z0-9\?\=\&\@\%\#\:\,\./~\-]+
# GNUPG Encryption -----------------------------------------------------------
set pgp_decode_command="gpg %?p?--passphrase-fd 0? --no-verbose --batch --output - %f"
set pgp_verify_command="gpg --no-verbose --batch --output - --verify %s %f"
set pgp_decrypt_command="gpg --passphrase-fd 0 --no-verbose --batch --output - %f"
set pgp_sign_command="gpg --no-verbose --batch --output - --passphrase-fd 0 --armor --detach-sign --textmode %?a?-u %a? %f"
set pgp_clearsign_command="gpg --no-verbose --batch --output - --passphrase-fd 0 --armor --textmode --clearsign %?a?-u %a? %f"
set pgp_encrypt_only_command="pgpewrap gpg --batch --quiet --no-verbose --output - --encrypt --textmode --armor --always-trust --encrypt-to 0x97865D41 -- -r %r -- %f"
set pgp_encrypt_sign_command="pgpewrap gpg --passphrase-fd 0 --batch --quiet --no-verbose --textmode --output - --encrypt --sign %?a?-u %a? --armor --always-trust --encrypt-to 0x97865D41 -- -r %r -- %f"
set pgp_import_command="gpg --no-verbose --import -v %f"
set pgp_export_command="gpg --no-verbose --export --armor %r"
set pgp_verify_key_command="gpg --no-verbose --batch --fingerprint --check-sigs %r"
set pgp_list_pubring_command="gpg --no-verbose --batch --with-colons --list-keys %r"
set pgp_list_secring_command="gpg --no-verbose --batch --with-colons --list-secret-keys %r"
set pgp_autosign=yes
set pgp_sign_as=0x97865D41
set pgp_replysignencrypted=yes
set pgp_timeout=1800
set pgp_auto_decode=yes
set pgp_verify_sig=yes
set pgp_good_sign="^gpg: Good signature from"