# 3.1. Configuration Options

The following lists all available config options with their type and default values. The type of an option is used to validate a given value. For instance, if the type says “boolean” you may only provide “True” or “False” as values in your config file, otherwise alot will complain on startup. Strings may be quoted but do not need to be.

ask_subject
  Type:

    boolean

  Default:

    True

attachment_prefix

  > directory prefix for downloading attachments

  Type:

    string

  Default:

    “~”

auto_remove_unread

  > automatically remove ‘unread’ tag when focussing messages in thread mode

  Type:

    boolean

  Default:

    True

auto_replyto_mailinglist

  > Automatically switch to list reply mode if appropriate

  Type:

    boolean

  Default:

    False

bounce_force_address

  > Always use the accounts main address when constructing “Resent-From” headers for bounces. Set this to False to use the address string as received in the original message.

  Type:

    boolean

  Default:

    False

bounce_force_realname

  > Always use the proper realname when constructing “Resent-From” headers for bounces. Set this to False to use the realname string as received in the original message.

  Type:

    boolean

  Default:

    True

bufferclose_focus_offset

  > offset of next focused buffer if the current one gets closed

  Type:

    integer

  Default:

    -1

bufferlist_statusbar

  > Format of the status-bar in bufferlist mode. This is a pair of strings to be left and right aligned in the status-bar that may contain variables:

  > - {buffer_no}: index of this buffer in the global buffer list

  > - {total_messages}: total numer of messages indexed by notmuch

  > - {pending_writes}: number of pending write operations to the index

  Type:

    mixed_list

  Default:

    [{buffer_no}: bufferlist], {input_queue} total messages: {total_messages}

bug_on_exit

  > confirm exit

  Type:

    boolean

  Default:

    False

colourmode

  > number of colours to use on the terminal

  Type:

    option, one of [‘1’, ‘16’, ‘256’]

  Default:

    256

complete_matching_abook_only

  > in case more than one account has an address book: Set this to True to make tab completion for recipients during compose only look in the abook of the account matching the sender address

  Type:

    boolean

  Default:

    False

compose_ask_tags

  > prompt for initial tags when compose

  Type:

    boolean

  Default:

    False

displayed_headers

  > headers that get displayed by default

  Type:

    string list

  Default:

    From, To, Cc, Bcc, Subject

edit_headers_blacklist

  > see edit_headers_whitelist

  Type:

    string list

  Default:

    Content-Type, MIME-Version, References, In-Reply-To

edit_headers_whitelist

  > Which header fields should be editable in your editor used are those that match the whitelist and don’t match the blacklist. in both cases ‘*’ may be used to indicate all fields.

  Type:

    string list

  Default:

    *,

editor_cmd

  > editor command if unset, alot will first try the `EDITOR` env variable, then `/usr/bin/editor`

  Type:

    string

  Default:

    None

editor_in_thread

  > call editor in separate thread. In case your editor doesn’t run in the same window as alot, setting true here will make alot non-blocking during edits

  Type:

    boolean

  Default:

    False

editor_spawn

  > use terminal_cmd to spawn a new terminal for the editor? equivalent to always providing the –spawn=yes parameter to compose/edit commands

  Type:

    boolean

  Default:

    False

editor_writes_encoding

  > file encoding used by your editor

  Type:

    string

  Default:

    “UTF-8”

envelope_edit_default_alternative

  > always edit the given body text alternative when editing outgoing messages in envelope mode. alternative, and not the html source, even if that is currently displayed. If unset, html content will be edited unless the current envelope shows the plaintext alternative.

  Type:

    option, one of [‘plaintext’, ‘html’]

  Default:

    None

envelope_headers_blacklist

  > headers that are hidden in envelope buffers by default

  Type:

    string list

  Default:

    In-Reply-To, References

envelope_html2txt

  > Use this command to turn a html message body to plaintext in envelope mode. The command will receive the html on stdin and should produce text on stdout (as pandoc -f html -t markdown does for example).

  Type:

    string

  Default:

    None

envelope_statusbar

  > Format of the status-bar in envelope mode. This is a pair of strings to be left and right aligned in the status-bar. Apart from the global variables listed at bufferlist_statusbar these strings may contain variables:

  > - {to}: To-header of the envelope

  > - {displaypart}: which body part alternative is currently in view (can be ‘plaintext,’src’, or ‘html’)

  Type:

    mixed_list

  Default:

    [{buffer_no}: envelope ({displaypart})], {input_queue} total messages: {total_messages}

envelope_txt2html

  > Use this command to construct a html alternative message body text in envelope mode. If unset, we send only the plaintext part, without html alternative. The command will receive the plaintex on stdin and should produce html on stdout. (as pandoc -t html does for example).

  Type:

    string

  Default:

    None

exclude_tags

  > A list of tags that will be excluded from search results by default. Using an excluded tag in a query will override that exclusion. .. note:: when set, this config setting will overrule the ‘search.exclude_tags’ in the notmuch config.

  Type:

    string list

  Default:

    None

flush_retry_timeout

  > timeout in seconds after a failed attempt to writeout the database is repeated. Set to 0 for no retry.

  Type:

    integer

  Default:

    5

followup_to

  > When one of the recipients of an email is a subscribed mailing list, set the “Mail-Followup-To” header to the list of recipients without yourself

  Type:

    boolean

  Default:

    False

forward_force_address

  > Always use the accounts main address when constructing “From” headers for forwards. Set this to False to use the address string as received in the original message.

  Type:

    boolean

  Default:

    False

forward_force_realname

  > Always use the proper realname when constructing “From” headers for forwards. Set this to False to use the realname string as received in the original message.

  Type:

    boolean

  Default:

    True

forward_subject_prefix

  > String prepended to subject header on forward only if original subject doesn’t start with ‘Fwd:’ or this prefix

  Type:

    string

  Default:

    “Fwd: “

handle_mouse

  > enable mouse support - mouse tracking will be handled by urwid

  > Note

  > If this is set to True mouse events are passed from the terminal to urwid/alot. This means that normal text selection in alot will not be possible. Most terminal emulators will still allow you to select text when shift is pressed.

  Type:

    boolean

  Default:

    False

history_size

  > The number of command line history entries to save

  > Note

  > You can set this to -1 to save all entries to disk but the history file might get very long.

  Type:

    integer

  Default:

    50

honor_followup_to

  > When group-reply-ing to an email that has the “Mail-Followup-To” header set, use the content of this header as the new “To” header and leave the “Cc” header empty

  Type:

    boolean

  Default:

    False

hooksfile

  > where to look up hooks

  Type:

    string

  Default:

    None

initial_command

  > initial command when none is given as argument:

  Type:

    string

  Default:

    “search tag:inbox AND NOT tag:killed”

input_timeout

  > timeout in (floating point) seconds until partial input is cleared

  Type:

    float

  Default:

    1.0

interpret_ansi_background

  > display background colors set by ANSI character escapes

  Type:

    boolean

  Default:

    True

mailinglists

  > The list of addresses associated to the mailinglists you are subscribed to

  Type:

    string list

  Default:

    ,

msg_summary_hides_threadwide_tags

  > In a thread buffer, hide from messages summaries tags that are commom to all messages in that thread.

  Type:

    boolean

  Default:

    True

namedqueries_statusbar

  > Format of the status-bar in named query list mode. This is a pair of strings to be left and right aligned in the status-bar. These strings may contain variables listed at bufferlist_statusbar that will be substituted accordingly.

  Type:

    mixed_list

  Default:

    [{buffer_no}: namedqueries], {query_count} named queries

notify_timeout

  > time in secs to display status messages

  Type:

    integer

  Default:

    2

periodic_hook_frequency

  > The number of seconds to wait between calls to the loop_hook

  Type:

    integer

  Default:

    300

prefer_plaintext

  > prefer plaintext alternatives over html content in multipart/alternative

  Type:

    boolean

  Default:

    False

print_cmd

  > how to print messages: this specifies a shell command used for printing. threads/messages are piped to this command as plain text. muttprint/a2ps works nicely

  Type:

    string

  Default:

    None

prompt_suffix

  > Suffix of the prompt used when waiting for user input

  Type:

    string

  Default:

    “:”

quit_on_last_bclose

  > shut down when the last buffer gets closed

  Type:

    boolean

  Default:

    False

quote_prefix

  > String prepended to line when quoting

  Type:

    string

  Default:

    “> “

reply_account_header_priority

  > The list of headers to match to determine sending account for a reply. Headers are searched in the order in which they are specified here, and the first header containing a match is used. If multiple accounts match in that header, the one defined first in the account block is used.

  Type:

    string list

  Default:

    From, To, Cc, Envelope-To, X-Envelope-To, Delivered-To

reply_force_address

  > Always use the accounts main address when constructing “From” headers for replies. Set this to False to use the address string as received in the original message.

  Type:

    boolean

  Default:

    False

reply_force_realname

  > Always use the proper realname when constructing “From” headers for replies. Set this to False to use the realname string as received in the original message.

  Type:

    boolean

  Default:

    True

reply_subject_prefix

  > String prepended to subject header on reply only if original subject doesn’t start with ‘Re:’ or this prefix

  Type:

    string

  Default:

    “Re: “

search_statusbar

  > Format of the status-bar in search mode. This is a pair of strings to be left and right aligned in the status-bar. Apart from the global variables listed at bufferlist_statusbar these strings may contain variables:

  > - {querystring}: search string

  > - {result_count}: number of matching messages

  > - {result_count_positive}: ‘s’ if result count is greater than 0.

  Type:

    mixed_list

  Default:

    [{buffer_no}: search] for “{querystring}”, {input_queue} {result_count} of {total_messages} messages

search_threads_move_last_limit

  > Maximum number of results in a search buffer before ‘move last’ builds the thread list in reversed order as a heuristic. The resulting order will be different for threads with multiple matching messages. When set to 0, no limit is set (can be very slow in searches that yield thousands of results)

  Type:

    integer

  Default:

    200

search_threads_rebuild_limit

  > maximum amount of threads that will be consumed to try to restore the focus, upon triggering a search buffer rebuild when set to 0, no limit is set (can be very slow in searches that yield thousands of results)

  Type:

    integer

  Default:

    0

search_threads_sort_order

  > default sort order of results in a search

  Type:

    option, one of [‘oldest_first’, ‘newest_first’, ‘message_id’, ‘unsorted’]

  Default:

    newest_first

show_statusbar

  > display status-bar at the bottom of the screen?

  Type:

    boolean

  Default:

    True

tabwidth

  > number of spaces used to replace tab characters

  Type:

    integer

  Default:

    8

taglist_statusbar

  > Format of the status-bar in taglist mode. This is a pair of strings to be left and right aligned in the status-bar. These strings may contain variables listed at bufferlist_statusbar that will be substituted accordingly.

  Type:

    mixed_list

  Default:

    [{buffer_no}: taglist], {input_queue} total messages: {total_messages}

template_dir

  > templates directory that contains your message templates. It will be used if you give compose –template a filename without a path prefix.

  Type:

    string

  Default:

    “$XDG_CONFIG_HOME/alot/templates”

terminal_cmd

  > set terminal command used for spawning shell commands

  Type:

    string

  Default:

    “x-terminal-emulator -e”

theme

  > name of the theme to use

  Type:

    string

  Default:

    None

themes_dir

  > directory containing theme files.

  Type:

    string

  Default:

    “$XDG_CONFIG_HOME/alot/themes”

thread_authors_me

  > Word to replace own addresses with. Works in combination with thread_authors_replace_me

  Type:

    string

  Default:

    “Me”

thread_authors_order_by

  > When constructing the unique list of thread authors, order by date of author’s first or latest message in thread

  Type:

    option, one of [‘first_message’, ‘latest_message’]

  Default:

    first_message

thread_authors_replace_me

  > Replace own email addresses with “me” in author lists Uses own addresses and aliases in all configured accounts.

  Type:

    boolean

  Default:

    True

thread_focus_linewise

  > Split message body linewise and allows to (move) the focus to each individual line. Setting this to False will result in one potentially big text widget for the whole message body.

  Type:

    boolean

  Default:

    True

thread_indent_replies

  > number of characters used to indent replies relative to original messages in thread mode

  Type:

    integer

  Default:

    2

thread_statusbar

  > Format of the status-bar in thread mode. This is a pair of strings to be left and right aligned in the status-bar. Apart from the global variables listed at bufferlist_statusbar these strings may contain variables:

  > - {tid}: thread id

  > - {subject}: subject line of the thread

  > - {authors}: abbreviated authors string for this thread

  > - {message_count}: number of contained messages

  > - {thread_tags}: displays all tags present in the current thread.

  > - {intersection_tags}: displays tags common to all messages in the current thread.

  > - {mimetype}: content type of the mime part displayed in the focused message.

  Type:

    mixed_list

  Default:

    [{buffer_no}: thread] {subject}, [{mimetype}] {input_queue} total messages: {total_messages}

thread_subject

  > What should be considered to be “the thread subject”. Valid values are:

  > - ‘notmuch’ (the default), will use the thread subject from notmuch, which depends on the selected sorting method

  > - ‘oldest’ will always use the subject of the oldest message in the thread as the thread subject

  Type:

    option, one of [‘oldest’, ‘notmuch’]

  Default:

    notmuch

thread_unfold_matching

  > Unfold messages matching the query. If not set, will unfold all messages matching search buffer query.

  Type:

    string

  Default:

    None

timestamp_format

  > timestamp format in strftime format syntax

  Type:

    string

  Default:

    None

user_agent

  > value of the User-Agent header used for outgoing mails. setting this to the empty string will cause alot to omit the header all together. The string ‘{version}’ will be replaced by the version string of the running instance.

  Type:

    string

  Default:

    “alot/{version}”

## 3.1.1. Notmuch options

The following lists the notmuch options that alot reads.

search.exclude_tags

  > A list of tags that will be excluded from search results by default. Using an excluded tag in a query will override that exclusion.

  Type:

    semicolon separated list

  Default:

    empty list