home-config/aerc/aerc.conf

72a67b03676e435d52fc84b2f3990ad12d54159a · 17.0 KB · 568 lines raw

1 #
2 # aerc main configuration
3
4 [general]
5 #
6 # Used as a default path for save operations if no other path is specified.
7 # ~ is expanded to the current user home dir.
8 #
9 default-save-path=~/Downloads/
10
11 # If set to "gpg", aerc will use system gpg binary and keystore for all crypto
12 # operations. If set to "internal", the internal openpgp keyring will be used.
13 # If set to "auto", the system gpg will be preferred unless the internal
14 # keyring already exists, in which case the latter will be used.
15 #
16 # Default: auto
17 pgp-provider=gpg
18
19 # By default, the file permissions of accounts.conf must be restrictive and
20 # only allow reading by the file owner (0600). Set this option to true to
21 # ignore this permission check. Use this with care as it may expose your
22 # credentials.
23 #
24 # Default: false
25 unsafe-accounts-conf=true # I don't store my creds in this
26
27 # Output log messages to specified file. A path starting with ~/ is expanded to
28 # the user home dir. When redirecting aerc's output to a file using > shell
29 # redirection, this setting is ignored and log messages are printed to stdout.
30 #
31 #log-file=~/aerc_log
32
33 # Only log messages above the specified level to log-file. Supported levels
34 # are: trace, debug, info, warn and error. When redirecting aerc's output to
35 # a file using > shell redirection, this setting is ignored and the log level
36 # is forced to trace.
37 #
38 # Default: info
39 log-level=trace
40
41 # Set the $TERM environment variable used for the embedded terminal.
42 #
43 # Default: xterm-256color
44 #term=xterm-256color
45
46 # Display OSC8 strings in the embedded terminal
47 #
48 # Default: false
49 #enable-osc8=false
50
51 [ui]
52 #
53 # Describes the format for each row in a mailbox view. This is a comma
54 # separated list of column names with an optional align and width suffix. After
55 # the column name, one of the '<' (left), ':' (center) or '>' (right) alignment
56 # characters can be added (by default, left) followed by an optional width
57 # specifier. The width is either an integer representing a fixed number of
58 # characters, or a percentage between 1% and 99% representing a fraction of the
59 # terminal width. It can also be one of the '*' (auto) or '=' (fit) special
60 # width specifiers. Auto width columns will be equally attributed the remaining
61 # terminal width. Fit width columns take the width of their contents. If no
62 # width specifier is set, '*' is used by default.
63 #
64 # Default: date<20,name<17,flags>4,subject<*
65 #index-columns=date<20,name<17,flags>4,subject<*
66
67 spinner = '/,-,\,|'
68
69 #
70 # Each name in index-columns must have a corresponding column-$name setting.
71 # All column-$name settings accept golang text/template syntax. See
72 # aerc-templates(7) for available template attributes and functions.
73 #
74 # Default settings
75 #column-date={{.DateAutoFormat .Date.Local}}
76 #column-name={{index (.From | names) 0}}
77 #column-flags={{.Flags | join ""}}
78 #column-subject={{.ThreadPrefix}}{{.Subject}}
79
80 #
81 # String separator inserted between columns. When the column width specifier is
82 # an exact number of characters, the separator is added to it (i.e. the exact
83 # width will be fully available for the column contents).
84 #
85 # Default: " "
86 #column-separator=" "
87
88 #
89 # See time.Time#Format at https://godoc.org/time#Time.Format
90 #
91 # Default: 2006-01-02 03:04 PM (ISO 8601 + 12 hour time)
92 #timestamp-format=2006-01-02 03:04 PM
93
94 #
95 # Index-only time format for messages that were received/sent today.
96 # If this is not specified, timestamp-format is used instead.
97 #
98 #this-day-time-format=
99
100 #
101 # Index-only time format for messages that were received/sent within the last
102 # 7 days. If this is not specified, timestamp-format is used instead.
103 #
104 #this-week-time-format=
105
106 #
107 # Index-only time format for messages that were received/sent this year.
108 # If this is not specified, timestamp-format is used instead.
109 #
110 #this-year-time-format=
111
112 #
113 # Width of the sidebar, including the border.
114 #
115 # Default: 20
116 #sidebar-width=20
117
118 #
119 # Message to display when viewing an empty folder.
120 #
121 # Default: (no messages)
122 #empty-message=(no messages)
123
124 # Message to display when no folders exists or are all filtered
125 #
126 # Default: (no folders)
127 #empty-dirlist=(no folders)
128
129 # Enable mouse events in the ui, e.g. clicking and scrolling with the mousewheel
130 #
131 # Default: false
132 #mouse-enabled=false
133
134 #
135 # Ring the bell when new messages are received
136 #
137 # Default: true
138 #new-message-bell=true
139
140 #
141 # Template to use for Account tab titles
142 #
143 # Default: {{.Account}}
144 #tab-title-account={{.Account}}
145
146 # Marker to show before a pinned tab's name.
147 #
148 # Default: `
149 #pinned-tab-marker='`'
150
151 # Template for the left side of the directory list.
152 # See aerc-templates(7) for all available fields and functions.
153 #
154 # Default: {{.Folder}}
155 #dirlist-left={{.Folder}}
156
157 # Template for the right side of the directory list.
158 # See aerc-templates(7) for all available fields and functions.
159 #
160 # Default: {{if .Unread}}{{humanReadable .Unread}}/{{end}}{{if .Exists}}{{humanReadable .Exists}}{{end}}
161 #dirlist-right={{if .Unread}}{{humanReadable .Unread}}/{{end}}{{if .Exists}}{{humanReadable .Exists}}{{end}}
162
163 # Delay after which the messages are actually listed when entering a directory.
164 # This avoids loading messages when skipping over folders and makes the UI more
165 # responsive. If you do not want that, set it to 0s.
166 #
167 # Default: 200ms
168 #dirlist-delay=200ms
169
170 # Display the directory list as a foldable tree that allows to collapse and
171 # expand the folders.
172 #
173 # Default: false
174 #dirlist-tree=false
175
176 # If dirlist-tree is enabled, set level at which folders are collapsed by
177 # default. Set to 0 to disable.
178 #
179 # Default: 0
180 #dirlist-collapse=0
181
182 # List of space-separated criteria to sort the messages by, see *sort*
183 # command in *aerc*(1) for reference. Prefixing a criterion with "-r "
184 # reverses that criterion.
185 #
186 # Example: "from -r date"
187 #
188 #sort=
189
190 # Moves to next message when the current message is deleted
191 #
192 # Default: true
193 #next-message-on-delete=true
194
195 # Automatically set the "seen" flag when a message is opened in the message
196 # viewer.
197 #
198 # Default: true
199 #auto-mark-read=true
200
201 # The directories where the stylesets are stored. It takes a colon-separated
202 # list of directories. If this is unset or if a styleset cannot be found, the
203 # following paths will be used as a fallback in that order:
204 #
205 # ${XDG_CONFIG_HOME:-~/.config}/aerc/stylesets
206 # ${XDG_DATA_HOME:-~/.local/share}/aerc/stylesets
207 # /usr/local/share/aerc/stylesets
208 # /usr/share/aerc/stylesets
209 #
210 #stylesets-dirs=
211
212 # Uncomment to use box-drawing characters for vertical and horizontal borders.
213 #
214 # Default: " "
215 #border-char-vertical=" "
216 #border-char-horizontal=" "
217
218 # Sets the styleset to use for the aerc ui elements.
219 #
220 # Default: default
221 #styleset-name=default
222
223 # Activates fuzzy search in commands and their arguments: the typed string is
224 # searched in the command or option in any position, and need not be
225 # consecutive characters in the command or option.
226 #
227 # Default: false
228 #fuzzy-complete=false
229
230 # How long to wait after the last input before auto-completion is triggered.
231 #
232 # Default: 250ms
233 #completion-delay=250ms
234
235 # The minimum required characters to allow auto-completion to be triggered after
236 # completion-delay.
237 #
238 # Default: 1
239 #completion-min-chars=1
240
241 #
242 # Global switch for completion popovers
243 #
244 # Default: true
245 #completion-popovers=true
246
247 # Uncomment to use UTF-8 symbols to indicate PGP status of messages
248 #
249 # Default: ASCII
250 #icon-unencrypted=
251 #icon-encrypted=✔
252 #icon-signed=✔
253 #icon-signed-encrypted=✔
254 #icon-unknown=✘
255 #icon-invalid=⚠
256
257 # Reverses the order of the message list. By default, the message list is
258 # ordered with the newest (highest UID) message on top. Reversing the order
259 # will put the oldest (lowest UID) message on top. This can be useful in cases
260 # where the backend does not support sorting.
261 #
262 # Default: false
263 #reverse-msglist-order = false
264
265 # Reverse display of the mesage threads. Default order is the the intial
266 # message is on the top with all the replies being displayed below. The
267 # reverse option will put the initial message at the bottom with the
268 # replies on top.
269 #
270 # Default: false
271 #reverse-thread-order=false
272
273 # Sort the thread siblings according to the sort criteria for the messages. If
274 # sort-thread-siblings is false, the thread siblings will be sorted based on
275 # the message UID in ascending order. This option is only applicable for
276 # client-side threading with a backend that enables sorting. Note that there's
277 # a performance impact when sorting is activated.
278 #
279 # Default: false
280 #sort-thread-siblings=false
281
282 #[ui:account=Personal]
283 #
284 # Enable a threaded view of messages. If this is not supported by the backend
285 # (IMAP server or notmuch), threads will be built by the client.
286 #
287 # Default: false
288 threading-enabled=true
289
290 # Force client-side thread building
291 #
292 # Default: false
293 #force-client-threads=false
294
295 # Debounce client-side thread building
296 #
297 # Default: 50ms
298 #client-threads-delay=50ms
299
300 [statusline]
301 #
302 # Describes the format for the status line. This is a comma separated list of
303 # column names with an optional align and width suffix. See [ui].index-columns
304 # for more details. To completely mute the status line except for push
305 # notifications, explicitly set status-columns to an empty string.
306 #
307 # Default: left<*,center:=,right>*
308 #status-columns=left<*,center:=,right>*
309
310 #
311 # Each name in status-columns must have a corresponding column-$name setting.
312 # All column-$name settings accept golang text/template syntax. See
313 # aerc-templates(7) for available template attributes and functions.
314 #
315 # Default settings
316 #column-left=[{{.Account}}] {{.StatusInfo}}
317 #column-center={{.PendingKeys}}
318 #column-right={{.TrayInfo}}
319
320 #
321 # String separator inserted between columns.
322 # See [ui].column-separator for more details.
323 #
324 #column-separator=" "
325
326 # Specifies the separator between grouped statusline elements.
327 #
328 # Default: " | "
329 #separator=" | "
330
331 # Defines the mode for displaying the status elements.
332 # Options: text, icon
333 #
334 # Default: text
335 #display-mode=text
336
337 [viewer]
338 #
339 # Specifies the pager to use when displaying emails. Note that some filters
340 # may add ANSI codes to add color to rendered emails, so you may want to use a
341 # pager which supports ANSI codes.
342 #
343 # Default: less -R
344 #pager=less -R
345
346 #
347 # If an email offers several versions (multipart), you can configure which
348 # mimetype to prefer. For example, this can be used to prefer plaintext over
349 # html emails.
350 #
351 # Default: text/plain,text/html
352 #alternatives=text/plain,text/html
353
354 #
355 # Default setting to determine whether to show full headers or only parsed
356 # ones in message viewer.
357 #
358 # Default: false
359 #show-headers=false
360
361 #
362 # Layout of headers when viewing a message. To display multiple headers in the
363 # same row, separate them with a pipe, e.g. "From|To". Rows will be hidden if
364 # none of their specified headers are present in the message.
365 #
366 # Default: From|To,Cc|Bcc,Date,Subject
367 #header-layout=From|To,Cc|Bcc,Date,Subject
368
369 # Whether to always show the mimetype of an email, even when it is just a single part
370 #
371 # Default: false
372 #always-show-mime=false
373
374 # Parses and extracts http links when viewing a message. Links can then be
375 # accessed with the open-link command.
376 #
377 # Default: true
378 #parse-http-links=true
379
380 [compose]
381 #
382 # Specifies the command to run the editor with. It will be shown in an embedded
383 # terminal, though it may also launch a graphical window if the environment
384 # supports it. Defaults to $EDITOR, or vi.
385 #editor=
386
387 # Address book command
388 address-book-cmd = sh -c 'abook --mutt-query "%s" | tail -n +2'
389
390 #
391 # Default header fields to display when composing a message. To display
392 # multiple headers in the same row, separate them with a pipe, e.g. "To|From".
393 #
394 # Default: To|From,Subject
395 #header-layout=To|From,Subject
396
397 #
398 # Specifies the command to be used to tab-complete email addresses. Any
399 # occurrence of "%s" in the address-book-cmd will be replaced with what the
400 # user has typed so far.
401 #
402 # The command must output the completions to standard output, one completion
403 # per line. Each line must be tab-delimited, with an email address occurring as
404 # the first field. Only the email address field is required. The second field,
405 # if present, will be treated as the contact name. Additional fields are
406 # ignored.
407 #
408 # This parameter can also be set per account in accounts.conf.
409 #address-book-cmd=
410
411 # Specifies the command to be used to select attachments. Any occurence of '%s'
412 # in the file-picker-cmd will be replaced the argument <arg> to :attach -m
413 # <arg>.
414 #
415 # The command must output the selected files to standard output, one file per
416 # line.
417 file-picker-cmd=fzf --multi --query=%s
418
419 #
420 # Allow to address yourself when replying
421 #
422 # Default: true
423 #reply-to-self=true
424
425 #
426 # Warn before sending an email that matches the specified regexp but does not
427 # have any attachments. Leave empty to disable this feature.
428 #
429 # Uses Go's regexp syntax, documented at https://golang.org/s/re2syntax. The
430 # "(?im)" flags are set by default (case-insensitive and multi-line).
431 #
432 # Example:
433 # no-attachment-warning=^[^>]*attach(ed|ment)
434 #
435 #no-attachment-warning=
436
437 #
438 # When set, aerc will generate "format=flowed" bodies with a content type of
439 # "text/plain; format=flowed" as described in RFC3676. This format is easier to
440 # handle for some mailing software, and generally just looks like ordinary
441 # text. To actually make use of this format's features, you'll need support in
442 # your editor.
443 #
444 format-flowed=true
445
446 [multipart-converters]
447 #
448 # Converters allow to generate multipart/alternative messages by converting the
449 # main text/plain part into any other MIME type. Only exact MIME types are
450 # accepted. The commands are invoked with sh -c and are expected to output
451 # valid UTF-8 text.
452 #
453 # Example (obviously, this requires that you write your main text/plain body
454 # using the markdown syntax):
455 text/html=pandoc --wrap=preserve -f gfm+hard_line_breaks -t html --standalone
456
457 [filters]
458 #
459 # Filters allow you to pipe an email body through a shell command to render
460 # certain emails differently, e.g. highlighting them with ANSI escape codes.
461 #
462 # The commands are invoked with sh -c. The following folders are appended to
463 # the system $PATH to allow referencing filters from their name only:
464 #
465 # ${XDG_CONFIG_HOME:-~/.config}/aerc/filters
466 # ${XDG_DATA_HOME:-~/.local/share}/aerc/filters
467 # $PREFIX/share/aerc/filters
468 # /usr/share/aerc/filters
469 #
470 # The following variables are defined in the filter command environment:
471 #
472 # AERC_MIME_TYPE the part MIME type/subtype
473 # AERC_FORMAT the part content type format= parameter
474 # AERC_FILENAME the attachment filename (if any)
475 # AERC_SUBJECT the message Subject header value
476 # AERC_FROM the message From header value
477 #
478 # The first filter which matches the email's mimetype will be used, so order
479 # them from most to least specific.
480 #
481 # You can also match on non-mimetypes, by prefixing with the header to match
482 # against (non-case-sensitive) and a comma, e.g. subject,text will match a
483 # subject which contains "text". Use header,~regex to match against a regex.
484 #
485 #text/plain=colorize
486 #text/calendar=calendar
487 message/delivery-status=bat -fn
488 message/rfc822=bat -fn
489 text/html=pandoc -f html -t plain | bat -fn
490 #text/html=html | colorize
491 text/*=bat -fn --file-name="$AERC_FILENAME"
492 application/x-sh=bat -fn -l sh
493 #image/*=catimg -w $(tput cols) -
494 #subject,~Git(hub|lab)=lolcat -f
495 #from,thatguywhodoesnothardwraphismessages=wrap -w 100 | colorize
496
497 # This special filter is only used to post-process email headers when
498 # [viewer].show-headers=true
499 # By default, headers are piped directly into the pager.
500 #
501 #.headers=bat -fp
502
503 [openers]
504 #
505 # Openers allow you to specify the command to use for the :open and :open-link
506 # actions on a per-MIME-type basis. The :open-link URL scheme is used to
507 # determine the MIME type as follows: x-scheme-handler/<scheme>.
508 #
509 # {} is expanded as the temporary filename to be opened. If it is not
510 # encountered in the command, the temporary filename will be appened to the end
511 # of the command.
512 #
513 # Like [filters], openers support basic shell globbing. The first opener which
514 # matches the part's MIME type (or URL scheme handler MIME type) will be used,
515 # so order them from most to least specific.
516 #
517 # Examples:
518 # x-scheme-handler/irc=hexchat
519 # x-scheme-handler/http*=firefox
520 # text/html=surf -dfgms
521 # text/plain=gvim {} +125
522 # message/rfc822=thunderbird
523
524 [hooks]
525 #
526 # Hooks are triggered whenever the associated event occurs.
527
528 #
529 # Executed when a new email arrives in the selected folder
530 mail-received=notify-send "$AERC_FROM_NAME" "$AERC_SUBJECT"
531
532 #
533 # Executed when aerc starts
534 #aerc-startup=aerc :terminal calcurse && aerc :next-tab
535
536 #
537 # Executed when aerc shuts down.
538 #aerc-shutdown=
539
540 [templates]
541 # Templates are used to populate email bodies automatically.
542 #
543
544 # The directories where the templates are stored. It takes a colon-separated
545 # list of directories. If this is unset or if a template cannot be found, the
546 # following paths will be used as a fallback in that order:
547 #
548 # ${XDG_CONFIG_HOME:-~/.config}/aerc/templates
549 # ${XDG_DATA_HOME:-~/.local/share}/aerc/templates
550 # /usr/local/share/aerc/templates
551 # /usr/share/aerc/templates
552 #
553 #template-dirs=
554
555 # The default template to be used for new messages.
556 #
557 # default: new_message
558 #new-message=new_message
559
560 # The default template to be used for quoted replies.
561 #
562 # default: quoted_reply
563 #quoted-reply=quoted_reply
564
565 # The default template to be used for forward as body.
566 #
567 # default: forward_as_body
568 #forwards=forward_as_body