1AERC-CONFIG(5)                File Formats Manual               AERC-CONFIG(5)
2
3
4

NAME

6       aerc-config - configuration file format for aerc(1)
7

SYNOPSIS

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

GENERAL OPTIONS

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

UI OPTIONS

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:
209spinner = "-_-,_-_"
210spinner = '. , .'
211spinner = ",|,/,-"
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

STATUSLINE

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

VIEWER

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

COMPOSE

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

MULTIPART CONVERTERS

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

FILTERS

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

OPENERS

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
824AERC_VERSION
825AERC_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
838AERC_FROM_NAME
839AERC_FROM_ADDRESS
840AERC_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
854AERC_LIFETIME
855
856

TEMPLATES

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

SEE ALSO

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

AUTHORS

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)
Impressum