meli/docs/meli.conf.5

40 KiB
Raw Blame History

MELI.CONF(5)                  File Formats Manual                 MELI.CONF(5)

NAME
     meli.conf  configuration file for the meli(1) terminal e-mail client

SYNOPSIS
     $XDG_CONFIG_HOME/meli/config.toml

DESCRIPTION
     Configuration for meli is written in TOML which has a few things to
     consider (quoting the spec):

        TOML is case sensitive.
        A TOML file must be a valid UTF-8 encoded Unicode document.
        Whitespace means tab (0x09) or space (0x20).
        Newline means LF (0x0A) or CRLF (0x0D 0x0A).

     Refer to TOML documentation for valid TOML syntax.

     Though not part of TOML syntax, meli.conf can have nested configuration
     files by using the following m4(1) include macro:
           include("/path/to/file")

SECTIONS
     The top level sections of the config are:
        accounts
        shortcuts
        notifications
        pager
        listing
        composing
        pgp
        terminal
        log

EXAMPLES
     example configuration


     # Setting up a Maildir account
     [accounts.account-name]
     root_mailbox = "/path/to/root/folder"
     format = "Maildir"
     listing.index_style = "Compact"
     identity="email@example.com"
     subscribed_mailboxes = ["folder", "folder/Sent"] # or [ "*", ] for all mailboxes
     display_name = "Name"

     # Set mailbox-specific settings
       [accounts.account-name.mailboxes]
       "INBOX" = { alias="Inbox" } #inline table
       "drafts" = { alias="Drafts" } #inline table
       [accounts.account-name.mailboxes."foobar-devel"] # or a regular table
         ignore = true # don't show notifications for this mailbox

     # Setting up an mbox account
     [accounts.mbox]
     root_mailbox = "/var/mail/username"
     format = "mbox"
     listing.index_style = "Compact"
     identity="username@hostname.local"
     composing.send_mail = { hostname = "localhost", port = 25, auth = { type = "none" }, security = { type = "none" } }

     [pager]
     filter = "COLUMNS=72 /usr/local/bin/pygmentize -l email"
     html_filter = "w3m -I utf-8 -T text/html"

     [notifications]
     script = "notify-send"

     [composing]
     # required for sending e-mail
     send_mail = 'msmtp --read-recipients --read-envelope-from'
     #send_mail = { hostname = "smtp.example.com", port = 587, auth = { type = "auto", username = "user", password = { type = "command_eval", value = "gpg2 --no-tty -q -d ~/.passwords/user.gpg" } }, security = { type = "STARTTLS" } }
     editor_command = 'vim +/^$'

     [shortcuts]
     [shortcuts.composing]
     edit_mail = 'e'

     [shortcuts.listing]
     new_mail = 'm'
     set_seen = 'n'

     [terminal]
     theme = "light"

     Available options are listed below.  Default values are shown in
     parentheses.

ACCOUNTS
     Default values are shown in parentheses.

     root_mailbox String                   The backend-specific path of the
                                           root_mailbox, usually INBOX.

     format String [maildir mbox imap notmuch jmap]
                                           The format of the mail backend.

     subscribed_mailboxes [String,]        An array of mailbox paths to
                                           display in the UI.  Paths are
                                           relative to the root mailbox (eg
                                           "INBOX/Sent", not "Sent").  The
                                           glob wildcard * can be used to
                                           match every mailbox name and path.

     identity String                       Your e-mail address that is
                                           inserted in the From: headers of
                                           outgoing mail.

     extra_identities [String,]            Extra e-mail address identities.
                                           When replying to an e-mail
                                           addressed to one of these
                                           identities, the From: header will
                                           be adjusted to its value instead of
                                           the default identity.
     ┌──────────────┬─────────────────────────────────────────────────┐
     │conversations │ shows one entry per thread                      │
     ├──────────────┼─────────────────────────────────────────────────┤
     │compact       │ shows one row per thread                        │
     ├──────────────┼─────────────────────────────────────────────────┤
     │threaded      │ shows threads as a tree structure               │
     ├──────────────┼─────────────────────────────────────────────────┤
     │plain         │ shows one row per mail, regardless of threading │
     └──────────────┴─────────────────────────────────────────────────┘
     display_name String                   (optional) A name which can be
                                           combined with your address: "Name
                                           <email@example.com>".

     read_only boolean                     Attempt to not make any changes to
                                           this account.  (false)

     manual_refresh boolean                (optional) If true, do not monitor
                                           account for changes (you can use
                                           shortcut listing.refresh) (false)

     refresh_command String                (optional) command to execute when
                                           manually refreshing (shortcut
                                           listing.refresh) (None)

     search_backend String                 (optional) Choose which search
                                           backend to use.  Available options
                                           are 'none' and 'sqlite3' (sqlite3)

     vcard_folder String                   (optional) Folder that contains
                                           .vcf files.  They are parsed and
                                           imported read-only.

     mutt_alias_file String                (optional) Path of mutt(1)
                                           compatible alias file in the option
                                           They are parsed and imported read-
                                           only.

     mailboxes mailbox                     (optional) Configuration for each
                                           mailbox.  Its format is described
                                           below in mailboxes.

   notmuch only
     notmuch is supported by loading the dynamic library libnotmuch.  If its
     location is missing from your library paths, you must add it yourself.
     Alternatively, you can specify its path by using a setting.

     notmuch mailboxes are virtual, since they are defined by user-given
     notmuch queries.  You must explicitly state the mailboxes you want in the
     mailboxes field and set the query property to each of them.  To create a
     tree hierarchy with virtual mailboxes, define the parent property to a
     mailbox as the name of the parent mailbox you have used in your
     configuration.

     Account properties:

     root_mailbox                          points to the directory which
                                           contains the .notmuch/
                                           subdirectory.

     library_file_path Path                Use an arbitrary location of
                                           libnotmuch by specifying its full
                                           filesystem path.  (optional)
     Mailbox properties:

     query String                          The notmuch query that defines what
                                           content this virtual mailbox has.
                                           Refer to notmuch-search-terms(7)
                                           for notmuch's search syntax.

     parent String                         If you wish to build a mailbox
                                           hierarchy, define the name of a
                                           parent mailbox you have used in
                                           your configuration.  (optional)
     Example:

     [accounts.notmuch]
     format = "notmuch"
     #library_file_path = "/opt/homebrew/lib/libnotmuch.5.dylib"
     ...
       [accounts.notmuch.mailboxes]
       "INBOX" = {  query="tag:inbox", subscribe = true }
       "Drafts" = {  query="tag:draft", subscribe = true }
       "Sent" = {  query="from:username@example.com from:username2@example.com", subscribe = true }
       "Archives" = {  query="tag:archived", subscribe = true }
       "Archives/2019" = {  query="tag:archived date:01-2019..12-2019", parent="Archives", subscribe = true }

   IMAP only
     IMAP specific options are:

     server_hostname String                example: "mail.example.com"

     server_username String                Server username

     server_password String                Server password

     server_password_command String        (optional) Use instead of
                                           server_password

     server_port number                    (optional) The port to connect to
                                           (143)

     use_starttls boolean                  (optional) If port is 993 and
                                           use_starttls is unspecified, it
                                           becomes false by default.  (true)

     danger_accept_invalid_certs boolean   (optional) Do not validate TLS
                                           certificates.  (false)

     use_idle boolean                      (optional) Use IDLE extension.
                                           (true)

     use_condstore boolean                 (optional) Use CONDSTORE extension.
                                           (true)

     use_deflate boolean                   (optional) Use COMPRESS=DEFLATE
                                           extension (if built with DEFLATE
                                           support).  (true)

     use_oauth2 boolean                    (optional) Use OAUTH2
                                           authentication.  Can only be used
                                           with server_password_command which
                                           should return a base64-encoded
                                           OAUTH2 token ready to be passed to
                                           IMAP.  For help on setup with
                                           Gmail, see Gmail section below.
                                           (false)

     timeout integer                       (optional) Timeout to use for
                                           server connections in seconds.  A
                                           timeout of 0 seconds means there's
                                           no timeout.  (16)

   Gmail
     Gmail has non-standard IMAP behaviors that need to be worked around.

   Gmail - sending mail
     Option store_sent_mail should be disabled since Gmail auto-saves sent
     mail by its own.

   Gmail OAUTH2
     To use OAUTH2, you must go through a process to register your own private
     "application" with Google that can use OAUTH2 tokens.  For convenience in
     the meli repository under the contrib/ directory you can find a python3
     file named oauth2.py to generate and request the appropriate data to
     perform OAUTH2 authentication.  Steps:
        In Google APIs, create a custom OAuth client ID and note down the
         Client ID and Client Secret.  You may need to create a consent
         screen; follow the steps described in the website.
        Run the oauth2.py script as follows (after adjusting binary paths and
         credentials): python3 oauth2.py --user=xxx@gmail.com
         --client_id=1038[...].apps.googleusercontent.com
         --client_secret=VWFn8LIKAMC-MsjBMhJeOplZ --generate_oauth2_token and
         follow the instructions.  Note down the refresh token.
        In server_password_command enter a command like this (after adjusting
         binary paths and credentials): TOKEN=$(python3 oauth2.py
         --user=xxx@gmail.com --quiet
         --client_id=1038[...].apps.googleusercontent.com
         --client_secret=VWFn8LIKAMC-MsjBMhJeOplZ
         --refresh_token=1/Yzm6MRy4q1xi7Dx2DuWXNgT6s37OrP_DW_IoyTum4YA) &&
         python3 oauth2.py --user=xxx@gmail.com --generate_oauth2_string
         --quiet --access_token=$TOKEN
        On startup, meli should evaluate this command which if successful
         must only return a base64-encoded token ready to be passed to IMAP.

   JMAP only
     JMAP specific options

     server_url String                     example: "http://mail.example.com"
                                           "http://mail.example.com:8080"
                                           "https://mail.example.com"

     server_username String                Server username

     server_password String                Server password

     danger_accept_invalid_certs boolean   (optional) Do not validate TLS
                                           certificates.  (false)

   mbox only
     mbox specific options

     prefer_mbox_type String               (optional) Prefer specific mbox
                                           format reader for each message.
                                           Default is mboxcl2 format.  If the
                                           preferred format fails, the message
                                           is retried with mboxrd and then if
                                           it fails again there's a recover
                                           attempt, which discards the invalid
                                           message.  Valid values
                                              auto
                                              mboxo
                                              mboxrd
                                              mboxcl
                                              mboxcl2
                                           (auto)
     To set multiple mailboxes, you have to explicitly state the mailboxes you
     want in the mailboxes field and set the path property to each of them.
     Example:

     [accounts.mbox]
     format = "mbox"
     mailboxes."Python mailing list" = { path = "~/.mail/python.mbox", subscribe = true, autoload = true }

   NNTP
     NNTP specific options

     server_hostname String                example: "nntp.example.com"

     server_username String                Server username

     server_password String                Server password

     require_auth bool                     (optional) require authentication
                                           in every case (true)

     use_tls boolean                       (optional) Connect with TLS.
                                           (false)

     server_port number                    (optional) The port to connect to
                                           (119)

     danger_accept_invalid_certs boolean   (optional) Do not validate TLS
                                           certificates.  (false)

     You have to explicitly state the groups you want to see in the mailboxes
     field.  Example:

     [accounts.sicpm.mailboxes]
       "sic.all" = {}

     To submit articles directly to the NNTP server, you must set the special
     value server_submission in the send_mail field.  Example:

     composing.send_mail = "server_submission"

   MAILBOXES
     alias String                          (optional) Show a different name
                                           for this mailbox in the UI

     autoload boolean                      (optional) Load this mailbox on
                                           startup (true)

     collapsed boolean                     (optional) Collapse this mailbox
                                           subtree in menu.  (false)

     subscribe boolean                     (optional) Watch this mailbox for
                                           updates (true)

     ignore boolean                        (optional) Silently insert updates
                                           for this mailbox, if any (false)

     usage boolean                         (optional) special usage of this
                                           mailbox.  Valid values are:
                                              Normal (default)
                                              Inbox
                                              Archive
                                              Drafts
                                              Flagged
                                              Junk
                                              Sent
                                              Trash
                                           otherwise usage is inferred from
                                           the mailbox title.  If for example
                                           your Sent folder is not named
                                           "Sent", you must explicitly set it.

     conf_override boolean                 (optional) Override global settings
                                           for this mailbox.  Available
                                           sections to override are pager,
                                           notifications, shortcuts, composing
                                           and the account options identity.
                                           Example:

                                           [accounts."imap.example.com".mailboxes]
                                             "INBOX" = { index_style = "plain" }
                                             "INBOX/Lists/devlist" = { autoload = false, pager = { filter = "pygmentize -l diff -f 256"} }

     sort_order unsigned integer           (optional) Override sort order on
                                           the sidebar for this mailbox.
                                           Example:

                                           [accounts."imap.example.com".mailboxes]
                                             "INBOX" = { index_style = "plain" }
                                             "INBOX/Sent" = { sort_order = 0 }
                                             "INBOX/Drafts" = { sort_order = 1 }
                                             "INBOX/Lists" = { sort_order = 2 }

     encoding String                       (optional) Override the default
                                           utf-8 charset for the mailbox name.
                                           Useful only for mUTF-7 mailboxes.
                                           (utf7, utf-7, utf8, utf-8)

COMPOSING
     Composing specific options.  Default values are shown in parentheses.

     send_mail String|SmtpServerConf       Command to pipe new mail to (exit
                                           code must be 0 for success) or
                                           settings for an SMTP server
                                           connection.  See section SMTP
                                           Connections for its fields.

     editor_command String                 Command to launch editor.  Can have
                                           arguments.  Draft filename is given
                                           as the last argument.  If it's
                                           missing, the environment variable
                                           $EDITOR is looked up.

     embed boolean                         (optional) Embed editor within
                                           meli.  Editor must be xterm
                                           compliant.  (false)

     format_flowed boolean                 (optional) Set format=flowed
                                           [RFC3676] in text/plain
                                           attachments.  (true)

     insert_user_agent boolean             (optional) Add meli User-Agent
                                           header in new drafts (true)

     default_header_values hash table String[String]
                                           (optional) Default header values
                                           used when creating a new draft.
                                           ([])

     wrap_header_preamble Option<(String, String)>
                                           (optional) Wrap header preample
                                           when editing a draft in an editor.
                                           This allows you to write non-plain
                                           text email without the preamble
                                           creating syntax errors.  They are
                                           stripped when you return from the
                                           editor.  The values should be a two
                                           element array of strings, a prefix
                                           and suffix.  This can be useful
                                           when for example you're writing
                                           Markdown; you can set the value to
                                           ["<!--", "-->"] which wraps the
                                           headers in an HTML comment.  (None)

     store_sent_mail boolean               (optional) Store sent mail after
                                           successful submission.  This
                                           setting is meant to be disabled for
                                           non-standard behaviour in gmail,
                                           which auto-saves sent mail on its
                                           own.  (true)

     attribution_format_string String      (optional) The attribution line
                                           appears above the quoted reply
                                           text.  The format specifiers for
                                           the replied address are:
                                              %+f — the sender's name and
                                               email address.
                                              %+n — the sender's name (or
                                               email address, if no name is
                                               included).
                                              %+a — the sender's email
                                               address.
                                           The format string is passed to
                                           strftime(3) with the replied
                                           envelope's date.  (On %a, %0e %b %Y
                                           %H:%M, %+f wrote:%n)

     attribution_use_posix_locale boolean  (optional) Whether the strftime
                                           call for the attribution string
                                           uses the POSIX locale instead of
                                           the user's active locale.  (true)

     forward_as_attachment boolean or ask  (optional) Forward emails as
                                           attachment? (Alternative is
                                           inline).  (ask)

     reply_prefix_list_to_strip [String]   (optional) Alternative lists of
                                           reply prefixes (etc. ["Re:", "RE:",
                                           ...]) to strip.  (["Re:", RE:,
                                           Fwd:, Fw:, 回复:, 回覆:, SV:, Sv:,
                                           VS:, Antw:, Doorst:, VS:, VL:,
                                           REF:, TR:, TR:, AW:, WG:, ΑΠ:, Απ:,
                                           απ:, ΠΡΘ:, Πρθ:, πρθ:, ΣΧΕΤ:,
                                           Σχετ:, σχετ:, ΠΡΘ:, Πρθ:, πρθ:,
                                           Vá:, Továbbítás:, R:, I:, RIF:,
                                           FS:, BLS:, TRS:, VS:, VB:, RV:,
                                           RES:, Res, ENC:, Odp:, PD:, YNT:,
                                           İLT:, ATB:, YML:)]

     reply_prefix String                   (optional) The prefix to use in
                                           reply subjects.  The de facto
                                           prefix is "Re:".  (`Re:`)

                                           RFC 2822, "Internet Message Format"
                                           has this to say on the matter:
                                                 When used in a reply, the field body MAY start with the string "Re: " (from
                                                 the Latin "res", in the matter of) followed by the contents of the "Subject:"
                                                 field body of the original message.

     disabled_compose_hooks [String]       (optional) Disabled compose-hooks.
                                           compose-hooks run before submitting
                                           an e-mail.  They perform draft
                                           validation and/or transformations.
                                           If a hook encounters an error or
                                           warning, it will show up as a
                                           notification.  The currently
                                           available hooks are:
                                              past-date-warn — Warn if Date
                                               header value is far in the past
                                               or future.
                                              important-header-warn — Warn if
                                               important headers (From, Date,
                                               To, Cc, Bcc) are missing or
                                               invalid.
                                              missing-attachment-warn — Warn
                                               if Subject, draft body mention
                                               attachments but they are
                                               missing.
                                              empty-draft-warn — Warn if
                                               draft has no subject and no
                                               body.

SHORTCUTS
     Default values are shown in parentheses.  Shortcuts can take the
     following values:
        Backspace
        Left
        Right
        Up
        Down
        Home
        End
        PageUp
        PageDown
        Delete
        Insert
        Enter
        Tab
        Esc
        F1..F12
        M-char
        C-char
        char
     char is a single character string.

     The headings before each list indicate the map key of the shortcut list.
     For example for the first list titled general the configuration is typed
     as follows:

     [shortcuts.general]
     next_tab = 'T'

     and for listing:

     [shortcuts.listing]
     open_entry = "Enter"
     exit_entry = 'i'


     general

     toggle_help                           Toggle help and shortcuts view.
                                           (?)

     quit                                  Quit meli.  (q)

     enter_command_mode                    Enter COMMAND mode.  (:)

     next_tab                              Go to next tab.  (T)

     go_to_tab                             Go to the nth tab (M-n)

     scroll_right                          Generic scroll right (catch-all
                                           setting) (Right)

     scroll_left                           Generic scroll left (catch-all
                                           setting) (Left)

     scroll_up                             Generic scroll up (catch-all
                                           setting) (k)

     scroll_down                           Generic scroll down (catch-all
                                           setting) (j)

     next_page                             Go to next page.  (catch-all
                                           setting) (PageDown)

     prev_page                             Go to previous page.  (catch-all
                                           setting) (PageUp)

     home_page                             Go to first page.  (catch-all
                                           setting) (Home)

     end_page                              Go to last page.  (catch-all
                                           setting) (End)

     open_entry                            Open list entry.  (catch-all
                                           setting) (Enter)

     info_message_next                     Show next info message, if any
                                           (M->)

     info_message_previous                 Show previous info message, if any
                                           (M-<)

     listing

     scroll_up                             Scroll up list.  (k)

     scroll_down                           Scroll down list.  (j)

     next_page                             Go to next page.  (PageDown)

     prev_page                             Go to previous page.  (PageUp)

     new_mail                              Start new mail draft in new tab.
                                           (m)

     next_account                          Go to next account.  (h)

     prev_account                          Go to previous account.  (l)

     next_mailbox                          Go to next mailbox.  (J)

     prev_mailbox                          Go to previous mailbox.  (K)

     open_mailbox                          Open selected mailbox (Enter)

     toggle_mailbox_collapse               Toggle mailbox visibility in menu.
                                           (Space)

     search                                Search within list of e-mails.  (/)

     refresh                               Manually request a mailbox refresh.
                                           (F5)

     set_seen                              Set thread as seen.  (n)

     union_modifier                        Union modifier.  (C-u)

     diff_modifier                         Difference modifier.  (C-d)

     intersection_modifier                 Intersection modifier.  (i)

     select_entry                          Select thread entry.  (v)

     increase_sidebar                      Increase sidebar width.  (C-p)

     decrease_sidebar                      Decrease sidebar width.  (C-o)

     toggle_menu_visibility                Toggle visibility of side menu in
                                           mail list.  (`)

     focus_left                            Switch focus on the left.  (Left)

     focus_right                           Switch focus on the right.  (Right)

     exit_entry                            Exit e-mail entry.  (i)

     open_entry                            Open e-mail entry.  (Enter)

     pager

     scroll_up                             Scroll up pager.  (k)

     scroll_down                           Scroll down pager.  (j)

     page_up                               Go to previous pager page (PageUp)

     page_down                             Go to next pager pag (PageDown)

     contact-list

     scroll_up                             Scroll up list.  (k)

     scroll_down                           Scroll down list.  (j)

     create_contact                        Create new contact.  (c)

     edit_contact                          Edit contact under cursor.  (e)

     mail_contact                          Mail contact under cursor.  (m)

     next_account                          Go to next account.  (h)

     prev_account                          Go to previous account.  (l)

     toggle_menu_visibility                Toggle visibility of side menu in
                                           mail list.  (`)


     composing

     edit_mail                             Edit mail.  (e)

     send_mail                             Deliver draft to mailer (s)

     scroll_up                             Change field focus.  (k)

     scroll_down                           Change field focus.  (j)

     envelope-view

     To select an attachment, type its index (you will see the typed result in
     the command buffer on the bottom right of the status line), then issue
     the corresponding command.

     add_addresses_to_contacts             Select addresses from envelope to
                                           add to contacts.  (c)

     edit                                  Open envelope in composer.  (e)

     go_to_url                             Go to url of given index (with the
                                           command url_launcher setting in
                                           PAGER section) (g)

     open_attachment                       Opens selected attachment with
                                           xdg-open (a)

     open_mailcap                          Opens selected attachment according
                                           to its mailcap entry.  See meli(1)
                                           FILES for the mailcap file
                                           locations.  (m)

     reply                                 Reply to envelope.  (R)

     reply_to_author                       Reply to author.  (C-r)

     reply_to_all                          Reply to all/Reply to list/Follow
                                           up.  (C-g)

     forward                               Forward email.  (C-f)

     return_to_normal_view                 Return to envelope if viewing raw
                                           source or attachment.  (r)

     toggle_expand_headers                 Expand extra headers (References
                                           and others) (h)

     toggle_url_mode                       Toggles url open mode.  When
                                           active, it prepends an index next
                                           to each url that you can select by
                                           typing the index and open by
                                           issuing go_to_url (u)

     view_raw_source                       View raw envelope source in a
                                           pager.  (M-r)

     change_charset                        Force attachment charset for
                                           decoding.  (d)

     thread-view

     scroll_up                             Scroll up list.  (k)

     scroll_down                           Scroll down list.  (j)

     collapse_subtree                      collapse thread branches (h)

     next_page                             Go to next page.  (PageDown)

     prev_page                             Go to previous page.  (PageUp)

     reverse_thread_order                  reverse thread order (C-r)

     toggle_mailview                       toggle mail view visibility (p)

     toggle_threadview                     toggle thread view visibility (t)


NOTIFICATIONS
     Default values are shown in parentheses.

     enable boolean                        Enable notifications.  (true)

     script String                         (optional) Script to pass
                                           notifications to, with title as 1st
                                           arg and body as 2nd (none)

     new_mail_script String                (optional) A command to pipe new
                                           mail notifications through
                                           (preferred over script), with title
                                           as 1st arg and body as 2nd.  (none)

     xbiff_file_path String                (optional) File that gets its size
                                           updated when new mail arrives.
                                           (none)

     play_sound boolean                    (optional) Play theme sound in
                                           notifications if possible.  (false)

     sound_file String                     (optional) Play sound file in
                                           notifications if possible.  (none)

PAGER
     Default values are shown in parentheses.

     headers_sticky boolean                (optional) Always show headers when
                                           scrolling.  (true)

     html_filter String                    (optional) Pipe html attachments
                                           through this filter before display
                                           (none)

     html_open String                      (optional) A command to open html
                                           files.  (none)

     filter String                         (optional) A command to pipe mail
                                           output through for viewing in
                                           pager.  (none)

     format_flowed bool                    (optional) Respect format=flowed
                                           (true)

     split_long_lines bool                 (optional) Split long lines that
                                           would overflow on the x axis.
                                           (true)

     minimum_width num                     (optional) Minimum text width in
                                           columns.  (80)

     auto_choose_multipart_alternative boolean
                                           (optional) Choose `text/html`
                                           alternative if `text/plain` is
                                           empty in `multipart/alternative`
                                           attachments.  (true)

     show_date_in_my_timezone boolean      (optional) Show Date: in local
                                           timezone (true)

     url_launcher String                   (optional) A command to launch URLs
                                           with.  The URL will be given as the
                                           first argument of the command.
                                           (xdg-open)

LISTING
     Default values are shown in parentheses.

     show_menu_scrollbar boolean           (optional)
                                            Show auto-hiding scrollbar in
                                           accounts sidebar menu.  (true)

     datetime_fmt String                   (optional) Datetime formatting
                                           passed verbatim to strftime(3).
                                           (%Y-%m-%d %T)

     recent_dates Boolean                  (optional) Show recent dates as `X
                                           {minutes,hours,days} ago`, up to 7
                                           days.  (true)

     filter Query                          (optional) Show only envelopes
                                           matching this query.  (For query
                                           syntax see meli(1) QUERY ABNF
                                           SYNTAX) (None)

                                           Example:

                                           filter = "not flags:seen" # show only unseen messages

     index_style String                    Sets the way mailboxes are
                                           displayed.

     sidebar_mailbox_tree_has_sibling String
                                           (optional) Sets the string to print
                                           in the mailbox tree for a level
                                           where its root has a sibling.  See
                                           example below for a clear
                                           explanation and examples.

     sidebar_mailbox_tree_no_sibling String
                                           (optional) Sets the string to print
                                           in the mailbox tree for a level
                                           where its root has no sibling.

     sidebar_mailbox_tree_has_sibling_leaf String
                                           (optional) Sets the string to print
                                           in the mailbox tree for a leaf
                                           level where its root has a sibling.

     sidebar_mailbox_tree_no_sibling_leaf String
                                           (optional) Sets the string to print
                                           in the mailbox tree for a leaf
                                           level where its root has no
                                           sibling.

     sidebar_divider char                  (optional) Sets the character to
                                           print as the divider between the
                                           accounts list and the message list.

     sidebar_ratio Integer                 (optional) This is the width of the
                                           right container to the entire
                                           screen width.  (90)

     unseen_flag Option<String>            Flag to show if thread entry
                                           contains unseen mail.  ()

     thread_snoozed_flag Option<String>    Flag to show if thread has been
                                           snoozed.  (💤)

     selected_flag Option<String>          Flag to show if thread entry has
                                           been selected.  (☑️)

     attachment_flag Option<String>        Flag to show if thread entry
                                           contains attachments.  (📎)

     thread_subject_pack bool              Should threads with differentiating
                                           Subjects show a list of those
                                           subjects on the entry title?
                                           (true)

   Examples of sidebar mailbox tree customization
     The default values


      has_sibling = " "
      no_sibling = " ";
      has_sibling_leaf = " "
      no_sibling_leaf = " "

     render a mailbox tree like the following:


     0  Inbox 3
     1   Archive
     2   Drafts
     3   Lists
     4    example-list-a
     5    example-list-b
     6   Sent
     7   Spam
     8   Trash

     Other possible trees:


     has_sibling = " ┃"
     no_sibling = "  "
     has_sibling_leaf = " ┣━"
     no_sibling_leaf = " ┗━"


     0  Inbox 3
     1   ┣━Archive
     2   ┣━Drafts
     3   ┣━Lists
     4   ┃ ┣━example-list-a
     5   ┃ ┗━example-list-b
     6   ┣━Sent
     7   ┣━Spam
     8   ┗━Trash

     A completely ASCII one:


     has_sibling = " |"
     no_sibling = "  "
     has_sibling_leaf = " |\_"
     no_sibling_leaf = " \_"


     0  Inbox 3
     1   |\_Archive
     2   |\_Drafts
     3   |\_Lists
     4   | |\_example-list-a
     5   |  \_example-list-b
     6   |\_Sent
     7   |\_Spam
     8    \_Trash


TAGS
     Default values are shown in parentheses.

     colours hash table String[Color]      (optional) Set UI colors for tags

     ignore_tags Array String              (optional) Hide tags (not the
                                           tagged messages themselves)

     Example:


     [tags]
     # valid inputs: #HHHHHH, #ABC -> #AABBCC, XTERM_NAME, 0-255 byte
     colors = { signed="#Ff6600", replied="DeepSkyBlue4", draft="#f00", replied="8" }
     [accounts.dummy]
     ...
       [accounts.dummy.mailboxes]
       # per mailbox override:
       "INBOX" = {  tags.ignore_tags=["inbox", ] }

PGP
     Default values are shown in parentheses.

     auto_verify_signatures boolean        Auto verify signed e-mail according
                                           to RFC3156 (true)

     auto_sign boolean                     (optional) Always sign sent
                                           messages (false)

     key String                            (optional) Key to be used when
                                           signing/encrypting (not functional
                                           yet) (none)

TERMINAL
     Default values are shown in parentheses.

     theme String                          (optional) Theme name to use.
                                           (dark)

     ascii_drawing boolean                 (optional) If true, box drawing
                                           will be done with ascii characters.
                                           (false)

     use_color boolean                     (optional) If false, no ANSI colors
                                           are used.  (true)

     window_title String                   (optional) Set window title in
                                           xterm compatible terminals An empty
                                           string means no window title is
                                           set.  (meli)

     file_picker_command String            (optional) Set command that prints
                                           file paths in stderr, separated by
                                           NULL bytes.  Used with
                                           add-attachment-file-picker when
                                           composing new mail.  (None)

     themes hash table String[String[Attribute]]
                                           Define UI themes.  See
                                           meli-themes(5) for details.

                                           [terminal]
                                           theme = "themeB"

                                           [terminal.themes.themeA]
                                           "mail.view.body" = {fg = "HotPink3", bg = "LightSalmon1"}
                                           ...
                                           [terminal.themes.themeB]
                                           "mail.view.body" = {fg = "CadetBlue", bg = "White"}
                                           ...
                                           [terminal.themes.themeC]
                                           ...

     use_mouse bool                        Use mouse events.  This will
                                           disable text selection, but you
                                           will be able to resize some
                                           widgets.  This setting can be
                                           toggled with toggle mouse.  (false)

     mouse_flag String                     String to show in status bar if
                                           mouse is active.  (🖱️)

     progress_spinner_sequence Either < Integer, ProgressSpinner >
                                           Choose between 37 built in
                                           sequences (integers between 0-36)
                                           or define your own list of strings
                                           for the progress spinner animation.
                                           Set to an empty array to disable
                                           the progress spinner.  (20)

                                           Builtin sequences are:

                                           0   ["-", "\", "|", "/"]
                                           1   ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"]
                                           2   ["⣀", "⣄", "⣤", "⣦", "⣶", "⣷", "⣿"]
                                           3   ["⣀", "⣄", "⣆", "⣇", "⣧", "⣷", "⣿"]
                                           4   ["○", "◔", "◐", "◕", "⬤"]
                                           5   ["□", "◱", "◧", "▣", "■"]
                                           6   ["□", "◱", "▨", "▩", "■"]
                                           7   ["□", "◱", "▥", "▦", "■"]
                                           8   ["░", "▒", "▓", "█"]
                                           9   ["░", "█"]
                                           10  ["⬜", "⬛"]
                                           11  ["▱", "▰"]
                                           12  ["▭", "◼"]
                                           13  ["▯", "▮"]
                                           14  ["◯", "⬤"]
                                           15  ["⚪", "⚫"]
                                           16  ["▖", "▗", "▘", "▝", "▞", "▚", "▙", "▟", "▜", "▛"]
                                           17  ["|", "/", "-", "\"]
                                           18  [".", "o", "O", "@", "*"]
                                           19  ["◡◡", "⊙⊙", "◠◠", "⊙⊙"]
                                           20  ["◜ ", " ◝", " ◞", "◟ "]
                                           21  ["←", "↖", "↑", "↗", "→", "↘", "↓", "↙"]
                                           22  ["▁", "▃", "▄", "▅", "▆", "▇", "█", "▇", "▆", "▅", "▄", "▃"]
                                           23  [ "▉", "▊", "▋", "▌", "▍", "▎", "▏", "▎", "▍", "▌", "▋", "▊", "▉" ]
                                           24  ["▖", "▘", "▝", "▗"]
                                           25  ["▌", "▀", "▐", "▄"]
                                           26  ["┤", "┘", "┴", "└", "├", "┌", "┬", "┐"]
                                           27  ["◢", "◣", "◤", "◥"]
                                           28  ["⠁", "⠂", "⠄", "⡀", "⢀", "⠠", "⠐", "⠈"]
                                           29  ["⢎⡰", "⢎⡡", "⢎⡑", "⢎⠱", "⠎⡱", "⢊⡱", "⢌⡱", "⢆⡱"]
                                           30  [".", "o", "O", "°", "O", "o", "."]
                                           31  ["㊂", "㊀", "㊁"]
                                           32  ["💛 ", "💙 ", "💜 ", "💚 ", "❤️ "]
                                           33  [ "🕛 ", "🕐 ", "🕑 ", "🕒 ", "🕓 ", "🕔 ", "🕕 ", "🕖 ", "🕗 ", "🕘 ", "🕙 ", "🕚 " ]
                                           34  ["🌍 ", "🌎 ", "🌏 "]
                                           35  [ "[    ]", "[=   ]", "[==  ]", "[=== ]", "[ ===]", "[  ==]", "[   =]", "[    ]", "[   =]", "[  ==]", "[ ===]", "[====]", "[=== ]", "[==  ]", "[=   ]" ]
                                           36  ["🌑 ", "🌒 ", "🌓 ", "🌔 ", "🌕 ", "🌖 ", "🌗 ", "🌘 "]

                                           Or, define an array of strings each
                                           consisting of a frame in the
                                           progress sequence indicator for a
                                           custom spinner:

                                           interval_ms u64                       (optional)
                                                                                 Frame
                                                                                 interval.
                                                                                 (50)

                                           frames [String]                       The
                                                                                 animation
                                                                                 frames.

                                           Example:

                                           progress_spinner_sequence = { interval_ms = 150, frames = [ "-", "=", "≡" ] }

LOG
     Default values are shown in parentheses.

     log_file String                       (optional) path of the log file
                                           ($XDG_DATA_HOME/meli/meli.log)

     maximum_level String                  (optional) maximum level of
                                           messages to log.  All levels less
                                           or equal to the maximum_level will
                                           be appended to the log file.
                                           Available levels are, in partial
                                           order:
                                              OFF
                                              ERROR
                                              WARN
                                              INFO
                                              DEBUG
                                              TRACE
                                           This means that to turn logging
                                           off, set maximum_level to OFF.
                                           (INFO)

SMTP Connections
     Default values are shown in parentheses.

     hostname String                       server hostname

     port Integer                          server port

     envelope_from String                  (optional) address to set as sender
                                           in SMTP transactions (none)

     auth SmtpAuth                         SMTP server authentication.  See
                                           SmtpAuth subsection.

     security SmtpSecurity                 (optional) gpg binary name or file
                                           location to use (see SmtpSecurity
                                           subsection)

     extensions SmtpExtensions             (optional) set support for SMTP
                                           extensions if they are advertised
                                           by the server (see SmtpExtensions
                                           subsection)

   SmtpAuth
     type none | auto | xoauth2

     For type "auto":

     username String

     password SmtpPassword

     require_auth bool                     (optional) require authentication
                                           in every case (true)

     For type "xoauth2":

     token_command String                  Command to evaluate that returns an
                                           XOAUTH2 token.

     require_auth bool                     (optional) require authentication
                                           in every case (true)

     Examples:

     auth = { type = "auto", username = "user", password = { type = "raw", value = "hunter2" } }

     auth = { type = "auto", username = "user", password = "hunter2" }

     auth = { type = "none" }

     For Gmail (see Gmail OAUTH2 for details on the authentication token
     command):

     auth = { type = "xoauth2", token_command = "TOKEN=$(python3 oauth2.py --user=xxx@gmail.com --quiet --client_id=1038[...].apps.googleusercontent.com --client_secret=[..] --refresh_token=[..] && python3 oauth2.py --user=xxx@gmail.com --generate_oauth2_string --quiet --access_token=$TOKEN" }

   SmtpPassword
     type raw | command_evaluation

     value String                          Either a raw password string, or
                                           command to execute.

     Examples:

     password = { type = "raw", value = "hunter2" }

     password = { type = "command_eval", value = "gpg2 --no-tty -q -d ~/.passwords/user.gpg" }

   SmtpSecurity
     Default security type is auto.

     type none | auto | starttls | tls

     danger_accept_invalid_certs bool      Accept invalid SSL/TLS certificates
                                           (false)

   SmtpExtensions
     pipelining bool                       rfc2920 (true)

     chunking bool                         rfc3030 (true)

     prdr bool                             draft-hall-prdr-00 (true)

     dsn_notify String                     RFC3461 (FAILURE)

SEE ALSO
     meli(1), meli-themes(5)

CONFORMING TO
     TOML Standard v.0.5.0 https://toml.io/en/v0.5.0

AUTHORS
     Copyright 2017-2019 Manos Pitsidianakis ⟨epilys@nessuent.xyz⟩ Released
     under the GPL, version 3 or greater.  This software carries no warranty
     of any kind.  (See COPYING for full copyright and warranty notices.)

     ⟨https://meli.delivery⟩

Debian                         November 11, 2022                        Debian