Lafite

                    The Interlisp-D mail system

File:	[Phylum]<LispUsers>Lafite.Press
Revised:	December 29, 1982 by Martin Yonke

Lafite is the Interlisp-D system for reading and sending mail via
the Grapevine distributed mail service.  It takes its name from the
Chateau Lafite Rothschild, a winery where some of the finest fruits
of the grape are processed.

General comments

Lafite retrieves inbound mail from the user's inboxes on one or more
Grapevine mail servers.  [MAXC mailboxes can only be accessed using
MTP and thus cannot be reached from Lafite.]  The mail is retrieved
into one or more mail files, which can be any Interlisp-D-accessible
file.  Unlike Laurel, which can only access the local disk, Lafite
can access files on remote file servers so it is not necessary to
FTP files back and forth between your local disk and your IFS.
Also, unlike Laurel, you may have several mail files "opened" at the
same time.  Usually, a user will have one mail file into which new
mail is retrieved from the Grapevine and a variety of other mail
files in which messages on different topics are stored.  Thus,
Lafite allows the user to move mail between mail files freely.

Outbound mail may be composed (using an empty mail template,
user-defined stored forms, or previously received messages) using
the Interlisp-D text editor and then sent to a Grapevine mail server
for distribution to its recipients.

Lafite operation

Lafite can be found on {PHYLUM}<LISPUSERS>LAFITE.DCOM.  This file
will load several other supporting files, including the process
machinery, several files of network code, and the Interlisp-D text
editor.

When Lafite is loaded, it can be started by calling (LAFITE 'ON
MAILFILE).  This will turn on processes if they are not already on,
attempt to establish the user's Grapevine identity, read stored user
data from the file LAFITE.PROFILE (if it exists) and bring up the
primary Lafite window, which contains a small, fixed menu.  It will
then establish a browser for the file MAILFILE, creating an empty
mail file of that name if one does not exist.  (If MAILFILE is not
supplied then ACTIVE.MAIL will be used.  If MAILFILE is supplied but
is the atom NIL, then no mail file is opened but you are free to
send mail and open mail files at a later time).  Lafite then
startups a background process - LAFITEMAILWATCH - which will poll
your inboxes periodically and inform you in the prompt window if
there  is new mail.  Lafite uses Laurel mail file format for its
mail files, so users with existing Laurel files may use Laurel and
Lafite interchangeably.

Warning:  Lafite runs with processes on and performs many operations
in background.  Unfortunately, the process world will currently
crash if you try to do two file operations simultaneously.  Lafite
coordinates its own activities so that this will not happen, but it
can't control what is typed to the exec.  However, Lafite displays a
"NO IO" cursor, when it is doing a file operation.  Do not initiate
anything that may access a file when you see this cursor (e.g.
CLEANUP, LISTFILES, or editing a function which will cause a load
from a source file).

Commands in the primary Lafite menu

Browse - pops up a menu of the mail files that Lafite is aware that
you have.  Selecting  'Another File' will prompt you for a file
name.  After a file is selected, a browser window onto that mail
file will be opened.  Browse will print one line "summaries" of each
message.  The browse window is scrollable in both dimensions.

Send Mail - will bring up an Tedit edit window on a message form.
The form will be a canonical "empty message" if 'Send Mail' is
selected with the left button.  If it is selected with the middle
button, it will present the user with a choice of 'New Form' (an
empty message template), 'Last Message' (the text of the last mesage
editted), 'Another Form' (which will prompt you for a form name), or
a variety of stored message forms (see below).  When one has
transformed the text to the desired message, bring up the Tedit
command menu (bug in the title bar), and select 'Quit'.  This will
exit Tedit and present you with the a menu containing the following
options:

       Deliver - sends your message.  When it is delivered, Lafite
       will print a message in the prompt window.

       Save - will ask you for a file name on which to save this
       message for later use.  This is the way to save a message
       form for later repetitive use.  It does not send it.

       Forget It - does nothing with the message.  Note, however,
       that the text will still remain available as the "last
       message" (see above) until you send another one.

Quit - Stops Lafite, closes all browser windows, saves the names of
known mail files and form files on the file LAFITE.PROFILE so that
this information will be available when you next run Lafite.  You
may achieve the same result under program control by calling (LAFITE
'OFF), rather than buttoning this menu item.

When a browse window for a mail file appears on the display, a
horizontal menu (called the Browser menu) appears directly above it.
 The items in this menu are specific to the mail file associated
with the browse window.  This menu will move, reshape, come to the
top, and close with the browse window.  

Browser comands operate on the currently selected set of messages.
Messages which are selected are marked by a black triangle to the
left of their message number.  To select messages move the cursor
the left of the messge numbers in the browser window.  The cursor
will change to a right-pointing arrow.  Then the selected message
set can be altered by the following button operations:
       left button - replaces previous selection with this message
       middle button - adds a message to selection
       right button - extends selection
       shift key and any button - removes this message from
       selection

Commands in the Browser menu

Delete - deletes the selected messages.  Deleted messages are
indicated with a black line thru their headers.

Undelete - undeletes the selected messages.

Display - displays one of the selected messages.  If there is only
one message selected and it has already been displayed, the
selection will be advanced to the next undeleted message, and this
message will be displayed.  If there are more than one message
selected, display will cycle through the messages.  If you select
'Display' with the MIDDLE button, the message will be displayed in a
new window.  Using the MIDDLE button you can multiple windows
containing messages which you can use to compose other messages.  If
you select 'Display' with the LEFT button, the message will be
displayed in the initial message display window - called the primary
display window.

Answer - runs 'Send Mail' on a form that is an answer template for
the current message.

Forward - runs 'Send Mail' on a form that is a forward template for
the currently selected messages.

Hardcopy - prints the selected messages on your local printing
device.

Move To - pops up a menu of known mail files and moves the selected
messages to the chosen file.  A new mail file can be created by
selecting 'Another File' and typing in the file name.  

Quit - closes this browser and rewrites the file compacting out
deleted messages.

New Mail - brings new mail into the file that this browser is
viewing.

Lafite System Variables

LAFITEDEFAULTREGISTRY - the Grapevine mail registry that is used for
mail traffic.  Initially, PA.

LAFITEDEFAULTHOST&DIR - the default  host and directory for mail
files, LAFITE.PROFILE, etc.  If it has not been set by the time
Lafite is started, it will be set to the result of (DIRECTORYNAME T
T).  For example, if your usual mode of operation is to CONN to your
directory on an IFS when you start up Interlisp-D, but you would
like to keep all your mailfiles on your local disk then you should
set this variable to {DSK} before your startup Lafite otherwise
Lafite will default all mailfiles to your directory on your IFS and
not on your local disk.

MAILWATCHWAITTIME - number of minutes between new mail polls.
Initially set to 5.

MESSAGELENGTHFLG - if T, Lafite prints the character length of a
message in the browser entry after the subject.  Initially, T.

LAFITEFLUSHMAILFLG - if NIL, Lafite won't flush your Grapevine
mailbox when retrieving new mail. Initially, T.  (NOTE: currently
the default is really NIL, but this will change before Lafite gets
officially released.)