Responses of various commands

This section will discuss each command in the elm program in more detail than above, including the prompts the user can expect upon executing the command, the meaning of different options, etc.

?

Help. This command used once puts you in the help mode, where any key you press will result in a one-line description of the key. Pressed again at this point will produce a two page summary listing each command available. or `.' will leave the help mode and return you to the main menu level.

< space>

Display the current message. < space> is useful for reading through a mail folder. When issued from the index screen, it will display the first screen of the current message; and then when issued while in the builtin pager, it will page through the message to the end; and then when issued at the end of a message (with either the builtin pager or an external pager), it will display the first screen of the next message not marked for deletion.

< return>

Display the current message. < return> behaves somewhat differently from < space> . When issued while in the builtin pager, it will scroll the current message forward one line, and then when issued at the end of a message (with either the builtin pager or an external pager), it will redisplay the first screen of the the current message. The latter is useful in case you have issued a non-pager command while in the builtin pager and want to restart the display of the current message.

!

Shell. This allows you to send a command to the shell without leaving the program.

|

Pipe. This command allows you to pipe the current message or the set of tagged messages through other filters as you desire. The shell used for the entire command will be either the one specified in your .elm/elmrc file, or the default shell.

/

Pattern match. This command, on the top level, allows the user to search through all the from and subject lines of the current folder starting at the current message and continuing through the end. If the first character of the pattern is a `/', then the program will try to match the specified pattern against any line in the folder. Again, this works from one after the current message through the end. Both searches are case insensitive.

- or < left>

Display the next page of the message index.

+ or < right>

Display the previous page of the message index.

< number> < return>

Specify new current message. When you type in any digit key elm will prompt ``Set current to : n'', where `n' is the digit entered. Enter the full number and terminate with < return> . Note that changing the current message to a message not on the current page of headers will result in a new page being displayed.

<

Scan message for calendar entries. A rather novel feature of the elm mailer is the ability to automatically incorporate calendar/agenda information from a mail message into the users calendar file. This is done quite simply; any line that has the pattern
  • -> calendar entry
  • will be automatically added to the users calendar file (see the calendar option of the .elm/elmrc file) if the `< ' command is used.

    For example, let's say we had a message with the text:

     Regardless of that meeting, here's the seminar stuff:
     -> 8/03 3:00pm: AI Seminar with Ira Goldstein of HP Labs
    
    then using the `< ' command would add the line:
     8/03 3:00pm: AI Seminar with Ira Goldstein of HP Labs
    
    to the users calendar file.

    a

    Alias. The alias system is a way by which more complex mail addresses can be shortened for the mail user. For example:
  • joe, bleu = Joe Bleu = joe@hpfcla.SSO.HP.COM
  • which allows mail to `joe' or `bleu' with the system expanding the address properly. As is obvious, this not only saves remembering complex addresses, it also allows the address to be optimized to go through the minimum number of machines without anyone having to be informed of the change. A more detailed discussion can be found in either the section entitled The Alias System in this document or The Elm Alias System Users Guide.

    b

    Bounce mail. This ``remails'' mail to someone else in such a way as to make the return address the original sender rather than you (The forward command is similar, but it makes the return address you rather than the original sender).

    C

    Copy to folder. This command copies the current message or set of tagged messages to a folder. If there is anything in the folder currently the message or messages are appended to the end, otherwise the folder is created containing only the newly copied message. The prompt for this command is `Copy to folder: '. A response of < return> cancels the command and returns the user to the system prompt. The usual filename metacharacters are available, too. That is, this command expands filenames with `~' being your home directory and `=' being your maildir directory, if defined. This command also allows you to use `> ' for your receivedmail folder and `< ' for your sentmail folder. You can also enter `?' at the prompt to list the names of your folders.

    c

    Change folder. Specifying this command allows the user to change the folder that is currently being read. This is intended for perusal and reply to previously archived messages. The prompt is `Name of new folder: ' and entering < return> cancels the operation, while entering a filename causes the program to read that file as the new folder, if possible. This command expands filenames with `~' being your home directory and `=' being your maildir directory, if defined. This command also allows you to use `!' as an abbreviation for you incoming mailbox, `> ' for your receivedmail folder, and `< ' for your sentmail folder. You can also enter `?' at the prompt to list the names of your folders.

    d, u

    Delete and Undelete. Neither of these two commands have any prompts and indicate their action by either adding a `D' to the current message index entry (indicating deletion pending) or removing the `D' (indicating that the message isn't set for deletion).

    < control> -D

    This command allows you to easily mark for deletion all messages that have a specific pattern. After < control> -D is pressed, the program will prompt for the string to match currently it only matches either the from or subject lines of the message).

    < control> -U

    This is the direct opposite command to the previous all messages that match the specified pattern can have any mark for deletion removed by using this command.

    e

    Edit mailbox. This allows you to modify the current mail file at a single keystroke. This is mostly useful for editing down messages before saving them. Modifying headers should be done with extreme caution, as they contain routing information and other vital stuff for full functionality.

    f

    Forward. Allows the user to forward the current message to another user. This copies the message into the edit buffer and allows the user to add their own message too. The prompt is `Forward to:' and will expand an alias if entered. (See also bounce, above).

    Elm will ask you if you want to edit the message before sending it. If you answer `yes', Elm will prepend your prefix string to each line of the message, and let you edit the result. If you do not want the prefix string on each line, answer `no'; you will have another chance to edit the message when you get to the `send' menu. (See also the The .elm/elmrc Filesection, under prefix)

    g

    Group reply. Identical to reply below, except that the response is mailed to all recipients of the original message (except yourself see the alternatives option for your .elm/elmrc file).

    h

    Display the current message with all headers intact. When you display a message with other commands, certain header lines are formatted and others discarded (according to the weedlist parameter in your .elm/elmrc file).

    i

    Return to the index screen, when issued in the builtin pager or at the end of a message (with either the builtin pager or an external pager).

    j or < down> , k or < up>

    These four keys work similarly to what they would do in vi or any of the other (precious few) screen oriented programs. The `j' and < down > keys move the current message pointer down to the next message skipping over any marked deleted (going to the next page if needed) and the `k' and < up > keys move the current message pointer back to the previous message skipping over any marked deleted (also changing pages if needed)

    J, K

    These two keys work similarly to their lower case counterparts, except that they don't skip over deleted messages.

    l

    Limit. This feature allows you to specify a subset of the existing messages to be dealt with. For example, let's say we had a folder with four hundred messages in it, about four or five different subjects. We could then limit what we're dealing with by using the limit command. Pressing `l' would result in the prompt:
        Criteria: 
    to which we could answer
        subject string,
        from string or
         to string.
    
    In our example, we could use
        subject programming
    as a criteria for selection. Once we've limited our selections down, the screen will be rewritten with just the selected messages and the top line will change to have a message like:
          Folder is "=elm" with 92 shown out of 124 [Elm 2.2]
    

    We can further limit selections by entering further criteria, each time using the limit option again.

    To clear all the criteria and get back to the `regular' display, simply enter all as the limiting criteria. It should be noted that the selection based on ``to'' isn't fully implemented for this version, so it is recommended that users stay with ``subject'' and ``from'' as the basis for their criteria.

    m

    Mail. Send mail to a specified user. The prompt that is associated with this command is `Send mail to :'. Entering an alias name results in the full address being rewritten in parenthesis immediately. This prompt is followed by `Subject:' which allows the user to title their note. The final field is `Copies to: ', which allows other people specified to receive "carbon copies" of the message. (See the askcc option of the .elm/elmrc file) Upon entering all three items the editor is invoked and the message can be composed.

    n

    Next message that is not marked deleted: useful for displaying successive messages in a folder. When issued from the index screen, it displays the current message, and then when issued while in the builtin pager or at the end of a message (with either the builtin pager or an external pager), it will display the first screen of the next message not marked for deletion.

    o

    Options. This full-screen display allows you to alter the settings of a number of parameters, including the current sorting method, the method of printing files, the calendar file, the save file, and so on. It's selfdocumenting (where have you heard that before?) so isn't explained in too much detail here.

    p

    Print. This allows you to print out the current message or the tagged messages to a previously defined printer. (See the section on the .elm/elmrc discussing the print variable.)

    q

    Quit. If you in the pager, you are returned to the index screen. If you are on the index screen, elm quits altogether. However, if you have the option ask set, elm first prompts you for the disposition of the messages in the current folder. If any messages are marked for deletion, it will ask if you want them deleted. If the current folder is your incoming mailbox, you will also be asked if read messages should be stored in your receivedmail folder, and if unread messages should be kept in the incoming mailbox. The default answers to these questions are set by the .elm/elmrc options alwaysdelete, alwaysstore, and alwayskeep. However, if you elect to not store your read messages (i.e. keep them) it is presumed you want to keep your unread messages, too.

    Q

    Quick quit. This behaves similar to the `q' command except that you are never prompted for answers to the message disposition questions. Elm will dispose of messages according to the values you have set for alwaysdelete, alwaysstore, and alwayskeep in your .elm/elmrc file.

    r

    Reply. Reply to the sender of the current message. If the autocopy flag is OFF in your .elm/elmrc file, the program will prompt ``Copy message? (y/n)'' to which the user can specify whether a copy of the source message is to be copied into the edit buffer, or not. If copied in, all lines from the message are prepended with the prefix character sequence specified in your .elm/elmrc file.

    s

    Save to folder. This command is like the `copy' command, except that the saved messages are marked for deletion, and that if you are saving just the current message, the current message pointer is incremented afterwards (see the resolve option in the .elm/elmrc file). This command expands folder names with `~' being your home directory and `=' being your maildir directory, if defined. This command also allows you to use `> ' for your receivedmail folder and `< ' for your sentmail folder.

    t

    Tag. Currently only pipe, print, and save support this. Tag the current message for a later operation.

    < control> -T

    Tag all messages containing the specified pattern. Since tagging messages can occur on screens other than the one being viewed, the elm system will first check to see if any messages are currently tagged and ask you if you'd like to remove those tags. After that, it will, similar to the < control> -D function, prompt for a pattern to match and then mark for deletion all messages that contain the (case insensitive) pattern in either the from or subject lines.

    x

    Exit. This leaves elm discarding any changes to the mailbox. If changes are pending (such as messages marked for deletion) a prompt is made to confirm discarding the changes. If confirmed, no messages are deleted and the statuses of messages are unchanged. That is, any messages that were new will remain new instead of being noted as old, and any messages that were read for the first time will be again noted as unread.

    X

    Exit immediately. This leaves elm in the quickest possible manner without even prompting about discarding the changes to the mailbox. No messages are deleted and the statuses of messages are unchanged. That is, any messages that were new will remain new instead of being noted as old, and any messages that were read for the first time will be again noted as unread.

    Sending a Message

    When you are about to send of a message under the forward, mail, or reply commands (see Commands), a small menu of the following options appears:

    c

    Specify folder for saving a copy to. This allows you to override the copy, forcename and savename options of your .elm/elmrc file. It prompts you for the name of the folder where a copy of the outgoing message is to be saved. The default displayed is taken from those three .elm/elmrc options and can be changed. This command also allows you to use `> ' for your receivedmail folder and `< ' for your sentmail folder, and `=?' to mean ``conditionally save by name'' and `=' to mean ``unconditionally save by name''. You can also enter `?' at the prompt to list the names of your folders.

    f

    Forget. This gets you out of sending a message you started. If you are in sendonly mode, the message is saved to the file Cancelled.mail in your home directory. Otherwise it can be restored at the next forward, mail, or reply command during the current session of elm. After issuing one of those commands you will be prompted with
  • ``Recall last kept message?''
  • e

    Edit message (or form). Entering this command will allow you to edit the text of your message or form.

    h

    Edit headers. This puts you into the header editing mode, whereby you can edit to any of the various headers of your message. Like the options screen, it's self-documenting, so it isn't explained in too much detail here.

    m

    Make form. This converts the message you have edited into a form. (See The Elm Forms Mode Guide for more details. note: This is not on-line )

    s

    Send. This sends the message as is without any further ado.