home-config/aerc/aerc.conf

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