From elmo-devel@lists.sourceforge.net Mon Jan 12 19:25:00 2004
From: "Elmo Developers" <elmo-devel@lists.sourceforge.net>
Subject: Before you start
Message-Id: <before>

Welcome to Elmo's online tutorial.  We hope that it will provide you
with all information necessary to use Elmo with joy.  If not - please
let us know, so we can help you and others facing same problems.  You
can press 'r' at any time to send us a reply to the chapter you are
reading.

Each chapter of this tutorial is a separate message in tutorial box.
We have made an assumption that you use default configuration, or no
configuration at all, so some information may be not true for you if
you have already customized Elmo.  However there are some chapters of
manual where you need some configuration to follow steps described
there (e.g. fetching messages requires that you have setup at least
one POP3 account).

Sometimes there are some examples taken from .elmorc configuration
file.  These examples are indented, but remember that each command in
.elmorc must start at the beginning of line.


From elmo-devel@lists.sourceforge.net Mon Jan 12 19:25:00 2004
From: "Elmo Developers" <elmo-devel@lists.sourceforge.net>
Subject: 1. Basic layout
Message-Id: <chapter1>

Topbar
------

There is a blue bar at the top of the screen that shows Elmo version,
and few most basic key shortcuts in current mode.  Right now it should
tell you which keys to press if you'd like to close this window, reply
to this message, and so on.  If you quit this window by pressing 'q',
you should see a window with list of messages in this box (chapters of
this tutorial).  Notice that available keys are different there.


Command line
------------

Command line is a most bottom window on the screen.  Right now it is
black, and displays nothing.  Elmo uses this window to get input from
you.


Status bar
----------

Status bar is a blue window right above the command line.  It should
display something like:

 (mail/3)  --All--   Elmo Developers     1. Basic layout

It means that the active window (mail) is assigned a number 3.  You
can focus any window by pressing alt key along with its number.
Window description is followed by author and title of this message.

If you quit this window it should look like:

 (folder/1)  --All--   tutorial [msgs:   14  new: 12]


From elmo-devel@lists.sourceforge.net Mon Jan 12 19:25:00 2004
From: "Elmo Developers" <elmo-devel@lists.sourceforge.net>
Subject: 1.1. Windows
Message-Id: <chapter1.1>
In-Reply-To: <chapter1>

As you have already noticed, every window is assigned a number which
is shown in the status bar.  You can switch to any open window by
pressing meta key along with a digit - number of desired window.  You
can also switch to the next window pressing <tab>.

You have to be careful.  Focusing window that overlaps the window
currently being focused may have unexpected results.  If you press
'\M-2' now the box selection window should appear.  Unfortunately it
will corrupt the current view.  You can get back to this window
pressing '\M-3' or <tab>.

You can have the screen redrawn at any time if you press '\C-l'.  It
is useful when some other program (e.g. Linux kernel) displays some
data on the screen corrupting Elmo windows.


From elmo-devel@lists.sourceforge.net Mon Jan 12 19:25:00 2004
From: "Elmo Developers" <elmo-devel@lists.sourceforge.net>
Subject: 1.2. Mailreader
Message-Id: <chapter1.2>
In-Reply-To: <chapter1>
Content-Type: multipart/mixed; boundary=alamakota

--alamakota
Content-Type: text/plain; charset=us-ascii

Mailreader window is the one this message is displayed in.  You can
switch to the message header by pressing 'h'.  Pressing 'h' second
time will bring you back to this view.  Headers are not mime-decoded
in header view, and may seem unreadable, but some people find this
feature useful.

Press 'a' now.  The window with list of all MIME parts of this message
will appear.  As you can see, this message consists of three parts -
first two are marked "<mail content>", and the third has a file name.

Please select the second part of the message, and press enter.  You
will be taken to the continuation of the tutorial.

--alamakota
Content-Type: text/plain; charset=us-ascii

As you can see, pressing enter makes Elmo load selected part of the
message to this window.  It is very handy, when you get a message with
text attachments.  You can try to do the same with last part of the
message which is an image.  Elmo asks you to enter a command to run,
which is able to handle images.  The command should contain a "%f"
control sequence which will be replaced with a name of the file
containing an attachment.  Thus if you use a program image_viewer, you
may enter  "image_viewer %f" (omit quotes), and the logo should
display on the screen.

A different way could be by saving the selected attachment to file.
Open attachments window, select "sflogo.png", and press 's'.  The file
name appears in a command line, because Elmo asks you for a location,
where would you like to store this file.  Default location is taken
from the message.  If you press enter, the file will be saved in
current directory in file "sflogo.png".

It doesn't mean you always have to save an attachment before viewing
it.  You can specify a program that will open an image for you.  I use
fbi for viewing images on text terminal, and here is what I have in my
.elmorc file:

  handler image/* "fbi %f"

Each time I press enter on an image Elmo runs fbi (which is an image
viewer for framebuffer console) giving it a filename as an argument.



--alamakota
Content-Type: image/png
Content-Disposition: attachment; filename="sflogo.png"
Content-Transfer-Encoding: base64


SUVORK5CYIIyMTA4
--alamakota--


From elmo-devel@lists.sourceforge.net Mon Jan 12 19:25:00 2004
From: "Elmo Developers" <elmo-devel@lists.sourceforge.net>
Subject: 1.3. Command line
Message-Id: <chapter1.3>
In-Reply-To: <chapter1>

In previous chapter, you were explained how to save an attachment to
the file.  You were prompted to enter a file name.  There are few
features of command line worth knowing.

Command line in Elmo works the same way as in emacs, and key shortcuts
are similar.  If you don't like emacs - you can customize Elmo
shortcuts even for command line.

\C-g           Abort reading.  Usually aborts the action that led to
               activation of command line.
<enter>        Accept the string as it appears in command line.
\C-a, <home>   Move cursor to the beginning of the string.
\C-e, <end>    Move cursor to the end of the string.
\C-b, <left>   Move cursor one character left.
\C-f, <right>  Move cursor one character right.
\M-b           Move cursor left over the word.
\M-f           Move cursor right over the word.
\C-d, <delete> Delete the character at point.
<backspace>    Delete the character behind the cursor.
\M-d           Delete the word after the point.
\M-<backspace> Delete the word behind the cursor.
\C-k           Kill the text from point to the end of the line.
<tab>          Complete.


Completing the text
-------------------

Completing is as easy as in shell.  If there is no ambiguity, Elmo
will enter the completion or at least a longest possible prefix.  If
there are few possibilities of completing the text at the point, then
Elmo won't enter anything.  If you press <tab> again Elmo will show
you all possibilities found right above the status bar.  First item
should be hilighted.  You can select an item with <up>, and <down>
arrows, and accept your selection with <enter>, or abort completion
with \C-g.

Elmo is able to complete file names, addresses from addressbook, and
possible actions.  First two are obvious.  The third one will be
explained later.


From elmo-devel@lists.sourceforge.net Mon Jan 12 19:25:00 2004
From: "Elmo Developers" <elmo-devel@lists.sourceforge.net>
Subject: 1.4. Folder
Message-Id: <chapter1.4>
In-Reply-To: <chapter1>

Folder window is the one you are shown right after startup.  It lists
messages from the current mailbox.

Besides some obvious information like author and subject, every line
contains few columns of characters, that may be hard to understand at
the very beginning.  First column is used as an attachment indicator,
and may contain:
  + - message has an attachment
  e - message is encrypted
  s - message is signed
Second column may contain:
  N - message is new,
  O - message is old but you haven't read it yet,
  F - message has been flagged by you.
Third column may contain:
  r - you have replied to this message
  f - you have forwarded this message
Fourth column is a spam indicator, and will be explained later.

You may be asking yourself, why would you like to flag a message?
Let's first learn how to do it.  To flag a message press space.  To
remove a flag press space again.  You can flag all messages by
pressing '+', unflag all messages by pressing '-', and reverse flag
with '*'.  You can also flag messages that are duplicates of other
messages by pressing '='.

What about flagged messages?  There are many actions, that operate on
more than one message.  If you'd like to delete more than one message,
you should first flag them, and then press <delete> key.  If no
message is flagged, then selected message is deleted (or moved to
trash if you have one).  Same rules apply when you kill messages with
pressing 'K' (they are permanently removed, not moved to the trash),
or move to other boxes pressing 'M'.


From elmo-devel@lists.sourceforge.net Mon Jan 12 19:25:00 2004
From: "Elmo Developers" <elmo-devel@lists.sourceforge.net>
Subject: 1.5. Searching, and sorting
Message-Id: <chapter1.5>
In-Reply-To: <chapter1>

Sorting
-------

When you start Elmo messages are sorted by date, and grouped in
threads.  You can change order by pressing these keys (pressing a key
twice reverses the order):

  d - date
  A - author (from)
  s - subject

Pressing t groups messages in threads without changing the order of
parent messages.


Searching
---------

To find a message simply press \C-s (searching forward), or \C-r
(searching backward), and start typing a pattern.  The bar will be
moving down/up to the next message which subject or author contains
the typed string.  Press \C-s (or \C-r respectively) to move to the
next matching message without typing next letter of pattern.

With Elmo you can also search for a pattern with mistakes.  If you
think, that a message may contain a subject, but are not sure exactly
what is inside, you may specify how many mistakes you could make.
Just press a digit before pressing \C-s.  The digit indicates how many
mistakes may the matching string contain.

Search works not only in folder with messages, but also in mailreader
window, and you may now experiment.  Try to search for the word
"search", and look how it behaves.

You may fall into a trouble if \C-s enters a scroll-lock mode.  This
is common on text terminals (press \C-q to unlock).  There are few
ways to work around this problem (till I find an elegant solution).
First is to disable "stop" action of the terminal driver.  You only
need to execute

  stty stop undef

before running elmo.  I have put this line to my .bashrc file.

You may also define another key (like \C-t) for searching forward by
adding something like this to your .elmorc:

  key \Ct folder folder_search_forward
  key \Ct abook  abook_search_forward
  key \Ct mail   mailreader_search_forward
  key \Ct search select_search_forward



From elmo-devel@lists.sourceforge.net Mon Jan 12 19:25:00 2004
From: "Elmo Developers" <elmo-devel@lists.sourceforge.net>
Subject: 1.6. Box selection
Message-Id: <chapter1.6>
In-Reply-To: <chapter1>

Box selection window displays list of boxes in your mailbox.  There
are two numbers in parentheses.  First one shows the number of
messages not read, and second the total number of messages in this
box.

Tutorial seems to have 0 messages.  Elmo doesn't try to count messages
in mbox files because it may be time-consuming.  You can enable this
feature by adding following line to your .elmorc file:

  set count_mbox yes

To open the selected box press enter.


From elmo-devel@lists.sourceforge.net Mon Jan 12 19:25:00 2004
From: "Elmo Developers" <elmo-devel@lists.sourceforge.net>
Subject: 1.7. Addressbook
Message-Id: <chapter1.7>
In-Reply-To: <chapter1>

You can open addressbook from folder window pressing 'a'.  Right now
it is probably empty.  You can add a new entry by pressing 'a'.  You
will be prompted for a name, and email address of the person you want
to add.  Another possibility of adding new person to your addressbook
is to press 'b' in mailreader window.  Please press 'b' now.  You
should see window with "Elmo Developers".  You can add this entry to
your addressbook simply pressing <enter>.

Selecting addresses in addressbook works just like in folder window.
The only difference is that you can't select duplicate entries.  You
can compose a new message to selected people by pressing 'm'
(composing and sending mails is covered later in this tutorial).  Same
rules apply to removing entries, changing their flags and so on.



From elmo-devel@lists.sourceforge.net Mon Jan 12 19:25:00 2004
From: "Elmo Developers" <elmo-devel@lists.sourceforge.net>
Subject: 2. Composing and sending mail
Message-Id: <chapter2>

Let's learn how to compose a new message.  First you have to have at
least one SMTP account already configured.  If you don't know how to
do it, you can use elmoconf.pl script that will do it for you.

Right now it is impossible to use sendmail for passing messages, but
we are working on it.


From elmo-devel@lists.sourceforge.net Mon Jan 12 19:25:00 2004
From: "Elmo Developers" <elmo-devel@lists.sourceforge.net>
Subject: 2.1. New mail
Message-Id: <chapter2.1>
In-Reply-To: <chapter2>

Composing new message is very simple.  Press 'm' in folder window.
Elmo asks you for recipients, and subject.  Press \C-g if you
changed your mind, and don't want to send a message.  If you wish to
supply more than one recipient - separate them with commas.  Notice
that you can complete an address if it is in your addressbook.

After you supply a subject, an editor is opened.  Write a message, but
please leave an empty line between message header, and message body.
It is very important.  Close your editor when finished.  You will be
taken to a sender window.

Sender window
-------------

Message data is shown at the top.  Below are parts of the message.
First item is marked as <mail content>.  You can attach a file to the
message simply pressing 'a', and supplying a file name.  Use delete
key to remove unwanted attachments.  You can change any data displayed
in the upper window.  Use following keys:

  S - change smtp account used to send this message, note that your
      address is changed along with the server
  f - change from without altering smtp server
  r - change reply-to address
  t - change recipients of the message
  c - change carbon copy recipients
  b - change blind carbon copy recipients
  s - change subject
  T - change content-type of the selected attachment

Press 'y' to send a message or 'q' to cancel.  If you press 'y' the
message won't be sent actually.  It will be moved to a special mailbox
'sent'.  If you press 'q' Elmo will ask you if you wish to store this
message in 'drafts' folder.  You will be able to get back to this
message later.

Press 'S' key in folder view to flush messages from outbox.


From elmo-devel@lists.sourceforge.net Mon Jan 12 19:25:00 2004
From: "Elmo Developers" <elmo-devel@lists.sourceforge.net>
Subject: 2.2. Replying, and forwarding
Message-Id: <chapter2.2>
In-Reply-To: <chapter2>

Press 'r' to reply to a selected message.  The only difference between
replying, and composing new message is that you don't supply
recipients, and subject.

Sometimes you want to send a reply not only to the author of the
message, but also to other recipients of this message.  Press 'R' to
do this.

Press 'f' to forward a selected message.  You will only have to supply
recipients.



From elmo-devel@lists.sourceforge.net Mon Jan 12 19:25:00 2004
From: "Elmo Developers" <elmo-devel@lists.sourceforge.net>
Subject: 3. Fetching messages
Message-Id: <chapter3>

Support for fetching messages from remote servers has been split in
Elmo into two different tasks.  Thus you may fetch your emails in an
noninteractive manner - this is what most other mail clients do, or
use an interactive mode.

In noninteractive (batch) mode Elmo connects to the server and
performs the desired operation (fetching / deleting).

The interactive mode has been developed to enable you decide which
messages do you really want to fetch, and which should be deleted
without delivering to your machine.  This way you may easily get rid
of unsolicited messages especially if they have huge attachments.


From elmo-devel@lists.sourceforge.net Mon Jan 12 19:25:00 2004
From: "Elmo Developers" <elmo-devel@lists.sourceforge.net>
Subject: 3.1. Noninteractive
Message-Id: <chapter3.1>
In-Reply-To: <chapter3>

Use one of the following functions:
   * pop_fetch       - fetch all messages from selected account
   * pop_purge       - delete all messages from selected account
   * pop_fetch_purge - fetch and delete all messages from selected
                       account

If you have more than one pop3 account, then you may also use these
functions with _all suffix - they do the job for all your pop3
accounts.


From elmo-devel@lists.sourceforge.net Mon Jan 12 19:25:00 2004
From: "Elmo Developers" <elmo-devel@lists.sourceforge.net>
Subject: 3.2. Interactive
Message-Id: <chapter3.2>
In-Reply-To: <chapter3>

If you press 'F' key in folder window Elmo will try to connect with
your pop3 server, and fetch list of messages.  The list itself is very
similar to folder view.  You may use following keys in this mode:

  f - fetch a selected message
  d - delete a selected message
  r - reset state of the connection (undelete all messages marked for
      deletion)
  q - close the connection, and the window

Messages in this window may be marked with 'F' or 'D'.  The prior
means that the message has been fetched, the latter that the messages
has been scheduled for deleteion.  Notice that the requested operation
doesn't necessarily have to complete immediately (in fact - they
usually don't) so markers may appear later.  However you don't have to
wait until every issued request is completed because elmo remembers
what you have requested, and will do it as soon as possible.  You may
even close the window - Elmo finishes your requests, and closes the
connection.


From elmo-devel@lists.sourceforge.net Mon Jan 12 19:25:00 2004
From: "Elmo Developers" <elmo-devel@lists.sourceforge.net>
Subject: 3.3. Notification about new mail
Message-Id: <chapter3.3>
In-Reply-To: <chapter3>

If you have a permanent internet connection, you don't have to
manually check if there is new mail waiting for you on one of 
your accounts.  You may configure elmo such that it runs a command
periodically.  To do it setup an interval hook like this:

  interval 5 pop_check_new_mail

or

  interval 5 pop_fetch_purge_all

The prior will connect to all your pop3 accounts one after another.
If it finds mail on one of them it displays a short information in
status bar.  The latter fetches and deletes all messages on the
server.  Both functions may play a sound if there is mail for you.
What you need to do is to define a way of noticing you.  E.g.:

  set sound_app "play /usr/share/sound/gotmail.wav"

Although the variable name is "sound_app", the application doesn't
actually has to play a sound.  It may notice you in any other way, it
just cannot write on the standard output.


From elmo-devel@lists.sourceforge.net Mon Jan 12 19:25:00 2004
From: "Elmo Developers" <elmo-devel@lists.sourceforge.net>
Subject: 3.4. Where the message is being delivered
Message-Id: <chapter3.4>
In-Reply-To: <chapter3>

When you fetch a message it is by default delivered to "inbox" folder
unless you specify some rules for them.  Rules are described in detail
in doc/README.txt file. Let's look at the example:

  rule elmo-users {
     If SUBJECT includes '[elmo-users]' move the message to elmo.
  }

This rule, when copied to .elmorc, will instruct Elmo to deliver all
messages with subject containing [elmo-users] to folder elmo.

WARNING: Please do NOT try to fetch a message while you are in one of
your mbox files.  Particularly: do NOT do it while you are reading
this tutorial.  Mbox support is not completed, and Elmo will drop the
message as soon as it fetches it from server.  First - switch to one
of your Maildir boxes, then fetch email.


From elmo-devel@lists.sourceforge.net Mon Jan 12 19:25:00 2004
From: "Elmo Developers" <elmo-devel@lists.sourceforge.net>
Subject: 4. GnuPG
Message-Id: <chapter4>
Content-Type: multipart/signed; boundary=alamapsa

--alamapsa
Content-Type: text/plain; charset=us-ascii

When describing folder view, we have written, that a message may be
marked with 'e' (which means that it is encrypted), or with 's' (which
means that it is digitally signed).


Decrypting messages
-------------------

You never have to decrypt an encrypted message.  Each time you want to
open a decrypted message you will be prompted for a password.  If you
supply a valid passphrase, the message will be shown.

Elmo remembers your password, so you won't be prompted next time for
it.  You may force Elmo to forget your pass phrase.  Just press ':',
then type pgp_forget_passphrase, and press enter.


Verifying digital signatures
----------------------------

This message has been signed with tutorial's private key.  If you
haven't imported it yet, then you should see an additional red header
saying "PGP: No public key".  You can find a public key in
doc/tutorial.gpg file.  Import it to your keyring (refer to gpg
manual), and get back to this message.  You should see a green header
saying "PGP: ok" instead of a red one.

If you cannot see a "PGP" header, then you have probably compiled Elmo
without support for encryption.  If you compile Elmo from source
tarball, then you need headers of library gpgme (on Debian system
these headers are in the package libgpgme11-dev).

--alamapsa
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQBAUIVeu/t155ptteURAjTbAKCjxY3kNfuSzndVYC+mMDOuQ0aV4wCg0eNl
fC2DcO1WmY+q+ZMB4sMUed0=
=hmG/
-----END PGP SIGNATURE-----

--alamapsa--

