\begindata{text,539483276}
\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 Typescript 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.  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,537558784}
\enddata{bp,537558784}
\view{bpv,537558784,1557,0,0}
Copyright 1992 Carnegie Mellon University and IBM.  All rights reserved.

\smaller{\smaller{$Disclaimer: This software is part of version 6.1 of the 

Andrew User Interface System and is 

the property of IBM, Carnegie Mellon University, 

and the other copyright holders.  The source 

code of this version is for the sole use of 

the individual named in ./config/allsys.h.  

This source code is not to be redistributed.  

Binary object code compiled or derived from 

these sources is not to be distributed to non-

members.  Members may have additional 

distribution rights granted by prior written 

permission of Carnegie Mellon University.



IBM, CARNEGIE MELLON UNIVERSITY, 

AND THE OTHER COPYRIGHT HOLDERS

 DISCLAIM ALL WARRANTIES WITH 

REGARD TO THIS SOFTWARE, INCLUDING 

ALL IMPLIED WARRANTIES OF MERCHANT-

ABILITY AND FITNESS. IN 

NO EVENT SHALL  IBM, CARNEGIE 

MELLON UNIVERSITY, OR ANY OTHER 

COPYRIGHT HOLDER BE LIABLE FOR 

ANY SPECIAL, INDIRECT OR CONSE-

QUENTIAL 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,539483276}
