rsalz@uunet.uu.net (Rich Salz) (04/11/89)
Submitted-by: dsinc!syd@uunet.UU.NET (Syd Weinstein) Posting-number: Volume 18, Issue 85 Archive-name: elm2.2/part06 #!/bin/sh # this is part 6 of a multipart archive # do not concatenate these parts, unpack them in order with /bin/sh # file doc/Users.guide continued # CurArch=6 if test ! -r s2_seq_.tmp then echo "Please unpack part 1 first!" exit 1; fi ( read Scheck if test "$Scheck" != $CurArch then echo "Please unpack part $Scheck next!" exit 1; else exit 0; fi ) < s2_seq_.tmp || exit 1 echo "x - Continuing file doc/Users.guide" sed 's/^X//' << 'SHAR_EOF' >> doc/Users.guide Xthat's reached, \f2use it!\f1 Soon you'll find Xareas that you need to expand into, and you can Xachieve that by going into the \f2o)ptions\f1 Xscreen within \f2elm\f1 and changing your Xuser level accordingly. XAfter a while, sit down again and read through this Xguide. You should have a couple of ``aha!'' intuitive Xflashes. After another period of time, you're Xready to delve into the real power of the system Xand read the reference guide. The other manuals Xshould be read as the need arises. X XIn any case, the system should be useable without reading X\f2any\f1 of the documentation! X XAny comments or problems with any of the documentation or the program Xitself are welcome; if you can't get electronic mail to me, please Xfeel free instead to drop me a note via the overland mail address Xin the title page. X.br X.ne 20 X.sp X.hn 1 The Main System X XUpon entry to the program, the main screen will be Xdisplayed as below; X X\" display start, constant width, remember loc for BOX X.ft CW X.ps 9 X.mk a X.mk a X.sp X.ce XMailbox is '/usr/mail/mymail' with 15 messages [Elm 2.2] X.TS Xr l n l l l l. X -> N 1 Apr 24 Larry Fenske (49) Hello there X N 2 Apr 24 jad@hpcnoe (84) Chico? Why go there? X E 3 Apr 23 Carl Smith (53) Dinner tonight? X NU 4 Apr 18 Don Knuth (354) Your version of TeX... X N 5 Apr 18 games (26) Bug in cribbage game X A 6 Apr 15 kevin (27) More software requests X 7 Apr 13 John Jacobs (194) How can you hate RUSH? X U 8 Apr 8 decvax!mouse (68) Re: your Usenet article X 9 Apr 6 root (7) X O 10 Apr 5 root (13) X.TE X.sp X.ce 3 XYou can use any of the following commands by pressing the first character; Xd)elete or u)ndelete mail, m)ail a message, r)eply or f)orward mail, q)uit XTo read a message, press <return>. j = move down, k = move up, ? = help X Command : @ X.sp X\" draw box, proportional Roman font back, display end X.eb X.ps 10 X.ft 1 X XThere are a number of things to notice about this, the main screen; X X.lp \h'12p'\(bu 20p XMost likely, on your computer the message currently ``active'' will be Xdisplayed in an inverse bar rather than being delimited by the two Xcharacter arrow as here. It's nothing to worry about; displaying Xinverse video is just quite difficult on printable guides! X X.lp \h'12p'\(bu 20p XThe first line on the screen always displays the name of the current folder, Xthe number of messages in the folder, and the current \f3Elm\f1 version number. X X.lp \h'12p'\(bu 20p XThe arrow (``->'') or inverse video bar will always Xindicate which is the current message. X X.lp \h'12p'\(bu 20p XThe first field that appears associated with each message is Xthe status field. This can be blank (as with most of the Xones above, or can have any combination of the following: X XThe first character signifies temporary status: X X.ta .75iC 102p X.nf X E for an \f2expired\f1 message X N for a \f2new\f1 message X O for an \f2old\f1 (i.e. not new but not read) message X D for a \f2deleted\f1 message X XThe second character which signifies permanent status: X X U for \f2urgent\f1 mail X A for messages that have an \f2action\f1 associated with them X F for a \f2form\f1 letter X.fi X XThe third character of the status field can be a ``+'' to Xindicate that the message is \f2tagged\f1 too. X X.lp \h'12p'\(bu 20p XContinuing from left to right, the next field is the message Xnumber. For the most part you can ignore these unless you want Xto quickly move to a specific message (as we'll see later). X X.lp \h'12p'\(bu 20p XThe date associated with each message is typically Xthe date the person actually \f2sent\f1 the message. X X.lp \h'12p'\(bu 20p XThe next field displayed indicates whom the message is from. X\f3Elm\f1 will try to display the \f2full name\f1 of the person who Xsent the message, rather than the their return address or computer login. XSome systems don't generate the correct headers, though, hence Xmessages like numbers 2 and 8, where it's their return address. X X.lp \h'12p'\(bu 20p XThe number in parentheses is the total number of lines in the message. X X.lp \h'12p'\(bu 20p XThe final field is the subject of the message. Notice Xthat messages might not have any subject, as in messages #9 and #10. X X.lp \h'12p'\(bu 20p XA maximum of ten messages are displayed at one time\s-2\u1\d\s0. X.fn X1. On screens with greater than 25 lines, more messages will be Xdisplayed automatically. Further, if you choose to turn off Xthe Menu display, you can have an even greater number Xdisplayed. X.ef XFurther into the document we'll learn how to change ``pages'' in the folder. X X.lp \h'12p'\(bu 20p XThe three line Menu display will always Xindicate the relevant commands. There are actually two possible Xmenus that can be displayed, based Xon the \f2user level\f1 as set from either the o)ptions screen or Xthe \f2.elm/elmrc\f1 Xfile. The alternate menu, for more advanced users, Xlists more options; X.sp X.ft CW X.ps 9 X.ce 3 X|=pipe, !=shell, ?=help, <n>=set current to n, /=search pattern Xa)lias, C)copy, c)hange folder, d)elete, e)dit, f)orward, g)roup reply, m)ail, Xn)ext, o)ptions, p)rint, r)eply, s)ave, t)ag, q)uit, u)ndelete, or e(x)it X.ps 10 X.ft 1 X X.lp \h'12p'\(bu 20p XFinally, the '@' character indicates where the cursor would be, awaiting Xyour input. X X.sp X.in 0 XThe typical action at this point is to use the \f2<return>\f1 Xkey to read the current message, which will clear the Xscreen and display the current message: X X.ne 10 X.ft CW X.ps 9 X.mk a X.tl ' Message 1/15 from Larry Fenske''Apr 24 \'87 at 8:45 pm' X.tl ''Hello there'' X.nf X Dave, X Just wanted to drop you a brief note to see what was going on with X you this afternoon. Life here has been the usual fun and games... X Ah well, off to the great wilds beyond the desk! X Larry X Command ('i' to return to index): @ X.fi X.eb X.ft 1 X.ps 10 X XBefore we go further with our example, however, let's very Xquickly look at all the functions available from the main Xscreen: X\" ensure we get a reasonable chunk of this table on the page... X.br X.ne 10 X.lp \h'18p'\f3Command 90p XAction\f1 X X.lp "\h'18p'<return> or <space>" 90p XRead current message. X.lp \h'18p'| 90p XPipe current message or tagged messages to specified system command. X.lp \h'18p'! 90p XShell escape. X.lp \h'18p'$ 90p XResynchronize folder. X.lp \h'18p'? 90p XHelp mode \(em any key pressed will be explained. X.lp "\h'18p'+ or <right>" 90p XDisplay next page of headers. X.lp "\h'18p'- or <left>" 90p XDisplay previous page of headers. X.lp \h'18p'= 90p XSet current message to 1. X.lp \h'18p'* 90p XSet current to last message. X.lp \h'18p'<number><return> 90p XSet current message to number \f2number\f1. X.lp \h'18p'/ 90p XSearch for pattern in subject/from lines. X.lp \h'18p'// 90p XSearch for pattern in entire folder. X.lp \h'18p'< 90p XScan message for calendar entries.\s-2\u2\d\s0 X.fn X2. Some sites might opt not to have the calendar feature available. X.ef X.lp \h'18p'> 90p XA synonym for `s' \(em \f2save\f1 message or messages. X.sp X.lp \h'18p'a 90p XAlias, change to ``alias'' mode. X.lp \h'18p'b 90p XBounce \(em remail message [see \f2f \(em forward\f1 too]. X.lp \h'18p'C 90p XCopy current message or tagged messages to folder. X.lp \h'18p'c 90p XChange to another folder. X.lp \h'18p'd 90p XDelete current message. X.lp \h'18p'<control>-D 90p XDelete all messages matching specified pattern. X.lp \h'18p'e 90p XEdit current folder, resyncing upon reentry.\s-2\u3\d\s0 X.fn X3. Some sites might opt not to have the edit folder feature available. X.ef X.lp \h'18p'f 90p XForward message to specified user.\s-2\u4\d\s0 X.fn X4. The difference between \f2Forward\f1 and \f2Bounce\f1 is rather Xsubtle \(em a forwarded message is ``from'' you, with the Xoriginal message included, whereas a bounced message Xis still from the original sender. X.ef X.lp \h'18p'g" XGroup reply \(em reply to everyone who received the current message. X.lp \h'18p'h 90p XDisplay message with headers. X.lp \h'18p'J 90p XSet current to next message. X.lp "\h'18p'j or <down>" 90p XSet current to next message not marked deleted. X.lp \h'18p'K 90p XSet current to previous message. X.lp "\h'18p'k or <up>" 90p XSet current to previous message not marked deleted. X.lp \h'18p'l 90p XLimit displayed messages based on the specified criteria. X.lp \h'18p'<control>-L 90p XRewrite screen. X.lp \h'18p'm 90p XMail to arbitrary user(s). X.lp \h'18p'n 90p XRead current message, then increment to next message not marked deleted. X.lp \h'18p'o 90p XAlter current system options. X.lp \h'18p'p 90p XPrint current message or tagged messages. X.lp \h'18p'q 90p XQuit \(em prompting for messages to delete, store, or keep. X.lp \h'18p'Q 90p XQuick quit \(em like quit but without prompting. X.lp "\h'18p'<control>-Q, DEL" 90p XExit \(em don't record as read, don't save... X.lp \h'18p'r 90p XReply to the author of current message. X.lp \h'18p's 90p XSave current message or tagged messages to folder. X.lp \h'18p't 90p XTag current message. X.lp \h'18p'<control>-T 90p XTag all messages matching specified pattern. X.lp \h'18p'u 90p XUndelete current message. X.lp \h'18p'<control>-U 90p XUndelete all messages matching specified pattern. X.lp \h'18p'x 90p XExit \(em don't record as read, don't save... X.in 0 X\" again, make sure we start on a new page please X.br X.ne 10 XBut let's go back to our example and see some of this at Xwork, shall we? X.sp XWe were reading the message from Larry and the screen looked Xlike: X X.ne 10 X.ft CW X.ps 9 X.mk a X.tl ' Message 1/15 from Larry Fenske''Apr 24 \'87 at 8:45 pm' X.tl ''Hello there'' X.nf X Dave, X Just wanted to drop you a brief note to see what was going on with X you this afternoon. Life here has been the usual fun and games... X Ah well, off to the great wilds beyond the desk! X Larry X Command ('i' to return to index): @ X.fi X.eb X.ft 1 X.ps 10 X XFrom this point let's go ahead and reply to the message. To Xdo this, we can use the \f2reply\f1 command... XTo do this, we type ``r'' and the last few lines change to Xsomething like: X.ft CW X.ps 9 X.sp X.tl '-------------------------------------------------------------------------------'' X.tl 'Command: Reply to message''Copy message (y/n) ? @ ' X.sp 2 X.ft 1 X.ps 10 XTo which we decide that we don't need the text of this message in Xour new one, so we reply \f2no\f1 by pressing the ``n'' key. The Xbottom part of the window then changes to: X.ft CW X.ps 9 X.sp X.tl '-------------------------------------------------------------------------------'' X.tl 'Command: Reply to message''To: Larry Fenske ' X.tl 'Subject: Re: Hello there@'' X.ft 1 X.ps 10 X.sp 2 Xat this point we can either decide to enter a new subject (you could Xuse either \f2backup word\f1 (<control>-W) or \f2backup line\f1 (this Xis the same as your `line kill' character, <control>-X or <control>-U Xusually)) or go with this one by pressing \f2<return>\f1. We'll Xjust leave it as it is and press \f2<return>\f1, changing the Xscreen to: X.ps 9 X.ft CW X.sp X.tl '-------------------------------------------------------------------------------'' X.tl 'Command: reply to message''To: Larry Fenske ' X.tl 'Subject: Re: Hello there'' X.tl 'Copies to: @''' X.ps 10 X.ft 1 X.sp XThere's no one we want to have receive copies of this message, so we'll Xjust press \f2<return>\f1 again to indicate this. X XOnce you've answered these questions the program will put you into Xyour favorite editor and let you compose a response. When you're Xdone it then asks: X.ps 9 X.ft CW X.sp X.tl ''-------------------------------------------------------------------------------'' X.tl 'Please choose one of the following options by parenthesized letter: @''' X.tl ''e)dit message, edit h)eaders, s)end it, or f)orget it.'' X.ft 1 X.ps 10 X.sp XSince we're just interested in sending the message out, we'll Xchoose the \f2send\f1 option and press ``s''. The program Xthen sends the message, indicating that by the line below Xsaying: X.sp X.ps 9 X.ft CW X Sending mail... X.ft 1 X.ps 10 X.sp Xthen putting at the bottom of the screen ``Mail sent!'' and giving us Xthe prompt: X.ps 9 X.ft CW X.sp X.tl ''-------------------------------------------------------------------------------'' X.tl 'Command:''(Use \'i\' to return to index.)'' X.sp X.ps 10 X.ft 1 XPretty easy, isn't it? Let's continue by going back to the main Xscreen by requesting \f2index\f1: pressing the ``i'' key. The Xscreen is then: X X.ne 20 X.ft CW X.ps 9 X.mk a X.mk a X.sp X.ce XMailbox is '/usr/mail/mymail' with 15 messages [Elm 2.2] X.TS Xr l r l l l l. X -> 1 Apr 24 Larry Fenske (49) Hello there X N 2 Apr 24 jad@hpcnoe (84) Chico? Why go there? X E 3 Apr 23 Carl Smith (53) Dinner tonight? X NU 4 Apr 18 Don Knuth (354) Your version of TeX... X N 5 Apr 18 games (26) Bug in cribbage game X A 6 Apr 15 kevin (27) More software requests X 7 Apr 13 John Jacobs (194) How can you hate RUSH? X U 8 Apr 8 decvax!mouse (68) Re: your Usenet article X 9 Apr 6 root (7) X O 10 Apr 5 root (13) X.TE X.sp X.ce 3 XYou can use any of the following commands by pressing the first character; Xd)elete or u)ndelete mail, m)ail a message, r)eply or f)orward mail, q)uit XTo read a message, press <return>. j = move down, k = move up, ? = help X Command : @ X.sp X\" draw box, proportional Roman font back, display end X.eb X.ft 1 X.ps 10 X X.ft 1 XNotice that the first message is no longer marked as \f2new\f1 Xsince we've now read it. X.sp XLet's go ahead and read the message from kevin (message #6) since Xit has some sort of \f2action\f1 associated with it anyway. To Xdo this, we simply press the ``6'' key, which will change the Xbottom of the screen to: X.sp X.ps 9 X.ft CW X.tl 'Command: New Current Message''Set current message to : 6@' X.ft 1 X.ps 10 X.sp XWe'll just press \f2<return>\f1 to move the active message Xpointer (the arrow). X.sp XNow we're pointing at the new message, so let's go ahead and read Xit by pressing \f2<return>\f1 again, giving us: X X.ne 10 X.ft CW X.ps 9 X.mk a X.tl ' Message 6/15 from kevin''Apr 15 \'87 at 11:36 am' X.tl ''More software requests'' X Action: please acknowledge receipt X I don't suppose you have a nifty netnews reader around too, do you?? X -- X kevin X Command ('i' to return to index): @ X.eb X.sp X.ps 10 X.ft 1 X X.br X.ne 5 XWell, it turns out that we don't, but a friend of ours does, so Xlet's \f2forward\f1 the message to them by pressing ``f'': X.ps 9 X.ft CW X.sp X.tl '-------------------------------------------------------------------------------'' X.tl 'Command: Forward message''Edit outgoing message (y/n) ? @ ' X.ft 1 X.ps 10 X.sp 2 XNo need to edit it, so let's answer \f2no\f1 with ``n'': X.sp X.ps 9 X.ft CW X.tl '-------------------------------------------------------------------------------'' X.tl 'Command: Forward message''Edit outgoing message (y/n) ? No ' X.tl 'To: @''' X.ps 10 X.ft 1 X.sp XWe type in the address of the person we're forwarding to (in Xthis case X.ft CW Xusenet\f1) and press X\f2<return>\f1: X.ft CW X.ps 9 X.sp X.tl '-------------------------------------------------------------------------------'' X.tl 'Command: Forward message''To: usenet ' X.tl 'Subject: More software requests (fwd)@' X.ft 1 X.ps 10 X.sp XTo which we again press \f2<return>\f1 to take the default subject. X\f3Elm\f1 asks for any possible copy recipients, asks us if we're Xsure we want to send it, and shoots it off. X.sp XEnough mail for now, however, so we just \f2exit\f1 by pressing Xthe ``x'' key and the program drops us back into our shell. X.sp 2 XAs you can see, it's quite easy to use the \f3Elm\f1 system, so Xrather than continue with our example, let's Xlook at some other aspects of the program. X.br Xne 5 X.sp X.hn 1 Non-Interactive Uses of Elm X XBefore we go ahead and discuss the \f3Elm\f1 utilities, it's worth Xnoting that Xthere are a couple of other ways to use the main mail Xsystem, namely to `send only' and to send files (batchmail). X XTo send a message to someone without any of the associated Xoverhead of reading in a mail folder. you can invoke the Xmailer with the name(s) of the people to send to. For example: X.nf X $ \f3elm dave_taylor\f1 X.fi XThe Xmailer will then prompt for Subject, Copies, and then drop Xyou in your editor (defined in the \f2.elmrc\f1 file) to compose Xthe message. When composition is complete, the program Xverifies transmission then terminates. X X.ne 3 XThe mailer also supports batch type mailing, of files and so on, Xby using the following command: X.nf X $ \f3elm dave_taylor < help.c\f1 X.fi Xwhich will read in the file and transmit it to the specified user. X X.ne 3 XA subject may be specified with ``-s \f2subject\f1'' as an option Xto the program in either `send only' or `batch' modes, as in: X.nf X $ \f3elm -s "File help.c, as promised" dave_taylor < help.c\f1 X.fi X.br X.ne 5 X.sp X.hn 1 The Elm Utilities X XThe \f3Elm\f1 mail system is really much more than a single Xprogram for reading and writing mail. It's a unified Xenvironment for intelligently dealing with electronic Xcorrespondence. As a consequence, it contains a number of other Xprograms to aid in the easy processing of `email', Xincluding the following; X X.lp \h'10p'answer 1.0i XAn answering-machine transcription program. Please see the Xmanual entry for more information on how to use this program. X X.lp \h'10p'autoreply 1.0i XThis program, in conjunction with the ``arepdaemon'', enables users Xto automatically reply to incoming mail when they're not directly Xavailable. X X.lp \h'10p'checkalias 1.0i XA script for checking aliases simply. X X.lp \h'10p'messages 1.0i XA script that lists the number of messages in the specified Xfolder. Suitable for login scripts and such. X X.lp \h'10p'newmail 1.0i XThis program monitors a mailbox or set of mailboxes and can Xoutput notification of new mail in one of two possible Xformats; either: X X.ne 6 X.ft CW X.ps 9 X>> New mail from Jimmy Carter - Urgent matters of state X>> New mail from joe@ucbvax.arpa - Did I hear someone say PARTY?? X.ft 1 X.ps 10 X Xif running as \f2newmail\f1 or: X X.ft CW X.ps 9 XJimmy Carter -- Urgent matters of state Xjoe@ucbvax.arpa -- Did I hear someone say PARTY?? X.ft 1 X.ps 10 X Xif running as \f2wnewmail\f1. BSD Users will find this is Xa far superior \f2biff\f1 program. X X.lp \h'10p'wnewmail 1.0i XThis is the same program as newmail, but has different Xdefaults if invoked this way. X X.lp \h'10p'readmsg 1.0i XThis handy little program can be used in two ways. First off, Xit can be used to easily read a specific message in the Xincoming mailbox, specified by ordinal number, by a string that Xthe message contains, by the metacharacter `$' which Xrepresents the last message in the folder, or `*' which matches Xall the messages in the folder. X XFor example; X X$ \f3readmsg 4 5 9 | lpr\f1 X Xwould generate a printout, \f2sans\f1 superfluous headers, of the fourth, Xfifth and ninth messages in your mailbox. X X$ \f3readmsg Carter | page\f1 X Xwould be a fast way to read what `ole Jimmy has to say... Xand X X$ \f3readmsg -h hear someone say\f1 X Xwould list, including all the message headers, the message Xcontaining the string ``hear someone say''. X X.lp \h'10p'frm 1.0i XSimilar to the Berkeley \f2from\f1 command, this will Xgive you a ``table of contents'' of either the current Xmailbox or a mailbox of your choice. It's useful to Xsee what mail is pending, or what's in a mailbox. XIf used with the `-n' option, it will number each message Xin a way compatible with the arguments \f2readmsg\f1 Xexpects to get, too! X X.lp \h'10p'newalias 1.0i XThis is used to install new user/group aliases. Please see X\f2The Elm Alias Users Guide\f1 for further information on this! X X.lp \h'10p'fastmail 1.0i XSometimes you want to have a batchmailing system that works as Xquickly as possible, not bothering with aliases or any of the Xother ``deluxe'' features of \f3Elm\f1. An example of this would Xbe if you have a large mailing list for a newsletter, say. XThis command, \f2fastmail\f1, is designed just for that purpose. XIt avoids the lengthy startup time of \f3Elm\f1 while still Xgenerating valid \f2RFC-822\f1\s-2\u5\d\s0 mail. X.fn X5. If you don't know what RFC-822 is, don't worry about it! X.ef XPlease see the manual entry for more information on this Xcommand. X.in 0 X.br X.ne 5 X.sp X.hn 1 Credits and So on X XThis mailer has been evolving over the past few years with Xinvaluable comments on the interface and general mail Xissues from the following people; XJim Davis, Steve Wolf (or should that say Steve!! Wolf!!!! perhaps?), XLarry Fenske, Rob Sartin, XJohn Dilley and Carl Dierschow. X.sp XFor the Berkeley implementation, lots of help came from Xboth John Lebovitz and Ken Stone. X.sp XFor the Amdahl/UTS implementation, thanks to Scott McGregor and XStan Isaacs. X.sp XFor the Sun problems, Dave England in Lancaster (UK) turned out to be X``bloody useful'', as he would no doubt say. X.sp XThe Pyramid version is due to the work of Steve Malone Xof the University of Washington. X.sp XA number of other people have been amazingly disciplined at reporting Xproblems and (usually, much to my relief) indicating the fixes needed, Xespecially Guy Hillyer, Bruce Townsend and Eric Negaard. X.sp XThere have been many, many others, too numerous to mention, that Xhave inspired me with questions like "Why can't Elm..." or X"Why does it ..." or "Can we make it..." too. A loud round of Xapplause and an enthusiastic THANK YOU to you all!! X.sp XAlso helpful was the ability to have my `own' machine to Xclose up the many many iterative loops that this software Xhas gone through \(em since being on a big multi-user machine Xtends to slow it down to a standstill... XFor that, I thank Hewlett-Packard Colorado Networks Division for their Xinitial support, and now HP Laboratories for the wonderful working Xenvironment that I have here (more than any one person is safe having, XI suspect). X.sp XMailers that have influenced the design and implementation of \f3Elm\f1, Xfor better or worse, include the following; X X.lp \h'4p'\f2/bin/mail\f1 1.0i XThe most basic of mailers, this one was simply the example of how \f2not\f1 Xto force the user to interact with a program. X X.lp \h'4p'\f2Berkeley Mail\f1 1.0i XA surprisingly sophisticated mailer, especially the version with 4.3 BSD, X\f2Berkeley Mail\f1 still suffers from the tendency to force the user to Xknow too much about the system, and also lacks a friendly, non-cryptic Xinterface for the large subset of the population that use Unix but aren't Xinterested in becoming a ``hacker''. X X.lp \h'4p'\f2MH\f1 1.0i XThis is another nifty mailer. The main difference between this and the Xother mailers about is that it is a discrete set of programs rather than Xa single unified interface. This is quite useful for those people that Xreceive \f2lots\f1 of mail and are willing to spend some time learning Xthe intricacies of the program. It's quite powerful, but again, misses some Xof the basic friendly features the majority of users are interested in. X X.lp \h'4p'\f2dmail\f1 1.0i XA sort of mutated cross between \f2MH\f1 and \f2Berkeley Mail\f1, it was Xthis program that convinced me to implement the \f2Limit\f1 functions. X X.lp \h'4p'\f2NMail\f1 1.0i X(a part of the HP AI Workstation Software Environment). This program hints Xat the power that mailers could be given to help deal with mail in a quick Xand intelligent fashion. Most of what it can do, and a lot more, are Xtherefore part of \f3Elm\f1. Indubitably. And quite faster too! X X.lp \h'4p'\f2PMX/TERM\f1 1.0i XPart of the AT&T Mail package, a single glance at this interface convinced Xme that a PC interface, with almost half of the screen taken up by a silly Xfunction key mapping, is most certainly \f2not\f1 the way to do things!! XOn the other hand, it also shows that the \f2Forms\f1 mode can be quite Xnicely integrated into a more sophisticated mailer. X X.lp \h'4p'\f2fmail\f1 1.0i XA nickel addition to the \f2/bin/mail\f1 program to add some rudimentary Xscreen interface stuff, this nonetheless interesting mailer is part of Xthe AT&T Toolchest. X X.lp \h'4p'\f2Laurel\f1 1.0i XA program only available within Xerox PARC, this was an interesting Xearly attempt at a graphics based full-screen mail program. The one, Xperhaps trivial, part of the interface I really like was the fact that Xit would \f2cross out\f1 a message that was marked for deletion. One Xday when we get real graphics and the ability to use them indicated in Xa facility (not too) like \f2termcap\f1, perhaps \f3Elm\f1 will do Xthis too! X X.lp \h'4p'\f2Mailtool\f1 1.0i XPart of the Sun distribution package, this program is a really nice Xexample of what can be done by putting a smart shell on top of a dumb Xprogram \(em it uses \f2/bin/mail\f1 for all the `dirty work'. Other than Xthat, it's not a particularly interesting interface or mailer, and it Xcertainly doesn't add much functionality! X X.lp \h'4p'\f2Metamail\f1 1.0i XWhat can I say? This isn't even a real mailer, but is just what I dream Xof as an interface to mail in the future. A program that works sort of Xlike \f3HAL\f1 did in \f22001: A Space Odyssey\f1 \(em where it interrupts Xme as appropriate for important mail, and can answer inane and other Xqueries itself according to what I teach it. Maybe \f3Elm\f1, by some sort Xof groupmind metamorphosis, will change into that someday. Maybe not. Maybe Xno-one bothers to read this far into the document!! X X.in 0 XFinally, it's also been a very useful experience overall, Xconfirming my beliefs that iterative software design and Xkeeping a close watch on users (not to mention an open Xmind and mailbox!) improves a product manyfold. Comments, Xfeedback and bug reports (and fixes!) are, of course, always welcome! X.br X.ne 5 X.sp X.hn 1 Credits and So on Part II - The Usenet Elm Development Group X XAs coordinator of the Elm Development Group, I must add to the credits. XThis group of volunteers has taken the Elm code from Dave Taylor and Xadded features, made it more robust, and more portable. X.sp XFor getting the Usenet Elm group going, for without which I wouldn't be Xwriting this, thanks to Greg Hackney at Southwestern Bell Telephone Co. X.sp XFor the Configuration system and its newer Dist 2.0 version, thanks are Xdue to Larry Wall of JPL-NASA. X.sp XFor his over two hundred sets of changes to version 2.2, Elm owes a lot Xto Rob Bernardo at Pacbell. X.sp XThe ability to run Elm at all on Intel 286 machines owes a lot to the Xinsistent nudging of the coordinator by Chip Salzenberg, XChip Rosenthal, and Tim Evans. X.sp XFor getting us the rights to use the news macros and converting all Xthe documentation over to those macros, thanks to Mike Brown. X XNow, before I get accused of leaving someone out, here are the Xmembers of the Elm Development and the Elm Testing Group: X.sp XJonathan Bayer, XRob Bernardo, XDoug Blair, XKevin Bond, XMike Brown, XEd Clarke, XSteven Donegan, XPaul Ebersman, XAvi Feldblum, XSteven Goodman, XGreg Hackney, XMark Hahn, XMitch Hamilton, XEd Hann, XDavid Hawkins, XNate Hess, XPhil Hochstetler, XBud Hovell, XKenneth Ingham, XChad Larson, XWarren Lavallee, XHoward Leadman, XJohn A. Limpert, XAndy Linton, XDarrell McIntosh, XDatta Miruke, XPaul M. Moriarty, XAndrew Mossberg, XRobert B. Nelson, XLeo C. Noordhuizen, XBrian O'Neill, XFairfax O'Riley, XPete Phillips, XDave Rasmussen, XLen Rose, XChip Rosenthal, XChip Salzenberg, XRay Smith, XGary Trujillo, XEd Wells, XMike Whitman, XDave Yearke, XJon Zeeff, Xand XSyd Weinstein, Elm Coordinator. SHAR_EOF echo "File doc/Users.guide is complete" chmod 0444 doc/Users.guide || echo "restore of doc/Users.guide fails" echo "x - extracting doc/answer.1 (Text)" sed 's/^X//' << 'SHAR_EOF' > doc/answer.1 && X.TH ANSWER 1L "Elm Version 2.2" "USENET Community Trust" X.ad b X.SH NAME Xanswer - phone message transcription system X.SH SYNOPSIS X.B answer X.PP X.SH DESCRIPTION X.I Answer\^ Xis a part of the X.B Elm Xmail system and is designed for secretaries and the like Xto allow them to answer phones and|or listen to phone message Xmachines and quickly and easily transcribe the messages into Xelectronic mail. X.P XThe program uses its own alias set (usually a subset of the Xsystem aliases, with more fields per user (ie unique first Xnames, unique last names, first-initial lastname, and so on)). XNote this means that you must create and then install, using X.I newalias, Xa separate alias table for the account this program is to Xbe run from. X.P XInterface-wise, the program is a breeze to use - type 'answer' Xto start it up and then merely type a user name at the X.nf X X Message to: X X.fi Xprompt, and then enter the message, ending with a blank line. XNames can be entered as 'Firstname Lastname' and the system Xwill try to find a mail alias based on the first letter of the Xfirst name plus the last name. For example, 'Dave Taylor' Xwill cause the program to search for an alias 'd_taylor' in Xthe file (note the transliteration into lower case). The Xprogram will loop until killed or quit. X.P X.I Answer Xcan be easily exited by typing any of 'quit', 'exit' 'done', Xor 'bye' at the 'Message to:' prompt. X.SH AUTHOR XDave Taylor, Hewlett-Packard Laboratories X.SH SEE ALSO X.I "The Elm Alias System Users Guide", Xby Dave Taylor X.sp X.br Xnewalias(1L), checkalias(1L), mail(1), mailx(1), from(1L), printmail(1L) X.SH FILES X$home/.alias_hash individual alias hash table X.br X$home/.alias_data individual alias data table X.br X/tmp/snd.$$ edit buffer for outgoing mail X.SH BUG REPORTS TO XSyd Weinstein elm@dsinc.UUCP (dsinc!elm) X.SH COPYRIGHTS X.ps 18 X\fB\(co\fR\s12 Copyright 1986, 1987 by Dave Taylor X.br X.ps 18 X\fB\(co\fR\s12 Copyright 1988, 1989 by The USENET Community Trust SHAR_EOF chmod 0444 doc/answer.1 || echo "restore of doc/answer.1 fails" echo "x - extracting doc/autoreply.1 (Text)" sed 's/^X//' << 'SHAR_EOF' > doc/autoreply.1 && X.TH AUTOREPLY 1L "Elm Version 2.2" "USENET Community Trust" X.ad b X.SH NAME Xautoreply - Automatic mail reply system X.SH SYNOPSIS X.B autoreply X.br X.B "autoreply off" X.br X.B autoreply X.I filename X.PP X.SH DESCRIPTION X.I Autoreply\^ Xis a part of \fBThe Elm Mail System\fR Xand is designed to enable users to easily set up Xan automatic response to all mail they receive. This is Xtypically during a vacation or some other period of time that Xthe user is not available to reply to mail (although some Xpeople get enough mail that they have it permanently running Xto simply send an "ack" to each message) X.PP XThe system is quite easy to use... XYou can type "autoreply" and be informed of your current Xstatus in the system (on or off), or "autoreply off" will Xturn your autoreplying off. X.PP XTo add yourself to the system, you need merely to compose a Xform response in a file somewhere, then type "autoreply \fIfile\fR" Xwhere \fIfile\fR is the name of the file. X.SH "SPECIAL NOTE" XFor this to function correctly, the program "arepdaemon" must Xbe running as a daemon in background. This program automatically Xchecks all the currently enrolled users for new mail in their Xmailboxes... X.SH AUTHOR XDave Taylor, Hewlett-Packard Laboratories. X.SH SEE ALSO X.I "The Elm Users Guide", Xby Dave Taylor X.sp X.br Xarepdaemon(1L), elm(1L), mail(1), mailx(1) X.SH "BUGS" XUnfortunately, this program isn't too brilliant about identifying Xmail that shouldn't be responded to (like mail from other Xdaemons, or your mother) but that's a more general problem anyway. X.sp XAlso, occasionally a user will remove themselves from the Xautoreply system and the system won't turn their autoreply Xoff. This is a problem that hasn't been solved yet (obviously Xsince it's in the "bugs" section!!) and any further information Xwould be appreciated! X.SH BUG REPORTS TO XSyd Weinstein elm@dsinc.UUCP (dsinc!elm) X.SH COPYRIGHTS X.ps 18 X\fB\(co\fR\s12 Copyright 1986, 1987 by Dave Taylor X.br X.ps 18 X\fB\(co\fR\s12 Copyright 1988, 1989 by The USENET Community Trust SHAR_EOF chmod 0444 doc/autoreply.1 || echo "restore of doc/autoreply.1 fails" echo "x - extracting doc/chkalias.1 (Text)" sed 's/^X//' << 'SHAR_EOF' > doc/chkalias.1 && X.TH CHECKALIAS 1L "Elm Version 2.2" "USENET Community Trust" X.ad b X.SH NAME Xcheckalias - check to see if an alias is defined. X.SH SYNOPSIS X.B checkalias Xalias, alias, ... X.SH DESCRIPTION X.I Checkalias Xchecks the user file first, and then the system alias file Xto try to find the specified alias or aliases. If found, Xthe value of the alias is printed out, otherwise an error Xis generated. X.P XNote: this is in fact a one-line shell script; X.nf X X elm -c $* X.fi X.SH AUTHOR XDave Taylor, Hewlett-Packard Laboratories X.SH SEE\ ALSO Xnewalias(1L), elm(1L), mail(1), mailx(1) X.SH BUGS XNote that the precedence of aliases is user file then system Xfile. This means that a user can 'overload' an alias by having Xone defined in the system file also defined in theirs. This Xshouldn't turn out to be a problem, but is something for Xthe system administrator to keep in mind when creating the Xsystem alias file. X.SH BUG REPORTS TO XSyd Weinstein elm@dsinc.UUCP (dsinc!elm) X.SH COPYRIGHTS X.ps 18 X\fB\(co\fR\s12 Copyright 1986, 1987 by Dave Taylor X.br X.ps 18 X\fB\(co\fR\s12 Copyright 1988, 1989 by The USENET Community Trust SHAR_EOF chmod 0444 doc/chkalias.1 || echo "restore of doc/chkalias.1 fails" echo "x - extracting doc/elm-help.0 (Text)" sed 's/^X//' << 'SHAR_EOF' > doc/elm-help.0 && X X Command Elm 2.2 Action X X <RETURN>,<SPACE> Display current message X | Pipe current message or tagged messages to X a system command. X ! Shell escape X $ Resynchronize folder X ? This screen of information X +, <RIGHT> Display next index page X -, <LEFT> Display previous index page X = Set current message to first message X * Set current message to last message X <NUMBER><RETURN> Set current message to <NUMBER> X / Search from/subjects for pattern X // Search entire message texts for pattern X > Save current message or tagged messages X to a folder X < Scan current message for calendar entries X a Alias, change to 'alias' mode X b Bounce (remail) current message X C Copy current message or tagged messages X to a folder X c Change to another folder X d Delete current message X ^D Delete messages with a specified pattern X e Edit current folder X f Forward current message X g Group (all recipients) reply to current message X h Headers displayed with message X J Increment current message by one X j, <DOWN> Advance to next undeleted message X K Decrement current message by one X k, <UP> Advance to previous undeleted message X l Limit messages by specified criteria X ^L Redraw screen X m Mail a message X n Next message, displaying current, X then increment X o Change ELM options X p Print current message or tagged messages X q Quit with prompting for deleting, storing, X and keeping messages X Q Quick quit - no prompting X r Reply to current message X s Save current message or tagged messages X to a folder X t Tag current message for further operations X ^T Tag messages with a specified pattern X u Undelete current message X ^U Undelete messages with a specified pattern X x, ^Q, DEL Exit leaving folder untouched SHAR_EOF chmod 0444 doc/elm-help.0 || echo "restore of doc/elm-help.0 fails" echo "x - extracting doc/elm-help.1 (Text)" sed 's/^X//' << 'SHAR_EOF' > doc/elm-help.1 && X X Commands available from the Options Menu in Elm 2.2 X X Key Meaning X --- ------- X > Save current options to elmrc file. X X a Arrow cursor. Changes from "->" to inverse bar and back for X indicating the current message. Change with <space>. X X c Calendar file. See '<' at top level menu for more information on this. X X d Display pager. "builtin" and "builtin+" will use the built-in pager, X or you enter the name of a standard pager, like "more". X X e Editor to use when composing messages. X X f Folder directory. This is what '=', '+', or '%' on the front of a X folder name expands to. X X i Return to index screen. X X ^L Redraw screen. X X m Mini-menu displayed on index screen or not. Change with <space>. X X n Names only or names and address displayed. Change with <space>. X X s Sorting criteria. Step through with <space>, <return> selects. X X o Outbound mail file. Where to save copies of outbound mail when not X saved by the recipient's name. X X p Print messages with this command. '%s' can be used in the command X as a filename holder. X X u User's expertise level. Change with <space>. X X y Your fullname to be used in outbound mail. X X x Exit ELM leaving folder untouched. SHAR_EOF chmod 0444 doc/elm-help.1 || echo "restore of doc/elm-help.1 fails" echo "x - extracting doc/elm-help.2 (Text)" sed 's/^X//' << 'SHAR_EOF' > doc/elm-help.2 && X X Commands available from the Alias Menu in Elm 2.2 X X Key Meaning X --- ------- X X ? Help on a specific key, or this summary of commands. X X a Add the return address of current message to alias database, (or X the regular address if current message is copy of a message sent). X X d Delete a user alias from alias database. X X l List all aliases in the database. X X m Make a new user alias, adding it to alias database when done. X X r,x Return from the alias menu. X X p Check for a person in the alias database. X X s Check for a system in the host routing/domain database. SHAR_EOF chmod 0444 doc/elm-help.2 || echo "restore of doc/elm-help.2 fails" echo "x - extracting doc/elm-help.3 (Text)" sed 's/^X//' << 'SHAR_EOF' > doc/elm-help.3 && X X Command Elm 2.2 Action X X X <RETURN> Display the current message, X or (builtin pager only) scroll X current message forward one line X <SPACE> Display the next screen of the current X message (builtin pager only), X or if at the end of a message, X the first screen of the next message X | Pipe current message or tagged messages to X a system command. X ! Shell escape X ? This screen of information X > Save current message or tagged messages X to a folder X < Scan current message for calendar entries X b Bounce (remail) current message X C Copy current message or tagged messages X to a folder X d Delete current message X f Forward current message X g Group (all recipients) reply to current message X h Headers displayed with message X i Return to index screen X J Increment current message by one X j, <DOWN> Advance to next undeleted message X K Decrement current message by one X k, <UP> Advance to previous undeleted message X m Mail a message X n Display next message X p Print current message or tagged messages X q Quit pager mode and return to index screen X r Reply to current message X s Save current message or tagged messages X to a folder X t Tag current message for further operations X u Undelete current message X x Exit leaving folder untouched SHAR_EOF chmod 0444 doc/elm-help.3 || echo "restore of doc/elm-help.3 fails" echo "x - extracting doc/elm.1 (Text)" sed 's/^X//' << 'SHAR_EOF' > doc/elm.1 && X.TH ELM 1L "Elm Version 2.2" "USENET Community Trust" X.ad b X.SH NAME Xelm - an interactive mail system X.SH SYNOPSIS X.B elm X[ X.B \-achkKmrwz X] [ X.B \-f X.I "alternate-folder" X] [ X.B \-d X.I debug-level X] X.br X.B elm X[ X.B \-s X.I subject X] X.I "list of aliases or addresses" X.PP X.SH DESCRIPTION X.I Elm\^ Xis an interactive screen-oriented mailer program that supercedes X.I mail Xand X.I mailx. X.PP XThere are three main ways to use the \fBelm\fR mailer. One way Xto use the mailer is to specify a list of addresses on the Xcommand line when the mailer is invoked. This will allow sending Xof a single message to the specified recipients with all the Xoptions usually available in the \fBelm\fR system itself. For example, Xthe command X.nf X X elm -s testing joe X X.fi Xwould initiate the sending of a message to the alias joe with the subject X"testing" indicated and Xwould put you into an editor for you to enter the text of the message. XIf the subject flag and argument were not present, you would be prompted Xfor a message subject. X.PP XThe second way, used most commonly when transmitting files and such, Xis to specify the subject of the message and the recipients using Xthe command line and redirect a file as standard input. For example, Xthe command X.nf X X elm -s testing joe < test.c X X.fi Xwould mail a copy of the Xfile test.c to alias joe, with the subject "testing" indicated. XThe subject flag and argument are optional. X.PP XThe third way, elm is invoked Xwith neither subject nor addresses specified on the command line and Xwithout standard input redirected. XYou can then read any messages in your incoming mailbox (or specified Xfolder), reply to messages in the mailbox, mail messages, etc. X.PP XOptions are: X.TP 1.0i X.B " -a" XArrow - force the arrow cursor (instead of the inverse bar) X.TP X.B " -c" XCheckalias - expand the following aliases and return. X.TP X.B " -d \fIlevel\fR " XDebug - set specified debug level - Output to "$HOME/Elm:debug.info" X.TP X.B " -f \fIalternative-folder\fR " XFolder - read folder (specified) rather than the incoming mailbox. X.TP X.B " -h" XHelp - give a list of starting options. X.TP X.B " -?" XSynonymous with the "-h" option. X.TP X.B " -k" XKeypad - force knowledge of HP terminal keyboard, to allow Xthe use of the NEXT, PREV and HOME/SHIFT-HOME keys. X.TP X.B " -K" XKeypad + softkeys - enable use of softkeys on HP terminals only. X.TP X.B " -m" XMenu off - Use the extra lines for more message headers. X.TP X.B " -s \fIsubj\fR " XSubject - specify subject for message to mail. X.TP X.B " -z" XZero - don't enter \fBElm\fR if no mail is pending. X.SH AUTHOR XDave Taylor, Hewlett-Packard Laboratories X.SH SEE ALSO XThe Elm documentation package, including: X.I XThe Elm Users Guide, XThe Elm Reference Guide, XThe Elm Alias SystemUsers Guide, XThe Elm Forms Mode Guide, XThe Elm Filter Guide, XThe Elm Configuration Guide\fR Xall written by by Dave Taylor. X.sp X.br Xnewalias(1L), checkalias(1L), mail(1), mailx(1), frm(1L), printmail(1L) X.SH FILES X/usr/local/bin/elm-help.main help file X.br X/usr/local/lib/.alias_hash system alias hash table X.br X/usr/local/lib/.alias_data system alias data table X.br X$HOME/.elm/aliases.hash user alias hash table X.br X$HOME/.elm/aliases.data user alias data table X.br X$HOME/.elm/elmrc customized mailer parameters X.br X$HOME/.elm/elmheaders customized message headers X.br X/tmp/snd.$$ outgoing mail edit buffer X.br X/tmp/mbox.\fIlogname\fR temporary mailbox X.br X$HOME/ELM:debug.info Debug output if turned on X.SH DIAGNOSTICS XShould know about keyboards/softkey terminals other than HP. (If only Xtermcap were that powerful!) X.SH BUG REPORTS TO XSyd Weinstein elm@dsinc.UUCP (dsinc!elm) X.SH COPYRIGHTS X.ps 18 X\fB\(co\fR\s12 Copyright 1986, 1987 by Dave Taylor X.br X.ps 18 X\fB\(co\fR\s12 Copyright 1988, 1989 by The USENET Community Trust SHAR_EOF chmod 0444 doc/elm.1 || echo "restore of doc/elm.1 fails" echo "x - extracting doc/elmrc-info (Text)" sed 's/^X//' << 'SHAR_EOF' > doc/elmrc-info && X#@(#)$Id: elmrc-info,v 2.9 89/03/25 21:00:41 syd Exp $ X# Elm Version 2.2 X# For yes/no settings with ?, ON means yes, OFF means no X Xshell X# The shell to use for shell escapes X Xfullname X# The full user name for outbound mail X Xmaildir X# where to save my mail to, default directory is "Mail" X Xreceivedmail X# where to save received messages to, default file is "=received" X Xeditor X# what editor to use ("none" means simulate Berkeley Mail) X Xescape X# the character to use in the builtin editor for entering commands X Xsentmail X# where to save copies of outgoing mail to, default file is "=sent" X Xcalendar X# where to save calendar entries X Xsortby X# how to sort folders, "Mailbox" by default X Xprint X# how to print a message ('%s' is the filename) X Xprefix X# prefix sequence for indenting included message text in outgoing messages... X Xweedout X# what headers I DON'T want to see, ever. X Xbounceback X# threshold for bouncing copies of remote uucp messages... X# zero = disable function. X Xtimeout X# Set the main prompt timeout for resynching... X Xautocopy X# automatically copy message being replied to into buffer? X Xcopy X# save a copy of all outbound messages? X Xresolve X# emulate the mailx message increment mode (only increment after something X# has been 'done' to a message, either saved or deleted, as opposed to X# simply each time something is touched)? X Xweed X# enable the weedout list to be read? X Xnoheader X# when messages are copied into the outbound buffer, don't include headers? X Xtitles X# display message title when displaying pages of message? X Xsavename X# save messages, incoming and outbound, by login name of sender/recipient? X Xmovepage X# when using the page commands (+ - <NEXT> <PREV>) change the current X# message pointer...? X Xpointnew X# start up by pointing to the first new message received, if possible? X Xsignature X# ".signature" file to append to outbound messages... X Xlocalsignature X# local ".signature" file to append to appropriate messages... X Xremotesignature X# remote ".signature" file to append to appropriate messages... X Xalwayskeep X# should the default be to keep unread messages in the incoming mailbox? X Xalwaysstore X# should the default be to store read messages to the "received" folder? X Xalwaysdelete X# should the default be to delete messages we've marked for deletion? X Xpager X# program to use for displaying messages ('builtin' is recommended) X Xpromptafter X# prompt for a command after the external pager exits? X Xkeepempty X# should we keep folders from which all messages are deleted? X Xkeypad X# are we running on an HP terminal and want HOME, PREV, NEXT, etc...? X Xsoftkeys X# are we running on an HP terminal and want softkeys available too? X# (this implies "keypad=ON" too) X Xalternatives X# alternative addresses that I could receive mail from (usually a X# forwarding mailbox) and don't want to have listed... X Xforms X# do we want to be able to mail out AT&T Mail Forms? X Xwarnings X# tell us about addresses to machines we can't directly get to? X Xuserlevel X# are we good at it? 0=beginner, 1=intermediate, 2+ = expert! X Xnames X# just show the names when expanding aliases? X Xarrow X# should we use the "->" rather than the inverse video bar? X Xmenu X# should we display the three-line 'mini' menu? X Xask X# should the message disposition questions be displayed(ON) or X# auto-answered(OFF) with the default answers when we resync or change folders? SHAR_EOF echo "End of part 6" echo "File doc/elmrc-info is continued in part 7" echo "7" > s2_seq_.tmp exit 0 -- Please send comp.sources.unix-related mail to rsalz@uunet.uu.net.