NOTICE: There was a data loss of the last few months. Accounts and issues created in that timespan are now lost. I apologize for this blunder and sorry for any inconvenience. -- epilys
@ -23,7 +23,7 @@ The Makefile *should* be portable and not require a specific `make` version.
# Documentation
After installing meli, see `meli(1)` and `meli.conf(5)` for documentation.
After installing meli, see `meli(1)` and `meli.conf(5)` for documentation. Sample configuration and theme files can be found in the `samples/` subdirectory.
Each field contains a value, and each value can either be a color/attribute, a link (key name) or a valid alias.
Each field contains a value, which may be either a color/attribute, a link (key name) or a valid alias.
An alias is a string starting with the \&"\&$\&" character and must be declared in advance in the
.Iccolor_aliases
or
@ -134,8 +137,8 @@ Color values are of type String with the following valid contents:
.It
"Default" is the terminal default. (Case-sensitive)
.It
Hex triplet eg #FFFFFF for RGB colors
(three letter shorthand also valid, eg #09c → #0099cc) (Case-insensitive)
Hex triplet e.g. #FFFFFF for RGB colors.
Three character shorthand is also valid, e.g. #09c → #0099cc (Case-insensitive)
.It
0-255 byte for 256 colors.
.It
@ -162,7 +165,7 @@ is explicitly set to true by the user,
is ignored.
.El
.sp
In this mode, cursor locations (i.e. currently selected entries/items) will use the "reverse video" ANSI attribute to inverse the terminal's default foreground/background colors.
In this mode, cursor locations (i.e., currently selected entries/items) will use the "reverse video" ANSI attribute to invert the terminal's default foreground/background colors.
is a terminal mail client aiming for extensive and user-frendly configurability.
.Bd-literal
^^ .-=-=-=-. ^^
^^ (`-=-=-=-=-`) ^^
(`-=-=-=-=-=-=-`) ^^ ^^
^^ (`-=-=-=-=-=-=-=-`) ^^
( `-=-=-=-(@)-=-=-` ) ^^
(`-=-=-=-=-=-=-=-=-`) ^^
(`-=-=-=-=-=-=-=-=-`) ^^
(`-=-=-=-=-=-=-=-=-`)
^^ (`-=-=-=-=-=-=-=-=-`) ^^
^^ (`-=-=-=-=-=-=-=-`) ^^
(`-=-=-=-=-=-=-`) ^^
^^ (`-=-=-=-=-`)
`-=-=-=-=-` ^^
^^ .-=-=-=-. ^^
^^ (`-=-=-=-=-`) ^^
(`-=-=-=-=-=-=-`) ^^ ^^
^^ (`-=-=-=-=-=-=-=-`) ^^
( `-=-=-=-(@)-=-=-` ) ^^
(`-=-=-=-=-=-=-=-=-`) ^^
(`-=-=-=-=-=-=-=-=-`) ^^
(`-=-=-=-=-=-=-=-=-`)
^^ (`-=-=-=-=-=-=-=-=-`) ^^
^^ (`-=-=-=-=-=-=-=-`) ^^
(`-=-=-=-=-=-=-`) ^^
^^ (`-=-=-=-=-`)
`-=-=-=-=-` ^^
.Ed
.ShSTARTINGWITHmeli
When launched for the first time,
@ -75,29 +75,27 @@ When launched for the first time,
will search for its configuration directory,
.Pa$XDG_CONFIG_HOME/meli/Ns
\&.
If it doesn't exist, you will be asked if you want to create one along with a sample configuration.
The sample configuration
.Pa$XDG_CONFIG_HOME/meli/config.toml
includes comments with the basic settings required for setting up accounts allowing you to copy and edit right away.
If it doesn't exist, you will be asked if you want to create one and presented with a sample configuration file
.PqPa$XDG_CONFIG_HOME/meli/config.toml
that includes the basic settings required for setting up accounts allowing you to copy and edit right away.
See
.Xrmeli.conf5
for the available configuration options.
.Pp
At any time, you may press
.Cm\&?
to show a searchable list of all available actions and shortcuts, along with every possible setting and command that your version supports.
for a searchable list of all available actions and shortcuts, along with every possible setting and command that your version supports.
.Pp
The main visual navigation tool is the left-side sidebar.
The menu's visibility may be toggled with
The main visual navigation tool, the left-side sidebar may be toggled with
.Cm`
(shortcuts.listing:
.Ictoggle_menu_visibilityNs
).
.Pp
The view into each mailbox has 4 modes: plain, threaded, conversations and compact.
Plain views each mail indvidually, threaded shows their thread relationship visually, and conversations includes one entry per thread of emails (compact is one row per thread).
Each mailbox may be viewed in 4 modes:
Plain views each mail individually, Threaded shows their thread relationship visually, Conversations collapses each thread of emails into a single entry, Compact shows one row per thread.
.Pp
If you're using a light color palette in your terminal, you may set
If you're using a light color palette in your terminal, you should set
.Emtheme="light"
in the
.Emterminal
@ -107,14 +105,21 @@ See
for complete documentation on user themes.
.ShVIEWINGMAIL
Open attachments by typing their index in the attachments list and then
.CmaNs
\&.
.Cma
.Po
shortcut
.Icopen_attachment
.Pc.
.Nm
will attempt to open text inside its pager and other content via
will attempt to open text inside its pager, and other content via
.Cmxdg-openNs
\&.
Press
.Cmm
.Po
shortcut
.Icopen_mailcap
.Pc
instead to use the mailcap entry for the MIME type of the attachment, if any.
See
.SxFILES
@ -122,6 +127,8 @@ for the location of the mailcap files and
.Xrmailcap5
for their syntax.
You can save individual attachments with the
.EmEXECUTE
command
.Cmsave-attachmentArINDEXArpath-to-file
where
.ArINDEX
@ -129,18 +136,27 @@ is the attachment's index in the listing.
If the zeroth index is provided, the entire message is saved.
If the path provided is a directory, the message is saved as an eml file with its filename set to the messages message-id.
.ShSEARCH
Each e-mail storage backend has its default search method.
Each e-mail storage backend has a default search method assigned.
.EmIMAP
uses the SEARCH command,
.Emnotmuch
uses libnotmuch and
.EmMaildir/mbox
have to do a slow linear search.
Thus it is advised to use a cache on
performs a slow linear search.
It is advised to use a cache on
.EmMaildir/mbox
accounts.
.NmNs
, if built with sqlite3, includes the ability to perform full text search on the following fields: From, To, Cc, Bcc, In-Reply-To, References, Subject and Date.
, if built with sqlite3, includes the ability to perform full text search on the following fields:
.EmFrom,
.EmTo,
.EmCc,
.EmBcc,
.EmIn-Reply-To,
.EmReferences,
.EmSubject
and
.EmDate.
The message body (in plain text human readable form) and the flags can also be queried.
To enable sqlite3 indexing for an account set
.Emcache_type
@ -182,6 +198,37 @@ to
will relay your queries to the IMAP server.
Expect a delay between query and response.
Sqlite3 on the contrary at reasonable mailbox sizes should have a non noticable delay.
Few things to consider before writing TOML (quoting the spec):
Configuration for meli is written in TOML which has a few things to consider (quoting the spec):
.Pp
.Bl-bullet-compact
.It
@ -123,24 +122,24 @@ set_seen = 'n'
theme = "light"
.Ed
.Pp
available options are listed below.
.Sydefaultvaluesareshowninparentheses.
Available options are listed below.
Default values are shown in parentheses.
.ShACCOUNTS
.Bl-tag-width36n
.ItIcroot_mailboxArString
the backend-specific path of the root_mailbox, usually INBOX.
The backend-specific path of the root_mailbox, usually INBOX.
.ItIcformatArStringOpmaildirmboximapnotmuchjmap
the format of the mail backend.
The format of the mail backend.
.ItIcsubscribed_mailboxesAr[String,]
an array of mailbox paths to display in the UI.
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
.Em\&*
can be used to match every mailbox name and path.
.ItIcidentityArString
your e-mail address that is inserted in the From: headers of outgoing mail
Your e-mail address that is inserted in the From: headers of outgoing mail.
.ItIcindex_styleArString
set the way mailboxes are displayed
Sets the way mailboxes are displayed.
.El
.TS
allbox tab(:);
@ -152,26 +151,31 @@ plain:shows one row per mail, regardless of threading
.TE
.Bl-tag-width36n
.ItIcdisplay_nameArString
(optional) a name which can be combined with your address:
"Name <email@address.tld>"
.PqEmoptional
A name which can be combined with your address: "Name <email@address.tld>".
.ItIcread_onlyArboolean
attempt to not make any changes to this account.
Attempt to not make any changes to this account.
.PqEmfalse
.ItIcmanual_refreshArboolean
(optional) if true, do not monitor account for changes (you can use shortcut listing.refresh)
.PqEmoptional
If true, do not monitor account for changes (you can use shortcut listing.refresh)
.PqEmfalse
.ItIcrefresh_commandArString
(optional) command to execute when manually refreshing (shortcut listing.refresh)
.PqEmoptional
command to execute when manually refreshing (shortcut listing.refresh)
.PqEmNone
.ItIccache_typeArString
(optional) choose which cache backend to use.
.PqEmoptional
Choose which cache backend to use.
Available options are 'none' and 'sqlite3'
.PqEm"sqlite3"
.ItIcvcard_folderArString
(optional) Folder that contains .vcf files.
.PqEmoptional
Folder that contains .vcf files.
They are parsed and imported read-only.
.ItIcmailboxesArmailbox
(optional) configuration for each mailbox.
.PqEmoptional
Configuration for each mailbox.
Its format is described below in
.SxmailboxesNs
\&.
@ -182,7 +186,7 @@ points to the directory which contains the
.Pa.notmuch/
subdirectory.
notmuch mailboxes are virtual, since they are defined by user-given notmuch queries.
Thus you have to explicitly state the mailboxes you want in the
You must explicitly state the mailboxes you want in the
.Icmailboxes
field and set the
.Arquery
@ -204,46 +208,59 @@ IMAP specific options are:
example:
.Qqmail.example.tld
.ItIcserver_usernameArString
Server username
.ItIcserver_passwordArString
Server password
.ItIcserver_password_commandArString
(optional) Use instead of
.PqEmoptional
Use instead of
.Icserver_password
.ItIcserver_portArnumber
(optional)
.PqEmoptional
The port to connect to
.\" default value
.PqEm143
.ItIcuse_starttlsArboolean
(optional) if port is 993 and use_starttls is unspecified, it becomes false by default.
.PqEmoptional
If port is 993 and use_starttls is unspecified, it becomes false by default.
.\" default value
.PqEmtrue
.ItIcdanger_accept_invalid_certsArboolean
(optional) do not validate TLS certificates.
.PqEmoptional
Do not validate TLS certificates.
.\" default value
.PqEmfalse
.El
.SsJMAPonly
JMAP specific options are:
JMAP specific options
.Bl-tag-width36n
.ItIcserver_hostnameArString
example:
.Qqmail.example.tld
.ItIcserver_usernameArString
Server username
.ItIcserver_passwordArString
Server password
.ItIcserver_portArnumber
(optional)
.PqEmoptional
The port to connect to
.\" default value
.PqEm443
.ItIcdanger_accept_invalid_certsArboolean
(optional) do not validate TLS certificates.
.PqEmoptional
Do not validate TLS certificates.
.\" default value
.PqEmfalse
.El
.Ssmboxonly
mbox specific options are:
mbox specific options
.Bl-tag-width36n
.ItIcprefer_mbox_typeArString
(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 are:
.PqEmoptional
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
.Bl-bullet-compact
.It
.Arauto
@ -259,7 +276,7 @@ Valid values are:
.\" default value
.PqEmauto
.El
to set multiple mailboxes, you have to explicitly state the mailboxes you want in the
To set multiple mailboxes, you have to explicitly state the mailboxes you want in the
@ -348,26 +379,46 @@ Default header values used when creating a new draft.
.El
.ShSHORTCUTS
Shortcuts can take the following values:
.QqEmBackspace
.QqEmLeft
.QqEmRight
.QqEmUp
.QqEmDown
.QqEmHome
.QqEmEnd
.QqEmPageUp
.QqEmPageDown
.QqEmDelete
.QqEmInsert
.QqEmEnter
.QqEmTab
.QqEmEsc
.QqEmF1..F12
.QqEmM-char
.QqEmC-char
and
.QqEmcharNs
, where char is a single character string.
.Bl-bullet-compact
.It
.EmBackspace
.It
.EmLeft
.It
.EmRight
.It
.EmUp
.It
.EmDown
.It
.EmHome
.It
.EmEnd
.It
.EmPageUp
.It
.EmPageDown
.It
.EmDelete
.It
.EmInsert
.It
.EmEnter
.It
.EmTab
.It
.EmEsc
.It
.EmF1..F12
.It
.EmM-char
.It
.EmC-char
.It
.Emchar
.El
.Emchar
is a single character string.
.sp
The headings before each list indicate the map key of the shortcut list.
For example for the first list titled
@ -520,7 +571,7 @@ Edit mail.
.sp
.Emenvelope-view
.Pp
To "select" an attachment, type its index (you will see the typed result in the command buffer on your bottom right of the status line) and then issue the corresponding command.
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.
.Bl-tag-width36n
.ItIcadd_addresses_to_contactsNs
Select addresses from envelope to add to contacts.
@ -550,7 +601,7 @@ Opens selected attachment with
.ItIcopen_mailcap
Opens selected attachment according to its mailcap entry.
See
.Xrmeli.1 FILES
.Xrmeli1 FILES
for the mailcap file locations.
.\" default value
.PqEmm
@ -560,7 +611,7 @@ Go to url of given index
.PqEmg
.ItIctoggle_url_mode
Toggles url open mode.
When active, it prepends an index next to each url that you can select by typing and open by issuing
When active, it prepends an index next to each url that you can select by typing the index and open by issuing
.Icgo_to_url
.\" default value
.PqEmu
@ -601,81 +652,88 @@ Go to next page.
.ShNOTIFICATIONS
.Bl-tag-width36n
.ItIcenableArboolean
enable freedesktop-spec notifications.
this is usually what you want
Enable freedesktop-spec notifications.
.\" default value
.PqEmtrue
.ItIcscriptArString
(optional) script to pass notifications to, with title as 1st arg and body as 2nd
.PqEmoptional
Script to pass notifications to, with title as 1st arg and body as 2nd
.\" default value
.PqEmnone
.PqEmnoneNs
\&.
.ItIcxbiff_file_pathArString
(optional) file that gets its size updated when new mail arrives
.PqEmoptional
File that gets its size updated when new mail arrives.
.PqEmnone
.\" default value
.ItIcplay_soundArboolean
(optional) play theme sound in notifications if possible
.PqEmoptional
Play theme sound in notifications if possible.
.PqEmfalse
.\" default value
.ItIcsound_fileArString
(optional) play sound file in notifications if possible
.PqEmoptional
Play sound file in notifications if possible.
.\" default value
.PqEmnone
.El
.ShPAGER
.Bl-tag-width36n
.ItIcpager_contextArnum
(optional) number of context lines when going to next page.
(Unimplemented)
.\" default value
.PqEm0
.ItIcheaders_stickyArboolean
(optional) always show headers when scrolling.
.PqEmoptional
Always show headers when scrolling.
.\" default value
.PqEmtrue
.ItIchtml_filterArString
(optional) pipe html attachments through this filter before display
.PqEmoptional
Pipe html attachments through this filter before display
.\" default value
.PqEmnone
.ItIcfilterArString
(optional) a command to pipe mail output through for viewing in pager.
.PqEmoptional
A command to pipe mail output through for viewing in pager.
.\" default value
.PqEmnone
.ItIcformat_flowedArbool
(optional) respect format=flowed
.PqEmoptional
Respect format=flowed
.\" default value
.PqEmtrue
.ItIcsplit_long_linesArbool
(optional) Split long lines that would overflow on the x axis.
.PqEmoptional
Split long lines that would overflow on the x axis.
.\" default value
.PqEmtrue
.ItIcminimum_widthArnum
(optional) Minimum text width in columns.
.PqEmoptional
Minimum text width in columns.
.\" default value
.PqEm80
.ItIcauto_choose_multipart_alternativeArboolean,
(optional) Choose `text/html` alternative if `text/plain` is empty in `multipart/alternative` attachments.
.ItIcauto_choose_multipart_alternativeArboolean
.PqEmoptional
Choose `text/html` alternative if `text/plain` is empty in `multipart/alternative` attachments.
.\" default value
.PqEmtrue
.El
.ShLISTING
.Bl-tag-width36n
.ItIccontext_linesArnum
(optional) number of context lines when going to next page.
(Unimplemented)
.\" default value
.PqEm0
.ItIcdatetime_fmtArString
(optional) datetime formatting passed verbatim to strftime(3).
.PqEmoptional
Datetime formatting passed verbatim to strftime(3).
.\" default value
.PqEm\&%Y-\&%m-\&%d\&%T
.ItIcrecent_datesArBoolean
(optional) Show recent dates as `X {minutes,hours,days} ago`, up to 7 days.
.PqEmoptional
Show recent dates as `X {minutes,hours,days} ago`, up to 7 days.
.\" default value
.PqEmtrue
.ItIcfilterArQuery
(optional) Show only envelopes matching this query (for query syntax see
.Xrmeli1)
.PqEmoptional
Show only envelopes matching this query.
.Po
For query syntax see
.Xrmeli1QUERYABNFSYNTAX
.Pc
.\" default value
.PqEmNone
.Pp
@ -687,12 +745,14 @@ filter = "not flags:seen" # show only unseen messages
.ShTAGS
.Bl-tag-width36n
.ItIccoloursArhashtableString[Color]
(optional) set UI colors for tags
.PqEmoptional
Set UI colors for tags
.ItIcignore_tagsArArrayString
(optional) hide tags (not the tagged messages themselves)