\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{
"? [<command>]" 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 <n>" -- sends mail to all the readers of the identified message, 
including the sender.


"browse <message directory> [since <date> or <lastread>]" -- 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 <n> <message directory>" --  copies the message numbered <n> 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 <n> <message directory>" -- like "classify" except that it does not 
delete the message from the original directory.  That is, "copy" copies the 
message numbered <n> 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 <n>" -- deletes the message numbered <n>.  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 [<message directory>]" -- 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 <n> <name or mail address>" -- forwards the message numbered <n> 
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 <message directory> [since <date> or <lastread>]" -- 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 [<message directory>]" -- 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 <usernames>" -- 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 <n>" -- prints the message numbered <n> 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 [<message directory>]" -- 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 <n>" -- Treats the message numbered <n> 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 [<message directory>]" -- 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 <n>" -- sends mail to the sender of the message numbered <n>.  It 
also attaches a subject header automatically. \



"rmdir <message directory>" -- deletes an empty message directory.  If the 
directory is not empty, you will be asked to confirm the deletion. \



"type <n>" -- shows you the body of the message numbered <n>.  You can give 
more than one number to this command.


"set level <expertise 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 <n>" -- causes CUI to skip <n> messages where <n> 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 [<message directory>]" -- 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 <n>" -- undeletes the message numbered <n>.  Removes the (D) from 
beside the message.  You can give more than one number to this command.


"update [<list of message directories>]" -- 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 <n> messages where <n> 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 <n>" --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 <name>" -- 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 <n>" -- 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}
