1AERC-CONFIG(5) File Formats Manual AERC-CONFIG(5)
2
3
4
6 aerc-config - configuration file format for aerc(1)
7
9 There are three aerc config files: aerc.conf, binds.conf, and ac‐
10 counts.conf. The last one must be kept secret, as it may include your
11 account credentials. We look for these files in your XDG config home
12 plus aerc, which defaults to ~/.config/aerc.
13
14 Examples of these config files are typically included with your instal‐
15 lation of aerc and are usually installed in /usr/share/aerc.
16
17 Each file uses the ini format, and consists of sections with keys and
18 values. A line beginning with # is considered a comment and ignored, as
19 are empty lines. New sections begin with [section-name] on a single
20 line, and keys and values are separated with =.
21
22 This manual page focuses on aerc.conf. binds.conf is detailed in aerc-
23 binds(5) and accounts.conf in aerc-accounts(5).
24
25 aerc.conf is used for configuring the general appearance and behavior
26 of aerc.
27
29 These options are configured in the [general] section of aerc.conf.
30
31 default-save-path = <path>
32 Used as a default path for save operations if no other path is
33 specified.
34
35 pgp-provider = auto|gpg|internal
36 If set to gpg, aerc will use system gpg binary and keystore for all
37 crypto operations. If set to internal, the internal openpgp keyring
38 will be used. If set to auto, the system gpg will be preferred un‐
39 less the internal keyring already exists, in which case the latter
40 will be used.
41
42 Default: auto
43
44 unsafe-accounts-conf = true|false
45 By default, the file permissions of accounts.conf must be restric‐
46 tive and only allow reading by the file owner (0600). Set this op‐
47 tion to true to ignore this permission check. Use this with care as
48 it may expose your credentials.
49
50 Default: false
51
52 log-file = <path>
53 Output log messages to specified file. A path starting with ~/ is
54 expanded to the user home dir. When redirecting aerc's output to a
55 file using > shell redirection, this setting is ignored and log
56 messages are printed to stdout.
57
58 log-level = trace|debug|info|warn|error
59 Only log messages above the specified level to log-file. Supported
60 levels are: trace, debug, info, warn and error. When redirecting
61 aerc's output to a file using > shell redirection, this setting is
62 ignored and the log level is forced to trace.
63
64 Default: info
65
66 disable-ipc = true|false
67 Disable the execution of commands over IPC.
68
69 Default: false
70
71 term = <TERM>
72 Set the $TERM environment variable used for the embedded terminal.
73
74 Default: xterm-256color
75
76 enable-osc8 = true_|false
77 Enable the embedded terminal to output OSC 8 (hyperlinks) escape
78 sequences. Not all terminal emulators handle OSC 8 sequences prop‐
79 erly and can produce confusing results, disable this setting if
80 that occurs.
81
82 Default: false
83
85 These options are configured in the [ui] section of aerc.conf.
86
87 index-columns = <column1,column2,column3...>
88 Describes the format for each row in a mailbox view. This is a
89 comma separated list of column names with an optional align and
90 width suffix. After the column name, one of the < (left), : (cen‐
91 ter) or > (right) alignment characters can be added (by default,
92 left) followed by an optional width specifier. The width is either
93 an integer representing a fixed number of characters, or a percent‐
94 age between 1% and 99% representing a fraction of the terminal
95 width. It can also be one of the * (auto) or = (fit) special width
96 specifiers. Auto width columns will be equally attributed the re‐
97 maining terminal width. Fit width columns take the width of their
98 contents. If no width specifier is set, * is used by default.
99
100 Default: date<20,name<17,flags>4,subject<*
101
102 column-separator = "<separator>"
103 String separator inserted between columns. When a column width
104 specifier is an exact number of characters, the separator is added
105 to it (i.e. the exact width will be fully available for that column
106 contents).
107
108 Default: " "
109
110 column-<name> = <go template>
111 Each name in index-columns must have a corresponding column-<name>
112 setting. All column-<name> settings accept golang text/template
113 syntax.
114
115 By default, these columns are defined:
116
117 column-date = {{.DateAutoFormat .Date.Local}}
118 column-name = {{index (.From | names) 0}}
119 column-flags = {{.Flags | join ""}}
120 column-subject = {{.Subject}}
121
122 See aerc-templates(7) for all available symbols and functions.
123
124 timestamp-format = <timeformat>
125 See time.Time#Format at https://godoc.org/time#Time.Format
126
127 Default: 2006-01-02 03:04 PM (ISO 8601 + 12 hour time)
128
129 this-day-time-format = <timeformat>
130 Index-only time format for messages that were received/sent today.
131 If this is not specified, timestamp-format is used instead.
132
133 this-week-time-format = <timeformat>
134 Index-only time format for messages that were received/sent within
135 the last 7 days. If this is not specified, timestamp-format is used
136 instead.
137
138 this-year-time-format = <timeformat>
139 Index-only time format for messages that were received/sent this
140 year. If this is not specified, timestamp-format is used instead.
141
142 message-view-timestamp-format = <timeformat>
143 If set, overrides timestamp-format for the message view.
144
145 message-view-this-day-time-format = <timeformat>
146 If set, overrides timestamp-format in the message view for messages
147 that were received/sent today.
148
149 message-view-this-week-time-format = <timeformat>
150 If set, overrides timestamp-format in the message view for messages
151 that were recieved/sent within the last 7 days.
152
153 message-view-this-year-time-format = <timeformat>
154 If set, overrides timestamp-format in the message view for messages
155 that were received/sent this year.
156
157 sidebar-width = <int>
158 Width of the sidebar, including the border. Set to zero to disable
159 the sidebar.
160
161 Default: 20
162
163 empty-message = <string>
164 Message to display when viewing an empty folder.
165
166 Default: (no messages)
167
168 empty-dirlist = <string>
169 Message to display when no folders exists or are all filtered.
170
171 Default: (no folders)
172
173 mouse-enabled = true|false
174 Enable mouse events in the ui, e.g. clicking and scrolling with the
175 mousewheel
176
177 Default: false
178
179 new-message-bell = true|false
180 Ring the bell when a new message is received.
181
182 Default: true
183
184 tab-title-account = <go_template>
185 The template to use for account tab titles. See aerc-templates(7)
186 for available field names. To conditionally show the unread count
187 next to the account name, set to:
188
189 tab-title-account = {{.Account}} {{if .Unread}}({{.Un‐
190 read}}){{end}}
191
192 Default: {{.Account}}
193
194 tab-title-composer = <go_template>
195 The template to use for composer tab titles. See aerc-templates(7)
196 for available field names.
197
198 Default: {{.Subject}}
199
200 pinned-tab-marker = "<string>"
201 Marker to show before a pinned tab's name.
202
203 Default: `
204
205 spinner = "<string>"
206 Animation shown while loading, split by spinner-delimiter (below)
207
208 Examples:
209 • spinner = "-_-,_-_"
210 • spinner = '. , .'
211 • spinner = ",|,/,-"
212
213
214 Default: "[..] , [..] , [..] , [..] , [..], [..] ,
215 [..] , [..] "
216
217 spinner-delimiter = <string>
218 Spinner delimiter to split string into an animation
219
220 Default: ,
221
222 spinner-interval = <duration>
223 The delay between each spinner frame
224
225 Default: 200ms
226
227 sort = <criteria>
228 List of space-separated criteria to sort the messages by, see :sort
229 command in aerc(1) for reference. Prefixing a criterion with -r re‐
230 verses that criterion.
231
232 Example:
233 sort = from -r date
234
235 dirlist-left = <go template>
236 Template for the left side of the directory list. See aerc-tem‐
237 plates(7) for all available fields and functions.
238
239 Default: {{.Folder}}
240
241 dirlist-right = <go template>
242 Template for the right side of the directory list. See aerc-tem‐
243 plates(7) for all available fields and functions.
244
245 Default: {{if .Unread}}{{humanReadable .Unread}}/{{end}}{{if .Ex‐
246 ists}}{{humanReadable .Exists}}{{end}}
247
248 dirlist-delay = <duration>
249 Delay after which the messages are actually listed when entering a
250 directory. This avoids loading messages when skipping over folders
251 and makes the UI more responsive. If you do not want that, set it
252 to 0s.
253
254 Default: 200ms
255
256 dirlist-tree = true|false
257 Display the directory list as a foldable tree.
258
259 Default: false
260
261 dirlist-collapse = <int>
262 If dirlist-tree is enabled, set level at which folders are col‐
263 lapsed by default. Set to 0 to disable.
264
265 Default: 0
266
267 next-message-on-delete = true|false
268 Moves to next message when the current message is deleted,
269 archived, or moved.
270
271 Default: true
272
273 auto-mark-read = true|false
274 Set the seen flag when a message is opened in the message viewer.
275
276 Default: true
277
278 completion-popovers = true|false
279 Shows potential auto-completions for text inputs in popovers.
280
281 Default: true
282
283 completion-delay = <duration>
284 How long to wait after the last input before auto-completion is
285 triggered.
286
287 Default: 250ms
288
289 completion-min-chars = <int>
290 The minimum required characters to allow auto-completion to be
291 triggered after completion-delay.
292
293 Default: 1
294
295 border-char-vertical = "<char>"
296 border-char-horizontal = "<char>"
297 Set stylable characters (via the border element) for vertical and
298 horizontal borders.
299
300 Default: " "
301
302 stylesets-dirs = <path1:path2:path3...>
303 The directories where the stylesets are stored. The config takes a
304 colon-separated list of dirs. If this is unset or if a styleset
305 cannot be found, the following paths will be used as a fallback in
306 that order:
307
308 ${XDG_CONFIG_HOME:-~/.config}/aerc/stylesets
309 ${XDG_DATA_HOME:-~/.local/share}/aerc/stylesets
310 /usr/local/share/aerc/stylesets
311 /usr/share/aerc/stylesets
312
313 styleset-name = <string>
314 The name of the styleset to be used to style the ui elements. The
315 stylesets are stored in the stylesets directory in the config di‐
316 rectory.
317
318 Default: default
319
320 Have a look at aerc-stylesets(7) as to how a styleset looks like.
321
322 icon-unencrypted = <string>
323 The icon to display for unencrypted mails. The status indicator is
324 only displayed if an icon is set.
325
326 icon-encrypted = <string>
327 The icon to display for encrypted mails.
328
329 Default: [e]
330
331 icon-signed = <string>
332 The icon to display for signed mails where the signature was suc‐
333 cessfully validated.
334
335 Default: [s]
336
337 icon-signed-encrypted = <string>
338 The icon to display for signed and encrypted mails where the signa‐
339 ture was successfully verified. The combined icon is only used if
340 set, otherwise the signed and encrypted icons are displayed sepa‐
341 rately.
342
343 icon-unknown = <string>
344 The icon to display for signed mails which could not be verified
345 due to the key being unknown.
346
347 Default: [s?]
348
349 icon-invalid = <string>
350 The icon to display for signed mails where verification failed.
351
352 Default: [s!]
353
354 icon-attachment = <string>
355 The icon to display index-format when the message has an attach‐
356 ment.
357
358 Default: a
359
360 fuzzy-complete = true|false
361 When typing a command or option, the popover will now show not only
362 the items /starting/ with the string input by the user, but it will
363 also show instances of items /containing/ the string, starting at
364 any position and need not be consecutive characters in the command
365 or option.
366
367 reverse-msglist-order = true|false
368 Reverses the order of the message list. By default, the message
369 list is ordered with the newest (highest UID) message on top. Re‐
370 versing the order will put the oldest (lowest UID) message on top.
371 This can be useful in cases where the backend does not support
372 sorting.
373
374 Default: false
375
376 reverse-thread-order = true|false
377 Reverse display of the message threads. By default, the thread root
378 is displayed at the top of the tree with all replies below. The re‐
379 verse option will put the thread root at the bottom with replies on
380 top.
381
382 Default: false
383
384 sort-thread-siblings = true|false
385 Sort the thread siblings according to the sort criteria for the
386 messages. If sort-thread-siblings is false, the thread siblings
387 will be sorted based on the message UID. This option is only appli‐
388 cable for client-side threading with a backend that enables sort‐
389 ing.
390
391 Default: false
392
393 threading-enabled = true|false
394 Enable a threaded view of messages. If this is not supported by the
395 backend (IMAP server or notmuch), threads will be built by the
396 client.
397
398 Default: false
399
400 force-client-threads = true|false
401 Force threads to be built client-side. Backends that don't support
402 threading will always build threads client side.
403
404 Default: false
405
406 CONTEXTUAL UI CONFIGURATION
407 The UI configuration can be specialized for accounts, specific mail di‐
408 rectories and message subjects. The specializations are added using
409 contextual config sections based on the context.
410
411 The contextual UI configuration is merged to the base UiConfig in the
412 following order: Base UIConfig > Account Context > Folder Context.
413
414 [ui:account=AccountName]
415 Adds account specific configuration with the account name.
416
417 [ui:folder=FolderName]
418 Add folder specific configuration with the folder name.
419
420 [ui:folder~Regex]
421 Add folder specific configuration for folders whose names match the
422 regular expression.
423
424 Example:
425 [ui:account=Work]
426 sidebar-width=...
427
428 [ui:folder=Sent]
429 index-format=...
430
431 [ui:folder~Archive/d+/.*]
432 index-format=...
433
435 These options are configured in the [statusline] section of aerc.conf.
436
437 status-columns = <column1,column2,column3...>
438 Describes the format for the statusline. This is a comma separated
439 list of column names with an optional align and width suffix. See
440 [ui].index-columns for more details.
441
442 To completely mute the statusline (except for push notifications),
443 explicitly set status-columns to an empty string:
444
445 status-columns=
446
447 Default: left<*,center>=,right>*
448
449 column-separator = "<separator>"
450 String separator inserted between columns. See [ui].column-separa‐
451 tor for more details.
452
453 Default: " "
454
455 column-<name> = <go template>
456 Each name in status-columns must have a corresponding column-<name>
457 setting. All column-<name> settings accept golang text/template
458 syntax.
459
460 By default, these columns are defined:
461
462 column-left = [{{.Account}}] {{.StatusInfo}}
463 column-center = {{.PendingKeys}}
464 column-right = {{.TrayInfo}}
465
466 See aerc-templates(7) for all available symbols and functions.
467
468 separator = "<string>"
469 Specifies the separator between grouped statusline elements (e.g.
470 for the {{.ContentInfo}}, {{.TrayInfo}} and {{.StatusInfo}} in col‐
471 umn-<name>).
472
473 Default: " | "
474
475 display-mode = text|icon
476 Defines the mode for displaying the status elements.
477
478 Default: text
479
481 These options are configured in the [viewer] section of aerc.conf.
482
483 pager = <command>
484 Specifies the pager to use when displaying emails. Note that some
485 filters may add ANSI escape sequences to add color to rendered
486 emails, so you may want to use a pager which supports ANSI.
487
488 Default: less -R
489
490 alternatives = <mime,types>
491 If an email offers several versions (multipart), you can configure
492 which mimetype to prefer. For example, this can be used to prefer
493 plaintext over HTML emails.
494
495 Default: text/plain,text/html
496
497 header-layout = <header|layout,list...>
498 Defines the default headers to display when viewing a message. To
499 display multiple headers in the same row, separate them with a
500 pipe, e.g. From|To. Rows will be hidden if none of their specified
501 headers are present in the message.
502
503 Notmuch tags can be displayed by adding Labels.
504
505 Authentication information from the Authentication-Results header
506 can be displayed by adding DKIM, SPF or DMARC. To show more infor‐
507 mation than just the authentication result, append a plus sign (+)
508 to the header name (e.g. DKIM+).
509
510 Default: From|To,Cc|Bcc,Date,Subject
511
512 show-headers = true|false
513 Default setting to determine whether to show full headers or only
514 parsed ones in message viewer.
515
516 Default: false
517
518 always-show-mime = true|false
519 Whether to always show the mimetype of an email, even when it is
520 just a single part.
521
522 Default: false
523
524 parse-http-links = true|false
525 Parses and extracts http links when viewing a message. Links can
526 then be accessed with the open-link command.
527
528 Default: true
529
531 These options are configured in the [compose] section of aerc.conf.
532
533 editor = <command>
534 Specifies the command to run the editor with. It will be shown in
535 an embedded terminal, though it may also launch a graphical window
536 if the environment supports it.
537
538 Defaults to $EDITOR, or vi(1).
539
540 header-layout = <header|layout,list...>
541 Defines the default headers to display when composing a message. To
542 display multiple headers in the same row, separate them with a
543 pipe, e.g. To|From.
544
545 Default: To|From,Subject
546
547 address-book-cmd = <command>
548 Specifies the command to be used to tab-complete email addresses.
549 Any occurrence of %s in the address-book-cmd will be replaced with
550 anything the user has typed after the last comma.
551
552 The command must output the completions to standard output, one
553 completion per line. Each line must be tab-delimited, with an email
554 address occurring as the first field. Only the email address field
555 is required. The second field, if present, will be treated as the
556 contact name. Additional fields are ignored.
557
558 This parameter can also be set per account in accounts.conf.
559
560 Example:
561 address-book-cmd = khard email --remove-first-line --parsable
562 %s
563
564 file-picker-cmd = <command>
565 Specifies the command to be used to select attachments. Any occur‐
566 rence of %s in the file-picker-cmd will be replaced with the argu‐
567 ment <arg> to :attach -m <arg>.
568
569 The command must output the selected files to standard output, one
570 file per line.
571
572 Example:
573 file-picker-cmd = fzf --multi --query=%s
574
575 reply-to-self = true|false
576 If set to false, do not mail yourself when replying (e.g., if re‐
577 plying to emails previously sent by yourself, address your replies
578 to the original To and Cc).
579
580 Default: true
581
582 no-attachment-warning = <regexp>
583 Specifies a regular expression against which an email's body should
584 be tested before sending an email with no attachment. If the regexp
585 matches, aerc will warn you before sending the message. Leave empty
586 to disable this feature.
587
588 Uses Go's regexp syntax, documented at https://golang.org/s/re2syn‐
589 tax. The (?im) flags are set by default (case-insensitive and
590 multi-line).
591
592 Example:
593 no-attachment-warning = ^[^>]*attach(ed|ment)
594
595 format-flowed = true|false
596 When set, aerc will generate Format=Flowed bodies with a content
597 type of "text/plain; Format=Flowed" as described in RFC3676. This
598 format is easier to handle for some mailing software, and generally
599 just looks like ordinary text. To actually make use of this for‐
600 mat's features, you'll need support in your editor.
601
602 Default: false
603
605 Converters allow generating multipart/alternative messages by convert‐
606 ing the main text/plain body into any other text MIME type with the
607 :multipart command. Only exact MIME types are accepted. The commands
608 are invoked with sh -c and are expected to output valid UTF-8 text.
609
610 Only text/<subtype> MIME parts can be generated. The text/plain MIME
611 type is reserved and cannot be generated. You still need to write your
612 emails by hand in your favorite text editor.
613
614 Converters are configured in the [multipart-converters] section of
615 aerc.conf.
616
617 Example:
618
619 [multipart-converters]
620 text/html=pandoc -f markdown -t html --standalone
621
622 Obviously, this requires that you write your main text/plain body using
623 the markdown syntax. Also, mind that some mailing lists reject emails
624 that contain text/html alternative parts. Use this feature carefully
625 and when possible, avoid using it at all.
626
628 Filters are a flexible and powerful way of handling viewing parts of an
629 opened message. When viewing messages aerc will show the list of avail‐
630 able message parts and their MIME type at the bottom, but unless a fil‐
631 ter is defined for a specific MIME type, it will only show a menu with
632 a few options (allowing you to open the part in an external program,
633 save it to disk or pipe it to a shell command). Configuring a filter
634 will allow viewing the output of the filter in the configured pager in
635 aerc's built-in terminal.
636
637 Filters are configured in the [filters] section of aerc.conf. The first
638 filter which matches the part's MIME type will be used, so order them
639 from most to least specific. You can also match on non-MIME types, by
640 prefixing with the header to match against (non-case-sensitive) and a
641 comma, e.g. subject,text will match a subject which contains text. Use
642 header,~regex to match against a regex.
643
644 Note that aerc will pipe the content into the configured filter pro‐
645 gram, so filters need to be able to read from standard input. Many pro‐
646 grams support reading from stdin by putting - instead of a path to a
647 file. You can also chain together multiple filters by piping with |.
648
649 aerc ships with some default filters installed in the libexec directory
650 (usually /usr/libexec/aerc/filters). Note that these may have addi‐
651 tional dependencies that aerc does not have alone.
652
653 The filter commands are invoked with sh -c command. The following fold‐
654 ers are appended to the system $PATH to allow referencing filters from
655 their name only.
656
657 ${XDG_CONFIG_HOME:-~/.config}/aerc/filters
658 ~/.local/libexec/aerc/filters
659 ${XDG_DATA_HOME:-~/.local/share}/aerc/filters
660 $PREFIX/libexec/aerc/filters
661 $PREFIX/share/aerc/filters
662 /usr/libexec/aerc/filters
663 /usr/share/aerc/filters
664
665 The following variables are defined in the filter command environment:
666
667 AERC_MIME_TYPE
668 the part MIME type/subtype
669 AERC_FORMAT
670 the part content type format= parameter (e.g. format=flowed)
671 AERC_FILENAME
672 the attachment filename (if any)
673 AERC_SUBJECT
674 the message Subject header value
675 AERC_FROM
676 the message From header value
677
678 Note that said email body is converted into UTF-8 before being passed
679 to filters.
680
681 If show-headers is enabled, only the currently viewed part body is
682 piped into the filter command. A special .headers filter command can be
683 defined to post process the full headers.
684
685 EXAMPLES
686 text/plain
687 Color some things, e.g. quotes, git diffs, links, etc.:
688
689 text/plain=colorize
690
691 The built-in colorize filter can be configured in the [viewer] sec‐
692 tion of styleset files. See aerc-stylesets(7).
693
694 Wrap long lines at 100 characters, while not messing up nested
695 quotes. Handles format=flowed emails properly:
696
697 text/plain=wrap -w 100 | colorize
698
699 from,<sender>
700 Another example of hard wrapping lines of emails sent by a specific
701 person. Explicitly reflow all paragraphs instead of only wrapping
702 long lines. This may break manual formatting in some messages:
703
704 from,thatguywhoneverhardwrapshismessages=wrap -r -w 72 | colorize
705
706 subject,~<regexp>
707 Use rainbow coloring with lolcat(1) for emails sent by software
708 forges:
709
710 subject,~Git(hub|lab)=lolcat -f
711
712 text/html
713 Render html to a more human readable version and colorize:
714
715 text/html=html | colorize
716
717 Use pandoc to output plain text:
718
719 text/html=pandoc -f html -t plain
720
721 text/calendar
722 Parse calendar invites:
723
724 text/calendar=calendar
725
726 text/*
727 Catch any other type of text that did not have a specific filter
728 and use bat(1) to color these:
729
730 text/*=bat -fP --file-name="$AERC_FILENAME" --style=plain
731
732 .headers
733 Colorize email headers when show-headers is true.
734
735 .headers=colorize
736
737 message/delivery-status
738 When not being able to deliver the provider might send such emails:
739
740 message/delivery-status=colorize
741
742 message/rfc822
743 When getting emails as attachments, e.g. on some mailing lists di‐
744 gest format is sending an email with all the digest emails as at‐
745 tachments. Requires caeml(1) to be on PATH:
746
747 message/rfc822=caeml | colorize
748
749 https://github.com/ferdinandyb/caeml
750
751 application/mbox
752 Emails as attachments in the mbox format. For example aerc can also
753 create an mbox from messages with the :pipe command. Requires cat‐
754 box(1) and caeml(1) to be on PATH:
755
756 application/mbox=catbox -c caeml | colorize
757
758 https://github.com/konimarti/catbox
759
760 application/pdf
761 Render pdf to text and rewrap at 100 character width. Requires
762 pdftotext(1) to be on PATH:
763
764 application/pdf=pdftotext - -l 10 -nopgbrk -q - | fmt -w 100
765
766 https://www.xpdfreader.com/pdftotext-man.html
767
768 image/*
769 This is a tricky topic. It's possible to display images in a termi‐
770 nal, but for high resolution images the terminal you are using ei‐
771 ther needs to support sixels or the kitty terminal graphics proto‐
772 col. Unfortunately, aerc's built-in terminal supports neither, so
773 only highly pixelated images can be shown natively. A workaround is
774 possible by asking the terminal to draw on top of aerc and then re‐
775 move the image when done viewing.
776
777 The built-in terminal can show pixelated images with catimg(1):
778
779 image/*=catimg -w$(tput cols) -
780
781 See the wiki at https://man.sr.ht/~rjarry/aerc/ for more examples and
782 possible customizations of the built-in filters.
783
785 Openers allow you to specify the command to use for the :open and
786 :open-link actions on a per-MIME-type basis. The :open-link URL scheme
787 is used to determine the MIME type as follows: x-scheme-han‐
788 dler/<scheme>. They are configured in the [openers] section of
789 aerc.conf.
790
791 {} is expanded as the temporary filename or URL to be opened. If it is
792 not encountered in the command, the filename/URL will be appened to the
793 end of the command. Environment variables are also expanded. Tilde is
794 not expanded.
795
796 Like [filters], openers support basic shell globbing. The first opener
797 which matches the part's MIME type (or URL scheme handler MIME type)
798 will be used, so order them from most to least specific.
799
800 Example:
801
802 [openers]
803 x-scheme-handler/irc=hexchat
804 x-scheme-handler/http*=firefox
805 text/html=surf -dfgms
806 text/plain=gvim {} +125
807 message/rfc822=thunderbird
808
809 HOOKS
810 Hooks are triggered whenever the associated event occurs. The commands
811 are run in a shell environment with information added to environment
812 variables.
813
814 They are configured in the [hooks] section of aerc.conf.
815
816 aerc-startup = <command>
817 Executed when aerc is started is received in the selected folder.
818 If it is used to run certain commands at startup. The hook is exe‐
819 cuted as soon as the UI is initialized and does not wait for all
820 accounts to be fully loaded.
821
822 Variables:
823
824 • AERC_VERSION
825 • AERC_BINARY
826
827
828 Example:
829
830 aerc-startup = aerc :terminal calcurse && aerc :next-tab
831
832 mail-received = <command>
833 Executed when new mail is received in the selected folder. This
834 will only work reliably with maildir and some imap servers.
835
836 Variables:
837
838 • AERC_FROM_NAME
839 • AERC_FROM_ADDRESS
840 • AERC_SUBJECT
841
842
843 Example:
844
845 mail-received = notify-send "New mail from $AERC_FROM_NAME"
846 "$AERC_SUBJECT"
847
848 aerc-shutdown = <command>
849 Executed when aerc shuts down. Aerc will wait for the command to
850 finish before exiting.
851
852 Variables:
853
854 • AERC_LIFETIME
855
856
858 Template files are used to populate the body of an email. The :compose,
859 :reply and :forward commands can be called with the -T flag with the
860 name of the template name. The available symbols and functions are de‐
861 scribed in aerc-templates(7).
862
863 aerc ships with some default templates installed in the share directory
864 (usually /usr/share/aerc/templates).
865
866 These options are configured in the [templates] section of aerc.conf.
867
868 template-dirs = <path1:path2:path3...>
869 The directory where the templates are stored. The config takes a
870 colon-separated list of dirs. If this is unset or if a template
871 cannot be found, the following paths will be used as a fallback in
872 that order:
873
874 ${XDG_CONFIG_HOME:-~/.config}/aerc/templates
875 ${XDG_DATA_HOME:-~/.local/share}/aerc/templates
876 /usr/local/share/aerc/templates
877 /usr/share/aerc/templates
878
879 new-message = <template_name>
880 The default template to be used for new messages.
881
882 Default: new_message
883
884 quoted-reply = <template_name>
885 The default template to be used for quoted replies.
886
887 Default: quoted_reply
888
889 forwards = <template_name>
890 The default template to be used for forward as body.
891
892 Default: forward_as_body
893
895 aerc(1) aerc-accounts(5) aerc-binds(5) aerc-imap(5) aerc-maildir(5)
896 aerc-notmuch(5) aerc-templates(7) aerc-sendmail(5) aerc-smtp(5) aerc-
897 stylesets(7)
898
900 Originally created by Drew DeVault <sir@cmpwn.com> and maintained by
901 Robin Jarry <robin@jarry.cc> who is assisted by other open source con‐
902 tributors. For more information about aerc development, see
903 https://sr.ht/~rjarry/aerc/.
904
905
906
907 2023-07-19 AERC-CONFIG(5)