1 SET_PROMPT

    RUN SET_PROMPT

	SET_PROMPT is a FORTRAN program that redefines the current DCL prompt
	string based on current location values, the value of the logical
	name KMS_PROMPT_DESCRIPTION, and optionally the value of the logical
	name KMS_WORKSTATION TITLE.  These logical names can have the following
	elements as values, each delineated by a '|':

	    NODE={value}
	    ROOT
	    DEV
	    DIR
	    PRIV
	    USER
	    PROC
	    PROMPT={value}
	    REVERSE
	    BOLD
	    NORMAL

	NODE and PROMPT can optionally have a value associated with them
	located to the right of an equals sign.  An example logical definition
	would be:

	    $ DEFINE KMS_PROMPT_DESCRIPTION -
	    _$ "NODE=!|DEV|DIR|PROMPT=>"

	and, after executing SET_PROMPT, the prompt would be:

	    !DUA1[>TEST]>

	if the current default location was DUA1:[nnn.TEST].

	Assuming the same starting location, the prompt would be DUA1:[>TEST]>
	by setting KMS_PROMPT_DESCRIPTION to DEV|PROMPT=:|DIR|PROMPT=>.

	The location of the values NODE, DEV, DIR, etc. inside the logical
	name is significant; the position in the logical name from left to
	right is the location for the corresponding value in the prompt from
	left to right.

	The value of KMS_WORKSTATION_TITLE is only checked if the logical name
	SYS$WORKSTATION is defined.  In this case, the title for your login
	terminal emulation window is modified.

2 Set_Up

	There are a few ways to use this program.  The simplest is to copy
	the following files to one directory location in your file area:


	    KMS$ISGUSR1:[HAYS.SYSCOM]SET_DIRECTORY,SET_PROMPT.EXE

	Then, modify you LOGIN.COM file to include the following:

	    $ DEFINE LOCAL <where_you_copied_files_to>
	    $ DEF == "@LOCAL:SET_DIRECTORY
	    $ DEFINE KMS_PROMPT_DESCRIPTION "<what_you_want>"
	    $ DEF

	From then on, use the DEF command to change directories and your
	prompt will update each time.  See this help file for further
	details on the value for the logical name KMS_PROMPT_DESCRIPTION.
	For help on the DEF command, type HELP @SYSUTL DEF at the DCL prompt.

2 Workstations

	There is another logical name, KMS_WORKSTATION_TITLE, that is also
	meaningful if the logical name SYS$WORKSTATION is defined for your
	system (this implies that you are running on a VAXstation).  In
	this case, if the logical name KMS_WORKSTATION_TITLE is defined,
	it is parsed just like KMS_PROMPT_DESCRIPTION and is then used
	to construct the title for the terminal emulation window that is
	currently in-use.

	For example, given a logical name value of PROC|PROMPT=@|USER, the
	window title for a user AAA with process name BBB would be:

		BBB@AAA

	The intent is to allow for a shorter prompt and a longer title for
	workstation users, since the title area can be very long but
	prompts can only be 32 characters.

2 NODE

	The NODE specifier inserts either the current node name, the value
	of the logical name specified by NODE=<logical>, or the actual value
	of the arguement after the equals sign if the value after the equals
	sign is not a logical name.  For example:

	    $ DEFINE MY_NODE "!"
	    $ DEFINE KMS_PROMPT_DESCRIPTION "NODE=MY_NODE|PROMPT"
	    $ RUN SET_PROMPT
	    !$
	    !$ SET PROMPT
	    $ DEFINE KMS_PROMPT_DESCRIPTION "NODE=!|PROMPT"
	    $ RUN SET_PROMPT
	    !$

2 DIR

	If DIR is specified, that location in the prompt is filled in with
	a string of the form [<carrots><subdirectory>], where <carrots> is
	a number of '>' characters equal to the depth of subdirectories at
	this point, and <subdirectory> is the current directory or
	subdirectory.  If the prompt string is too long (>32 characters),
	the DIR string may be shortened and the characters '.]' will
	terminate the string.

2 ROOT

	ROOT inserts the value <translation_of_SYS$DISK> into the string.
	Unlike DEV, the value is not translated further to get a device name.

2 DEV

	DEV will insert the default device name into the prompt.  The name
	will be the physical device name associated with the current value
	of SYS$DISK, your default root location.  This value is translated
	interatively until the device only is found.  Note that the HSC node
	name, if any, is removed from the value to save prompt space.

2 PROMPT

	PROMPT can take a value of any ASCII character you can embed in a
	logical name value.  If PROMPT does not have a value, then
	it defaults to a '$'.  This can be used anywhere in the prompt
	definition to define a constant value, and can be used over and
	over again.  For example, suppose you wanted your prompt to be
	ME[<dir>]$.  Set the logical name KMS_PROMPT_DESCRIPTION to
	PROMPT=ME|DIR|PROMPT.

2 USER

	USER specifies include the user name for this user in the specified
	location.

2 PROC

	PROC specifies include the current process name in the prompt or
	title at the indicated location.

2 Special_Characters

	REVERSE, BOLD, and NORMAL all only effect prompts on VT terminals.
	These can be used to change the video attributes at any location
	in the prompt.  Always remember to change the video setting back
	to NORMAL at the end.  For example, the KMS_PROMPT_DESCRIPTION value
	"REVERSE|NODE|NORMAL|BOLD|PROMPT|NORMAL" would result in the following
	if the node name is TEST:

	    TEST$

	where the TEST would be in reverse video and the $ in bold text.
