\begindata{text,538387104} \textdsversion{12} \template{help} \define{global } \chapter{CUI 3.44 and higher: \ Common User Interface to the Andrew Message System } \section{What CUI is }\leftindent{ CUI is the common user interface to the Andrew Message System (\helptopic{AMS}). It is a program that allows you to read mail and bulletin boards from almost any display with a very simple interface. \ This file is a general introduction to CUI. For more advanced topics or for a tutorial on how to use CUI, see the files listed under "Related information about CUI" below. To see what version of CUI you are using, use the "set level wizard" command to change to CUI's wizard status and type "version". To see all the CUI commands, see the help entry on \italic{\helptopic{cui-quickref}} for an alphabetical listing. } \section{Related information about CUI }\leftindent{ Several other help files are available which provide more information about some CUI facilities such as mail classification. To see them, use the following phrases as keywords to Help or, alternatively, select any italicized phrase from the list below and choose "Show Help on Selected Word" from the pop-up menu: \description{\italic{\helptopic{cui-expert}} Expert-level commands in CUI \italic{\helptopic{cui-wizard}} Wizard-level commands in CUI \ \italic{\helptopic{cui-filtering}} How to do header filtering \italic{\helptopic{cui-classification}} Classifying messages with CUI \italic{\helptopic{cui-edit}} Using a text editor from within CUI \italic{\helptopic{cui-customization}} Customizing CUI via the .cuirc file \italic{\helptopic{cui-preferences}} Preferences that affect CUI \italic{\helptopic{cui-quickref}} Quick reference list of all CUI commands }If you would like to see a brief tutorial that takes you through some basic operations with CUI (reading mail and bulletin boards, sending mail, subscribing to bulletin boards, etc.) you can choose \bold{Show Tutorial} from the front Help menu while you are reading this file. \description{ }}\section{Starting CUI }\leftindent{ To start CUI, type \leftindent{cui }\ in a command window and press the Enter key. CUI will present the prompt "CUI>" to indicate that it is ready for your commands. You can also type CUI commands on the command line you use to start CUI, like \leftindent{cui update mail} } \section{Typing Commands to CUI }\leftindent{ Each CUI command is a one-word command which may be followed by additional words which are known as "command arguments." You may abbreviate the commands that you give to CUI as long as the abbreviation does not cause ambiguity. If you give an ambiguous command, CUI will ask you a multiple-choice quesion to determine which command you meant. Shorter abbreviations, such as "p" for "print", may be defined using the "alias" command, which is an expert-level command that is described in the \italic{\helptopic{cui-expert}} help file. Note: aliases and expertise levels do not take effect at the CUI READ> or the CUI SEND> prompt. They are only available at the CUI> prompt. You may type multiple commands on the same command line if you separate them by semicolons. } \section{Expertise Levels} \leftindent{ In CUI, there are three possible levels of expertise: novice, expert, and wizard. By default, you are initially working at the novice level, which means that there are fewer commands that CUI will accept without asking whether you really want to do them. Fewer commands make it less likely that a potentially destructive command will be typed by accident and also makes the in-program help smaller and more readable. Only the commands that are available at the novice level are documented in this help file. The others are documented in the following files: \italic{\helptopic{cui-expert}} Expert-level commands \italic{\helptopic{cui-wizard}} Wizard-level commands \italic{\helptopic{cui-quickref} } All commands briefly Higher levels contain the ones below them, so at "expert" level you have all the novice level commands available as well as some additional ones. You can always change your level to get more commands by using the "set level" command, which is available at all expertise levels. The command "set level" by itself tells you your current expertise level. You can have your level change automatically when you start CUI by including a "set level" command in the .cuirc file; see the help entry on \italic{\helptopic{cui-customization}} for more information about that. If you type a command at a level above your current one, CUI asks whether you want to execute that command rather than doing it immediately. \ } \section{The "More" prompt }\leftindent{ CUI has some notion of the size of the terminal you are using. The More prompt appears whenever whenever a command such as "browse" or "update" finds more than one screenful of headers or other information to display. When CUI gets to what it thinks is the end of a screenful of information, it places the following prompt at the bottom and waits for you to press the Enter key before continuing: \ -- More -- (Press Enter to continue or 'q' to quit) To see more information, press Enter. To quit from More prompt, type "q". To output the information continously (that is, to turn off the more prompt for the rest of your session), type "c" and press the Enter key. Typing "n" or "q" at the "More" prompt will generally return you to the prompt you had (usually CUI> or CUI READ>) without presenting the rest of the message. \ In general CUI knows what kind of terminal you are using and can adjust its notion of a screenful accordingly. If it guesses incorrectly, you should report that to advisor as a bug. In that case, you can adjust the number of lines it displays and the number of characters in a line using the "set terminal" command. You must set your expertise level to "expert" for the "set terminal" command to work. The appropriate commands for most terminals are CUI>set level expert CUI>set terminal 25, 80 \bold{If you are using CUI within an Andrew Typescript window.} The command "set terminal 0" removes the "More" prompt, which allows you to see your entire message at once without having to press Enter all the way through it. Since an Andrew Typescript window can be scrolled (unlike a PC screen or other CRT), this behavior is often desirable when running CUI within Typescript. You must set your expertise level to "expert" for the "set terminal" command to work. Use these two commands in the Typescript window: CUI>set level expert CUI>set terminal 0 If you remove the "More" prompt and then decide that you want it back, you can give the "set terminal" command to specify the number of lines and the number of characters in a line. See the example above or the help file on \italic{\helptopic{cui-expert}} for how to do that. } \section{Warnings }\leftindent{ \bold{Using Ctrl-c.} Although in many Andrew programs you can use Ctrl-c to cancel an action, you should not use Ctrl-c in CUI because it will end your entire session, preserving no information about which notices you have read. \bold{Names for classification directories.} You should avoid if possible giving one of your classification directories the same name as a bboard. In the current version of CUI, you will be unable to access a bboard with the same name as a classification directory. } \section{Novice-level Commands } The CUI novice level commands are intended to be an adequate set of commands for basic operations on messages -- for example, reading, sending, and classifying messages. The commands are presented in this section in alphabetical order. They are functionally related in this way: \description{Help commands: ?, help Message-reading commands: update, type, headers, browse, view, subscribe. Message-sending commands: CUI SEND> commands, mail, reply, allreply, widereply, forward, whois, redraft CUI SEND> commands: quit, draft, edit, submit, type, Set commands Insert file command: (available only at the prompt which begins "Enter the body of your message") on Andrew workstations, Ctrl-x Ctrl-q Ctrl-b followed by Enter and then the full pathname to the file. Delete commands: delete, undelete, purge Print command: print Quit commands: exit, quit Classification commands: classify, copy Commands for managing classification directories: rename, list, rmdir Set commands: level, terminal} The currently implemented novice commands are: \description{ "? []" or "help" -- causes CUI to print a help message for the command you specify or to display a list of the currently available commands if no command is specified. "allreply " -- sends mail to all the readers of the identified message, including the sender. "browse [since or ]" -- shows you all the messages on the named directory one at a time. For example, "browse mail" allows you to browse your mail messages sequentially and "browse andrew.gripes" allows you to browse the contents of andrew.gripe. Unlike the "update" command, browse does not update your profile and it does not present a list of all the headers first. Instead, it goes directly to a message-by-message presentation. It shows you each header individually, followed by the CUI READ> prompt. Most novice-level CUI commands are available at the CUI READ> prompt , such as "type", "next", and "print". Try the one you're interested in, or see the \italic{\helptopic{cui-quickref}} help entry. If you type "browse mail since 12-mar-86" or almost any other way of typing a date to the end, it will only present headers from messages in your mail directory since the given date. If you type "browse mail since lastread", it will only present headers from mail messages that arrived since you last used the "update" command. \ "classify " -- copies the message numbered into the named message directory for classifying mail and deletes it from the original directory (usually "mail") after the copy is complete. If you supply the name of a non-existent directory, CUI will ask whether it should create the directory and if you say yes, will copy the current message into it and put a directory creation notice in the parent directory if the new directory is a subdirectory of another classification directory. The companion to "classify" is "copy," which does a copy but does not delete the message from the original directory. Both commands are also available at the CUI READ> prompt (in browse or update mode), where they copy the current message if you do not give a number. "copy " -- like "classify" except that it does not delete the message from the original directory. That is, "copy" copies the message numbered into the named directory for classifying mail and does not delete the message from your current mail directory after the copy is complete. If you supply the name of a non-existent directory, CUI will ask whether it should create the directory and if you say yes, will copy the current message into it. Also available at the CUI READ> prompt, where it copies the current message if you do not give a number. \ "delete " -- deletes the message numbered . Marks the message with a (D); you can use the "headers" command to see all the messages and their status. Use the "purge" command to erase the messages you have marked for deletion. You can give more than one number to this command. "draft []" -- copies a draft of the current in-progress message into the message directory you specify. This allows you to use "redraft" to restore the message and continue work on it, or send it later. "edit" -- creates a unique file in /tmp and inserts the message you are currently writing into a file, and then calls an editor on that file so that you can then make changes to it. When you exit the editor, the file is then inserted back into the message so that the revised text is now the message. In order for the edit command to work correctly, the editor CUI calls must be functional on the terminal you are using. See the\italic{ \helptopic{cui-edit}} help document to find out how to set your editor correctly. "exit" or "quit" -- from the CUI SEND> prompt, this takes you back the the CUI> prompt. From the CUI> prompt, this ends a session with CUI. This is useful at the CUI SEND> prompt if you have finished drafting a message, but have not yet submitted it for delivery, and have changed your mind about sending the message. "Quit" at this point means that you will not send or save the message you have composed. "forward " -- forwards the message numbered to the address you supply. If you do not supply a name, you will be prompted for one. "Forward" can also be used at the CUI READ> prompt (in browse or update mode), where it forwards the current message if you do not give a number. \ "headers [since or ]" -- displays a list of captions from the messages in a given message directory along with the status of each: deleted messages are marked with a (D), new messages with an (N), duplicate message with a (2). If you type "headers mail since 12-mar-86" or almost any other way of typing a date to the end, it will only show you captions from messages in your mail directory since the given date. If you type "headers mail since lastread", it will only show you captions from mail messages that arrived since you last used the "update" command. This allows you to scan the captions from new messages on bulletin boards without having to read each one; however, it will not work for new mail that has arrived during your session with CUI. "list []" -- looks through the mail and bboard directories to which you have access and prints out the name of each. "list" by itself lists all the bulletin boards in the directories in your path; "list andrew" lists all the bboards starting with "andrew". This command is useful if you want to find out what bboards exist under a particular node, such as some of the external bboards (for instance, "list netnews" for the Unix netnews bboards or "list netnews.sci" to see what netnews bboards exist concerned with scientific topics). Beside each bboard name appears a letter which indicates your subscription status for that bboard (S for normal subscription, A for ask subscribed, N for not subscribed, P for print subscribed, F for full or "show all" subscribed). \ "mail " -- takes CUI into sending mode to start sending mail to other users. Separate the usernames with spaces if you supply more than one. CUI will prompt you for the Subject (you must specify a subject) and CC (you do not have to send carbon copies) and then accept your typed input until it receives a Ctrl-d (on a PC, until it receives a Ctrl-z). It then prompts you for whether you want to submit, type, draft, quit or edit the file. Choosing "submit" sends the mail, "quit" takes you back to CUI> without sending the message, "draft" stores the message into a folder, "type" prints out the message so you can see what you have typed, and "edit" inserts the message into an editor. To find out how "edit" chooses which editor to use, see the \italic{\helptopic{cui-edit}} help file. "print " -- prints the message numbered on your usual Andrew printer. You can give more than one number to this command. "proceed" -- causes CUI to go on to the next bboard before resuming the caption-by-caption presentation of each message. "Proceed" is only available at the CUI READ> prompt, where it allows you to skip over the contents of bboards in which you are not interested. See the "Special note about using 'update'" under the "update" command. "purge []" -- irrevocably purges all the deleted messages in the named directory. If no directory is specified, all directories in which you have deleted messages in this CUI session will be purged. "redraft " -- Treats the message numbered as a draft message, and restores it as the message currently being composed -- that is, it brings you back to the CUI SEND> prompt with the option of sending or editing that message. "rename []" -- renames the classification directory that you specify. At present you cannot rename message directories that have subdirectories. So, for example, if you have a "misc" directory and the subdirectories "misc.friends" and "misc.bccs" beneath it, you would not be able to rename "misc" without taking some special actions. If you want to rename message directories that have subdirectories, send mail to Adam Stoller (ghoti@andrew.cmu.edu) for assistance. "reply " -- sends mail to the sender of the message numbered . It also attaches a subject header automatically. \ "rmdir " -- deletes an empty message directory. If the directory is not empty, you will be asked to confirm the deletion. \ "type " -- shows you the body of the message numbered . You can give more than one number to this command. "set level " -- tells CUI that you want to change the expertise level at which you are operating CUI. "set level" by itself tells you your current level. The possible expertise levels are "novice", "expert", and "wizard," and may be abbreviated as much as you like. Also available at the CUI READ> prompt. \ "set terminal <# of lines> <# of chars per line>" -- sets the number of lines per screen and the number of characters per line for use with "more" mode. Separate the two numbers with a space. The command "set terminal 0" turns off "more" mode (often desirable for use with an Andrew typescript). \ "skip " -- causes CUI to skip messages where is any number. "Skip 1" will skip the next message, "skip" by itself is the same as "skip 1", "skip 99" skips to the last message in your current session (all the way to the last message on the current bboard), "skip -99" skips back to the first message. "Skip" is only available at the CUI READ> prompt. See the "Special note about using 'update'" under the "update" command. "submit" -- at the CUI SEND> prompt after you have composed a message, this command will send the message. "subscribe []" -- alters your subscription status for the named directory. You will be given the following options: Yes (full subscription; shows headers from new message automatically), No (no subscription), Ask (ask-subscribed; does not show headers from new messages automatically but prompts you for whether you want to read them), ShowAll (shows all messages, not just the new ones, each time you use the "update" command), Print (prints all messages automatically), or Quit (no subscription and return to the CUI> prompt). If you do not name a directory, you will be asked about all of the message directories to which you might possibly subscribe, including those to which you are already subscribed in case you want to change your subscription. "type" -- prints out the current message, whether it is a message you are reading, or a message you have just composed. "undelete " -- undeletes the message numbered . Removes the (D) from beside the message. You can give more than one number to this command. "update []" -- shows you the new messages on each of the named directories. For example, "update mail" allows you to read your new mail messages and "update andrew.gripes" allows you to read the latest gripes. First, CUI displays all the headers from your new messages, each marked with an (N) for "new". Then it shows you each header individually, followed by the CUI READ> prompt. Most novice-level CUI commands are available at the CUI READ> prompt, such as "type", "next", and "print". Try the one you're interested in, or see the \italic{\helptopic{cui-quickref}} help entry. "Update" also updates your profile as you read, marking the messages that were new as ones you have read. If you do not specify a list of message directories when you type "update", you are shown the new messages on all the message directories to which you subscribe. If you are ask-subscribed to a bboard, you will see a prompt asking whether you want to read the messages on that bboard.} \bold{Special note about using "update"} Most people use the "update" command by itself (with no bboard names as arguments) to read all the new messages on all the bboards to which they subscribe. If you do this, there are two commands that you want to know about, "proceed" and "skip". "Proceed" tells CUI to go on to the next bboard before resuming the caption-by-caption presentation of each message. This allows you to skip over the contents of bboards in which you are not interested. "Skip" tells CUI to skip messages where is any number. "Skip 1" will skip the next message, "skip" by itself is the same as "skip 1", "skip 99" skips to the last message in your current session (all the way to the last message on the current bboard), "skip -99" skips back to the first message. \ "Proceed" and "skip" do not update your profile unless you give a "next" command after skipping a number of messages. If you give a "next" command, CUI assumes that you are reading the messages after those you skipped and that you want the messages you skipped to be considered "read." To ensure that the messages you skipped are not considered read, give a "quit" command at the CUI READ> prompt after using "proceed" or "skip." \description{"view " --calls your local editor on the message you specify so that you can scroll or page the message. This command is useful for reading long messages on a non-Andrew workstation since you might need to page backward as you read them. Using an Andrew workstation, you can already scroll your messages in the Typescript window, so you never need this command. You cannot change anything in messages that you read using "view" even though you are reading them with an editor. To find out which editor CUI will use when you give the "view" command, see the \italic{\helptopic{cui-edit}} help file. "whois " -- attempts to match the name you supply with the entries in the White Pages database and provide the user ID of the person it believes you named. You can use "whois" to see where mail addressed to the name you supplied would actually be sent. If the White Page responds with "Addressee ambiguous," your mail would be returned to you by the message system. "widereply " -- sends mail to all the recipients of the identified message, not including the sender. } \bold{Insert file command in message sending} \leftindent{When you are typing in a message to send in CUI at the following prompt: \typewriter{Enter the body of your message and then press control-d} you can use a character sequence to insert a file. (The prompt above would end with "control-z" on a PC.) On an Andrew workstation running the BE1 Typescript, that character sequence is Ctrl-q Ctrl-b. The Ctrl-q and Ctrl-b must be beside each other on a line by themselves and must be followed by pressing the Enter key. On an Andrew workstation running the BE2 Typescript, th character sequence is Ctrl-x Ctrl-q Ctrl-b, Enter. On a PC, that character sequence is Ctrl-b, Enter. In an X11 xterm the sequence is usually Ctrl-v Ctrl-b, Enter but may vary depending on what command shell you use. You must give a fully qualified pathname to the file (no tilde or ~ allowed). The file you name will be invisibly inserted into your message. To see it, use "type" to type out the message on the screen.} \section{Program authors }\leftindent{ Nathaniel Borenstein, Mark Chance } \section{Related tools } \ See the listing of help documents at the top of this help document for more information on different aspects of CUI. For a tutorial of how to do basic operations in CUI (reading mail and bboards, sending messages) choose \bold{Show Tutorial} from the pop-up menu. Select (highlight) one of the italicized names and choose "Show Help on Selected Word" from the pop-up menu to see the help document for: \leftindent{ \italic{\helptopic{bboards} \helptopic{mail} \helptopic{Messages} \helptopic{SendMessage} \helptopic{VUI}} } \begindata{bp,538210560} \enddata{bp,538210560} \view{bpv,538210560,0,0,0} Copyright 1992 Carnegie Mellon University and IBM. All rights reserved. \smaller{\smaller{$Disclaimer: Permission to use, copy, modify, and distribute this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice, this permission notice, and the following disclaimer appear in supporting documentation, and that the names of IBM, Carnegie Mellon University, and other copyright holders, not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. IBM, CARNEGIE MELLON UNIVERSITY, AND THE OTHER COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL IBM, CARNEGIE MELLON UNIVERSITY, OR ANY OTHER COPYRIGHT HOLDER BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. $ }}\enddata{text,538387104}