2019-07-04 04:38:25 +00:00
. \" meli - meli.1
2019-07-29 17:23:22 +00:00
. \"
2019-07-04 04:38:25 +00:00
. \" Copyright 2017-2019 Manos Pitsidianakis
2019-07-29 17:23:22 +00:00
. \"
2019-07-04 04:38:25 +00:00
. \" This file is part of meli.
2019-07-29 17:23:22 +00:00
. \"
2019-07-04 04:38:25 +00:00
. \" meli is free software: you can redistribute it and/or modify
. \" it under the terms of the GNU General Public License as published by
. \" the Free Software Foundation, either version 3 of the License, or
. \" (at your option) any later version.
2019-07-29 17:23:22 +00:00
. \"
2019-07-04 04:38:25 +00:00
. \" meli is distributed in the hope that it will be useful,
. \" but WITHOUT ANY WARRANTY; without even the implied warranty of
. \" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
. \" GNU General Public License for more details.
2019-07-29 17:23:22 +00:00
. \"
2019-07-04 04:38:25 +00:00
. \" You should have received a copy of the GNU General Public License
. \" along with meli. If not, see <http://www.gnu.org/licenses/>.
2019-07-29 17:23:22 +00:00
. \"
.Dd July 29 , 2019
2019-07-04 04:38:25 +00:00
.Dt MELI 1
2019-11-22 11:12:44 +00:00
.Os
2019-07-04 04:38:25 +00:00
.Sh NAME
2019-07-29 17:23:22 +00:00
.Nm meli
2019-11-22 11:12:44 +00:00
.Nd Meli Mail User Agent. meli is the Greek word for honey
2019-07-04 04:38:25 +00:00
.Sh SYNOPSIS
2019-11-11 20:20:16 +00:00
.Nm
2019-07-29 17:23:22 +00:00
.Op Fl -help | h
2019-08-01 09:44:30 +00:00
.Op Fl -version | v
2019-07-29 17:23:22 +00:00
.Op Fl -create-config Op Ar path
2019-11-22 16:43:24 +00:00
.Op Fl -test-config Op Ar path
2019-07-29 17:23:22 +00:00
.Op Fl -config Ar path
2019-07-04 04:38:25 +00:00
.Sh DESCRIPTION
Experimental terminal mail client
2019-07-29 17:23:22 +00:00
.Bl -tag -width flag -offset indent
.It Fl -help, h
Show help message and exit.
2019-08-01 09:44:30 +00:00
.It Fl -version, v
Show version and exit.
2019-07-29 17:23:22 +00:00
.It Fl -create-config Op Ar path
Create configuration file in
.Pa path
if given, or at
.Pa $XDG_CONFIG_HOME/meli/config
2019-11-22 16:43:24 +00:00
.It Fl -test-config Op Ar path
Test a configuration file for syntax issues or missing options.
2019-07-29 17:23:22 +00:00
.It Fl -config Ar path
Start meli with given configuration file.
.El
2019-07-04 04:38:25 +00:00
.Sh STARTING WITH meli
2019-11-22 11:12:44 +00:00
When launched for the first time,
2019-11-11 20:20:16 +00:00
.Nm
will search for its configuration directory,
2019-07-29 17:23:22 +00:00
.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
2019-09-16 11:07:38 +00:00
includes comments with the basic settings required for setting up accounts allowing you to copy and edit right away. See
.Xr meli.conf 5
for the available configuration options.
2019-07-04 04:38:25 +00:00
.Pp
2019-11-22 11:12:44 +00:00
At any time, you may press
2019-07-29 17:23:22 +00:00
.Cm \& ?
to show a searchable list of all available actions and shortcuts, along with every possible setting and command that your version supports.
2019-07-04 04:38:25 +00:00
.Pp
2019-11-26 23:43:03 +00:00
The main visual navigation tool is the left-side sidebar. The menu's visibility may be toggled with
.Cm `
(shortcuts.listing:
.Ic toggle_menu_visibility Ns
2019-07-29 17:23:22 +00:00
).
2019-07-04 04:38:25 +00:00
.Pp
2019-09-16 11:07:38 +00:00
The view into each folder 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).
2019-10-06 07:58:47 +00:00
.Pp
2019-11-22 11:12:44 +00:00
If you're using a light color palette in your terminal, you may set
2019-10-06 07:58:47 +00:00
.Em theme = "light"
in the
.Em terminal
section of your configuration.
2019-07-29 17:23:22 +00:00
.Bd -literal
2019-07-04 04:38:25 +00:00
^^ .-=-=-=-. ^^
^^ (`-=-=-=-=-`) ^^
(`-=-=-=-=-=-=-`) ^^ ^^
^^ (`-=-=-=-=-=-=-=-`) ^^
( `-=-=-=-(@)-=-=-` ) ^^
(`-=-=-=-=-=-=-=-=-`) ^^
(`-=-=-=-=-=-=-=-=-`) ^^
(`-=-=-=-=-=-=-=-=-`)
^^ (`-=-=-=-=-=-=-=-=-`) ^^
^^ (`-=-=-=-=-=-=-=-`) ^^
(`-=-=-=-=-=-=-`) ^^
^^ (`-=-=-=-=-`)
`-=-=-=-=-` ^^
2019-07-29 17:23:22 +00:00
.Ed
2019-11-11 20:20:16 +00:00
.Sh VIEWING MAIL
Open attachments by typing their index in the attachments list and then
.Cm a Ns
\& .
.Ns
.Nm
will attempt to open text inside its pager and other content via
.Cm xdg-open Ns
\& . Press
.Cm m
instead to use the mailcap entry for the MIME type of the attachment, if any. See
.Sx FILES
2019-11-22 11:12:44 +00:00
for the location of the mailcap files and
2019-11-11 20:20:16 +00:00
.Xr mailcap 5
for their syntax.
2019-11-27 15:40:00 +00:00
.Sh SEARCH
Each e-mail storage backend has its default search method.
.Em IMAP
uses the SEARCH command,
.Em notmuch
uses libnotmuch and
.Em Maildir/mbox
have to do a slow linear search. Thus it is advised to use a cache on
.Em Maildir/mbox
accounts.
.Nm Ns
, 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. The message body (in plain text human readable form) and the flags can also be queried. To enable sqlite3 indexing for an account set
.Em cache_type
to
.Em sqlite3
in the configuration file and to create the sqlite3 index issue command
.Cm index Ar ACCOUNT_NAME Ns \& .
To search in the message body type your keywords without any special formatting.
To search in specific fields, prepend your search keyword with "field:" like so:
.Pp
.D1 subject:helloooo or subject:\&"call for help\&" or \& "You remind me today of a small, Mexican chihuahua.\&"
.Pp
.D1 not ((from:unrealistic and (to:complex or not "query" )) or flags:seen,draft)
.Pp
.D1 alladdresses:mailing@list.tld and cc:me@domain.tld
.Pp
Boolean operators are
.Em or Ns
,
.Em and
and
.Em not
.Po
alias:
.Em \& !
.Pc
String keywords with spaces must be quoted. Quotes should always be escaped.
.sp
.Sy Important Notice about IMAP
.sp
To prevent downloading all your messages from your IMAP server, don't set
.Em cache_type
to
.Em sqlite3 Ns
\& .
.Nm
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.
2019-12-08 09:26:15 +00:00
.Sh TAGS
.Nm
supports tagging in notmuch and IMAP backends. Tags can be searched with the `tags:` or `flags:` prefix in a search query, and can be modified by
.Cm tag add TAG
and
.Cm tag remove TAG
(see
.Xr meli.conf 5 TAGS Ns
, settings
.Ic colors
and
.Ic ignore_tags
for how to set tag colors and tag visiblity)
2019-09-27 09:48:48 +00:00
.Sh COMPOSING
To send mail, press
.Cm m
while viewing the appropriate account to open a new composing tab. To reply to a mail, press
.Cm R Ns
2019-11-22 11:12:44 +00:00
\& . You may edit some of the header fields from within the view, by selecting with the arrow keys and pressing
2019-09-27 09:48:48 +00:00
.Cm enter
to enter
.Ar INSERT
2019-11-22 11:12:44 +00:00
mode. At any time you may press
2019-09-27 09:48:48 +00:00
.Cm e
to launch your editor (see
2019-11-26 23:43:03 +00:00
.Xr meli.conf 5 COMPOSING Ns
, setting
.Ic editor_cmd
2019-11-22 11:12:44 +00:00
for how to select which editor to launch). Attachments may be handled with the
2019-09-27 09:48:48 +00:00
.Em add-attachment Ns
,
.Em remove-attachment
commands (see below). Finally, pressing
2019-11-22 11:12:44 +00:00
.Cm s
2019-09-27 09:48:48 +00:00
will send your message by piping it into a binary of your choosing (see
2019-11-22 11:12:44 +00:00
.Xr meli.conf 5 COMPOSING Ns
2019-09-27 09:48:48 +00:00
, setting
2019-11-26 23:43:03 +00:00
.Ic mailer_cmd Ns
2019-09-27 09:48:48 +00:00
). To save your draft without sending it, issue command
.Cm close
and select 'save as draft'.
.Pp
2019-11-22 11:12:44 +00:00
With no Draft or Sent folder,
.Nm
2019-11-11 20:20:16 +00:00
tries first saving mail in your INBOX and then at any other folder. On complete failure to save your draft or sent message it will be saved in your
2019-09-27 09:48:48 +00:00
.Em tmp
directory instead and you will be notified of its location.
.Pp
To open a draft for editing later, select your draft in the mail listing and press
.Cm e Ns
\& .
2019-11-26 23:43:03 +00:00
Your editor can be used in
.Nm Ns
\& 's embed terminal emulator by setting
.Ic embed
to
.Em true
in your composing settings. When launched, your editor captures all input until it exits or stops. To stop your editor and return to
.Nm
issue Ctrl-z and to resume editing press the
.Ic edit_mail
command again (default
.Em e Ns
).
2019-11-27 15:40:00 +00:00
.Sh CONTACTS
.Nm
supports two kinds of contact backends:
2019-11-08 12:40:23 +00:00
2019-11-27 15:40:00 +00:00
.Bl -enum -compact -offset indent
.It
an internal format that gets saved under
.Pa $XDG_DATA_HOME/meli/account_name/addressbook Ns
2019-11-22 11:12:44 +00:00
\& .
2019-11-27 15:40:00 +00:00
.It
vCard files (v3, v4) through the
.Ic vcard_folder
option in the account section. The path defined as
.Ic vcard_folder
can hold multiple vCards per file. They are loaded read only.
.El
See
.Xr meli.conf 5 ACCOUNTS
for the complete account configuration values.
2019-07-04 04:38:25 +00:00
.Sh EXECUTE mode
2019-11-22 11:12:44 +00:00
Commands are issued in EXECUTE mode, by default started with Space and exited with Escape key.
2019-09-16 11:07:38 +00:00
.Pp
the following commands are valid in the mail listing context:
2019-11-22 11:12:44 +00:00
.Bl -tag -width 36 n
.It Cm set Ar plain | threaded | compact | conversations
2019-07-29 17:23:22 +00:00
set the way mailboxes are displayed
2019-11-22 11:12:44 +00:00
.El
.TS
allbox tab(:);
lb l.
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
.TE
.Bl -tag -width 36 n
.It Cm sort Ar subject | date \ Ar asc | desc
2019-07-29 17:23:22 +00:00
sort mail listing
2019-11-22 11:12:44 +00:00
.It Cm subsort Ar subject | date \ Ar asc | desc
2019-07-29 17:23:22 +00:00
sorts only the first level of replies.
2019-11-22 11:12:44 +00:00
.It Cm go Ar n
2019-07-29 17:23:22 +00:00
where
.Ar n
is a mailbox prefixed with the
.Ar n
number in the side menu for the current account
2019-11-22 11:12:44 +00:00
.It Cm toggle_thread_snooze
2019-07-29 17:23:22 +00:00
don't issue notifications for thread under cursor in thread listing
2019-11-22 11:12:44 +00:00
.It Cm filter Ar STRING
2019-07-29 17:23:22 +00:00
filter mailbox with
.Ar STRING
key. Escape exits filter results
2019-11-22 11:12:44 +00:00
.It Cm set read, set unread
.It Cm create-folder Ar ACCOUNT Ar FOLDER_PATH
2019-09-16 11:07:38 +00:00
create folder with given path. be careful with backends and separator sensitivity (eg IMAP)
2019-11-22 11:12:44 +00:00
.It Cm subscribe-folder Ar ACCOUNT Ar FOLDER_PATH
2019-09-16 11:07:38 +00:00
subscribe to folder with given path
2019-11-22 11:12:44 +00:00
.It Cm unsubscribe-folder Ar ACCOUNT Ar FOLDER_PATH
2019-09-16 11:07:38 +00:00
unsubscribe to folder with given path
2019-11-22 11:12:44 +00:00
.It Cm rename-folder Ar ACCOUNT Ar FOLDER_PATH_SRC Ar FOLDER_PATH_DEST
2019-09-16 11:07:38 +00:00
rename folder
2019-11-22 11:12:44 +00:00
.It Cm delete-folder Ar ACCOUNT Ar FOLDER_PATH
2019-09-16 11:07:38 +00:00
delete folder
.El
.Pp
envelope view commands:
2019-11-22 11:12:44 +00:00
.Bl -tag -width 36 n
2019-09-16 11:07:38 +00:00
.It Cm pipe Ar EXECUTABLE Ar ARGS
pipe pager contents to binary
2019-07-29 17:23:22 +00:00
.It Cm list-post
2019-11-22 11:12:44 +00:00
post in list of viewed envelope
2019-07-29 17:23:22 +00:00
.It Cm list-unsubscribe
2019-11-22 11:12:44 +00:00
unsubscribe automatically from list of viewed envelope
2019-07-29 17:23:22 +00:00
.It Cm list-archive
open list archive with
.Cm xdg-open
2019-09-16 11:07:38 +00:00
.El
.Pp
composing mail commands:
2019-11-22 11:12:44 +00:00
.Bl -tag -width 36 n
.It Cm add-attachment Ar PATH
2019-09-16 11:07:38 +00:00
in composer, add
.Ar PATH
as an attachment
2019-11-22 11:12:44 +00:00
.It Cm remove-attachment Ar INDEX
2019-09-16 11:07:38 +00:00
remove attachment with given index
2019-11-22 11:12:44 +00:00
.It Cm toggle sign
2019-09-28 07:46:49 +00:00
toggle between signing and not signing this message. If the gpg invocation fails then the mail won't be sent.
2019-09-16 11:07:38 +00:00
.El
.Pp
generic commands:
2019-11-22 11:12:44 +00:00
.Bl -tag -width 36 n
2019-09-16 11:07:38 +00:00
.It Cm open-in-tab
opens envelope view in new tab
2019-11-22 11:12:44 +00:00
.It Cm close
2019-09-16 11:07:38 +00:00
closes closeable tabs
2019-07-29 17:23:22 +00:00
.It Cm setenv Ar KEY=VALUE
set environment variable
.Ar KEY
to
.Ar VALUE
2019-09-16 11:07:38 +00:00
.It Cm printenv Ar KEY
2019-07-29 17:23:22 +00:00
print environment variable
.Ar KEY
2019-07-04 04:38:25 +00:00
.El
.Sh SHORTCUTS
2019-07-29 17:23:22 +00:00
Non-complete list of shortcuts and their default values.
2019-11-22 11:12:44 +00:00
.Bl -tag -width 36 n
.It Ic open_thread
2019-07-29 17:23:22 +00:00
\& '\\ n'
2019-11-22 11:12:44 +00:00
.It Ic exit_thread
2019-07-29 17:23:22 +00:00
\& 'i'
2019-11-22 11:12:44 +00:00
.It Ic create_contact
2019-07-29 17:23:22 +00:00
\& 'c'
2019-11-22 11:12:44 +00:00
.It Ic edit_contact
2019-07-29 17:23:22 +00:00
\& 'e'
2019-11-22 11:12:44 +00:00
.It Ic prev_page
2019-07-29 17:23:22 +00:00
PageUp,
2019-11-22 11:12:44 +00:00
.It Ic next_page
2019-07-29 17:23:22 +00:00
PageDown
2019-11-22 11:12:44 +00:00
.It Ic prev_folder
2019-07-29 17:23:22 +00:00
\& 'K'
2019-11-22 11:12:44 +00:00
.It Ic next_folder
2019-07-29 17:23:22 +00:00
\& 'J'
2019-11-22 11:12:44 +00:00
.It Ic prev_account
2019-07-29 17:23:22 +00:00
\& 'l'
2019-11-22 11:12:44 +00:00
.It Ic next_account
2019-07-29 17:23:22 +00:00
\& 'h'
2019-11-22 11:12:44 +00:00
.It Ic new_mail
2019-07-29 17:23:22 +00:00
\& 'm'
2019-11-22 11:12:44 +00:00
.It Ic scroll_up
2019-07-29 17:23:22 +00:00
\& 'k'
2019-11-22 11:12:44 +00:00
.It Ic scroll_down
2019-07-29 17:23:22 +00:00
\& 'j'
2019-11-22 11:12:44 +00:00
.It Ic page_up
2019-07-29 17:23:22 +00:00
PageUp
2019-11-22 11:12:44 +00:00
.It Ic page_down
2019-07-29 17:23:22 +00:00
PageDown
2019-11-22 11:12:44 +00:00
.It Ic toggle-menu-visibility
2019-09-16 11:07:38 +00:00
\& '`'
2019-11-22 11:12:44 +00:00
.It Ic select
2019-09-16 11:07:38 +00:00
\& 'v'
2019-11-22 11:12:44 +00:00
.It Ic `
2019-07-29 17:23:22 +00:00
toggles hiding of sidebar in mail listings
2019-11-22 11:12:44 +00:00
.It Ic \& ?
2019-07-29 17:23:22 +00:00
opens up a shortcut window that shows available actions in the current component you are using (eg mail listing, contact list, mail composing)
2019-11-22 11:12:44 +00:00
.It Ic m
2019-07-29 17:23:22 +00:00
starts a new mail composer
2019-11-22 11:12:44 +00:00
.It Ic R
replies to the viewed mail.
.It Ic u
2019-07-29 17:23:22 +00:00
displays numbers next to urls in the body text of an email and
2019-11-22 11:12:44 +00:00
.Ar n Ns Ic g
2019-07-29 17:23:22 +00:00
opens the
.Ar n Ns
th
url with xdg-open
2019-11-22 11:12:44 +00:00
.It Ar n Ns Ic a
2019-07-29 17:23:22 +00:00
opens the
.Ar n Ns
th
attachment.
2019-11-22 11:12:44 +00:00
.It Ar n Ns Ic m
2019-11-11 20:20:16 +00:00
opens the
.Ar n Ns
th
attachment according to its mailcap entry.
2019-11-22 11:12:44 +00:00
.It Ic v
2019-09-16 11:07:38 +00:00
(un)selects mail entries in mail listings
2019-07-04 04:38:25 +00:00
.El
.Sh EXIT STATUS
2019-07-29 17:23:22 +00:00
.Nm
exits with 0 on a successful run. Other exit statuses are:
.Bl -tag -width 2 n
.It 1
catchall for general errors
.El
2019-07-04 04:38:25 +00:00
.Sh ENVIRONMENT
2019-09-16 11:07:38 +00:00
.Bl -tag -width "$XDG_CONFIG_HOME/meli/plugins/*" -offset indent
2019-07-29 17:23:22 +00:00
.It Ev EDITOR
Specifies the editor to use
.It Ev MELI_CONFIG
Override the configuration file
2019-07-04 04:38:25 +00:00
.El
.Sh FILES
2019-11-11 20:20:16 +00:00
.Nm
uses the following parts of the XDG standard:
2019-09-16 11:07:38 +00:00
.Bl -tag -width "$XDG_CONFIG_HOME/meli/plugins/*" -offset indent
2019-07-29 17:23:22 +00:00
.It Ev XDG_CONFIG_HOME
defaults to
.Pa ~/.config/
.It Ev XDG_CACHE_HOME
defaults to
.Pa ~/.cache/
2019-07-04 04:38:25 +00:00
.El
2019-07-29 17:23:22 +00:00
.Pp
and appropriates the following locations:
.Bl -tag -width "$XDG_CONFIG_HOME/meli/plugins/*" -offset indent
.It Pa $XDG_CONFIG_HOME/meli/
User configuration directory.
.It Pa $XDG_CONFIG_HOME/meli/config
2019-09-16 11:07:38 +00:00
User configuration file. See
.Xr meli.conf 5
for its syntax and values.
2019-07-29 17:23:22 +00:00
.It Pa $XDG_CONFIG_HOME/meli/hooks/*
Reserved for event hooks.
.It Pa $XDG_CONFIG_HOME/meli/plugins/*
Reserved for plugin files.
.It Pa $XDG_CACHE_HOME/meli/*
Internal cached data used by meli.
2019-09-16 11:07:38 +00:00
.It Pa $XDG_DATA_HOME/meli/*
Internal data used by meli.
.It Pa $XDG_DATA_HOME/meli/meli.log
Operation log.
2019-07-29 17:23:22 +00:00
.It Pa /tmp/meli/*
2019-11-11 20:20:16 +00:00
Temporary files generated by
.Nm Ns
\& .
.El
.Pp
Mailcap entries are searched for in the following files, in this order:
.Pp
.Bl -enum -compact -offset indent
2019-11-22 11:12:44 +00:00
.It
2019-11-11 20:20:16 +00:00
.Pa $XDG_CONFIG_HOME/meli/mailcap
.It
.Pa $XDG_CONFIG_HOME/.mailcap
.It
.Pa $HOME/.mailcap
.It
.Pa /etc/mailcap
.It
.Pa /usr/etc/mailcap
.It
.Pa /usr/local/etc/mailcap
2019-07-04 04:38:25 +00:00
.El
2019-07-29 17:23:22 +00:00
.Sh SEE ALSO
2019-11-11 20:20:16 +00:00
.Xr meli.conf 5 ,
2019-09-16 11:07:38 +00:00
.Xr xdg-open 1 ,
2019-11-11 20:20:16 +00:00
.Xr mailcap 5
2019-07-29 17:23:22 +00:00
.Sh CONFORMING TO
XDG Standard
.Aq https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html Ns
, maildir
2019-11-11 20:20:16 +00:00
.Aq https://cr.yp.to/proto/maildir.html Ns
, IMAPv4rev1 RFC3501.
2019-07-04 04:38:25 +00:00
.Sh AUTHORS
2019-07-29 17:23:22 +00:00
Copyright 2017-2019
.An Manos Pitsidianakis Aq 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.)
2019-07-04 04:38:25 +00:00
.Pp
2019-07-29 17:23:22 +00:00
.Aq https://meli.delivery