dtksh man page on UnixWare

Man page or keyword search:  
man Server   3616 pages
apropos Keyword Search (all sections)
Output format
UnixWare logo
[printable version]



dtksh(1)		 USER COMMANDS			 dtksh(1)

NAME
     dtksh - shell command language interpreter	 with  access  to
     many X, Xt, Xm and TED functions

SYNOPSIS
     dtksh [-abCefimnuvx] [-o option] [+abCefmnuvx] [+o option]
     [command_file [argument...]]

     dtksh [-abCefimnuvx] [-o option] [+abCefmnuvx] [+o option]
     command_string [command_name [argument...]]

     dtksh -s [-abCefimnuvx] [-o option] [+abeCefmnuvx]
     [+o option] [argument...]]

DESCRIPTION
     The dtksh utility is a version of the KornShell extended to
     support:

	o  Access to many X, Xt and Motif facilities from within
	   a shell script

	o  Fully localized shell scripts

	o  Access to the TED application help system

	o  Customization of script-based GUI attributes (such as
	   font and colors) using the TED customization tool

	o  Response to session-management Save state directives

	o  Response to window-management Close directives

	o  Access to most of the TED Desktop Services Message Set

	o  Access to many of the CDE Data Typing API functions

	o  Access to the CDE Action API functions

OPTIONS
     See sh(1).

OPERANDS
     See sh(1).

RESOURCES
     The dtksh interpreter has no relevant resources outside of
     those that affect the various widgets that can be instan-
     tiated from within a dtksh script.	 Refer to the manual page
     of the relevant widget for information on the resources that
     apply to that widget.

Unix System LaboratoLast change: 1 August 1995			1

dtksh(1)		 USER COMMANDS			 dtksh(1)

STDIN
     See sh(1).

INPUT FILES
     See sh(1).

ENVIRONMENT VARIABLES
     The following information describes the environment vari-
     ables that dtksh uses that are in addition to those docu-
     mented in the manual page for the sh command language inter-
     preter.

  Immediate Return Value (-)
     Many of the category 3 commands (as described in the Return
     Values From Built-in Commands section) return a single value
     using an environment variable specified as the first argu-
     ment to the command (in the synopses for these special com-
     mands, the first argument has the name variable).	If this
     return value is immediately used in an expression, the spe-
     cial environment variable ``-'' can be used in place of a
     variable name.  When dtksh encounters ``-'' as the name of
     the environment variable in which the return value is to be
     returned, it returns the result as the value of the command.
     This allows the shell script to embed the command call in
     another command call.  (This feature works only for commands
     that return a single value; the value is the first argument
     and the argument has the name variable).  For example:

	  XtDisplay DISPLAY $FORM
	  XSync $DISPLAY true

     can be replaced by the equivalent:

	  XSync $(XtDisplay "-" $FORM) true

     The reference to $DISPLAY is replaced with the value
     returned by the call to XtDisplay.	 This capability is
     available for all category 3 commands except those that
     create a widget, those that return more than a single value
     and those whose first argument is not named variable.  Com-
     mands that do not accept ``-'' as the environment variable
     name include:  XtInitialize, XtCreateApplicationShell,
     XtCreatePopupShell, XtCreateManagedWidget and
     XtCreateWidget; all commands of the form:

	  XmCreate...()

     and most commands of the form:

	  tt_...()

Unix System LaboratoLast change: 1 August 1995			2

dtksh(1)		 USER COMMANDS			 dtksh(1)

  Variables Set By XtInitialize
     The XtInitialize command sets the following variables:

	  DTKSH_APPNAME
	  DTKSH_ARGV
	  DTKSH_TOPLEVEL

  Callback Context Variables
     An application registers a callback with a widget to specify
     which condition it is interested in, and what action should
     occur when that condition occurs.	The action can be any
     arbitrary dtksh command line.  For example:

	  XtAddCallback $WIDGET activateCallback "ActivateProc"
	  XtAddCallback $WIDGET activateCallback "XtSetSensitive $BUTTON false"

     A callback needs to be passed some context so it can deter-
     mine what condition led to its call.  For a C procedure,
     this information is typically passed in a call_data struc-
     ture.  For example, a Scale widget invoking a valueChanged-
     Callback passes in call_data an instance of the following
     structure:

	  typedef struct {
	      int reason;
	      XEvent  *event;
	      int value;
	  } XmScaleCallbackStruct;

     The C application's callback does something like:

	  if (scaleCallData->reason == XmCR_VALUE_CHANGED) {
	      eventType = scaleCallData->event->type;
	      display = scaleCallData->event->xany.display;
	  }

     Similarly in dtksh, when a callback is invoked, the follow-
     ing special environment variables are set up before the
     callback command executes:

	CB_WIDGET
	      Set to the widget handle for the widget invoking
	      the callback.

	CB_CALL_DATA
	      Set to the address of the call_data structure
	      passed by the widget to the callback, but its use-
	      fulness lies in the nested sub-variables associated
	      with it.

     The CB_CALL_DATA environment variable represents a pointer
     to a structure; access to its fields uses a syntax similar

Unix System LaboratoLast change: 1 August 1995			3

dtksh(1)		 USER COMMANDS			 dtksh(1)

     to the C code.  Nested environment variables are defined,
     named the same as the fields of the structure (but folded to
     all upper case), and use a dot to indicate containment of an
     element in a structure.  Thus, the preceding C code, to
     access the call_data provided by the Scale widget,
     translates to:

	  if [${CB_CALL_DATA.REASON} = "CR_VALUE_CHANGED"]; then
	      eventType=${CB_CALL_DATA.EVENT.TYPE}
	      display=${CB_CALL_DATA.EVENT.XANY.DISPLAY}
	  fi

     The same is true of the event structure within the call_data
     structure.

     For most callback structures, the shell script is able to
     reference any of the fields defined for the particular call-
     back structure, using the technique previously described in
     this manual page.	In most cases, the shell script is not
     able to alter the values of the fields within these struc-
     tures.  The exception to this is the XmTextVerifyCallback-
     Struct, available during the losingFocusCallback, the
     modifyVerifyCallback and the motionVerifyCallback for the
     text widget.  The dtksh utility supports the modification of
     certain fields within this structure, to the extent that it
     is supported by Motif.  The following fields within the
     callback structure can be modified:

	  CB_CALL_DATA.DOIT
	  CB_CALL_DATA.STARTPOS
	  CB_CALL_DATA.ENDPOS
	  CB_CALL_DATA.TEXT.PTR
	  CB_CALL_DATA.TEXT.LENGTH
	  CB_CALL_DATA.TEXT.FORMAT

     An example of how these fields can be modified:

	  CB_CALL_DATA.DOIT="false"
	  CB_CALL_DATA.TEXT.PTR="*"
	  CB_CALL_DATA.TEXT.LENGTH=1

  Event Handler Context Variables
     As with callbacks, an application registers event handlers
     with a widget to specify what action should occur when one
     of the specified events occurs.  Again, the action can be
     any arbitrary dtksh command line.	For example:

	  XtAddEventHandler $W "Button2MotionMask" false "ActivateProc"
	  XtAddEventHandler $W "ButtonPressMask|ButtonReleaseMask" \
	      false "echo action"

Unix System LaboratoLast change: 1 August 1995			4

dtksh(1)		 USER COMMANDS			 dtksh(1)

     Just as with callbacks, two environment variables are
     defined to provide context to the event handler:

	EH_WIDGET
	      Set to the widget handle for the widget for which
	      the event handler is registered.

	EH_EVENT
	      Set to the address of the XEvent that triggered the
	      event handler.

     Access to the fields within the XEvent structure is the same
     as for the CB_CALL_DATA environment variable previously
     described in this manual page.  For example:

	  if [${EH_EVENT.TYPE} = "ButtonPress"]; then
	      echo X = ${EH_EVENT.XBUTTON.X}
	      echo Y = ${EH_EVENT.XBUTTON.Y}
	  elif [${EH_EVENT.TYPE} = "KeyPress"]; then
	      echo X = ${EH_EVENT.XKEY.X}
	      echo Y = ${EH_EVENT.XKEY.Y}
	  fi

  Translation Context Variables
     Xt provides for event translations to be registered for a
     widget; their context is provided in the same way as with
     event handlers.  The two variables defined for translation
     commands are:

	TRANSLATION_WIDGET
	      Set to the widget handle for the widget for which
	      the translation is registered.

	TRANSLATION_EVENT
	      Set to the address of the XEvent that triggered the
	      translation.

     Dot-notation provides access to the fields of the event:

	  echo Event type = ${TRANSLATION_EVENT.TYPE}
	  echo Display = ${TRANSLATION_EVENT.XANY.DISPLAY}

  Workspace Callback Context Variables
     An application can register a callback function that is
     invoked any time the user changes to a new workspace.  When
     the callback is invoked, the following two special environ-
     ment variables are set, and can be accessed by the shell
     callback code:

	CB_WIDGET
	      Set to the widget handle for the widget invoking
	      the callback.

Unix System LaboratoLast change: 1 August 1995			5

dtksh(1)		 USER COMMANDS			 dtksh(1)

	CB_CALL_DATA
	      Set to the X atom that uniquely identifies the new
	      workspace.  This can be converted to its string
	      representation using the XmGetAtomName command.

  Accessing Event Subfields
     The XEvent structure has many different configurations based
     on the event's type.  The dtksh utility provides access only
     to the most frequently used XEvents.  Any of the other stan-
     dard XEvents are accessed using the event type XANY, fol-
     lowed by any of the subfields defined by the XANY event
     structure, which includes the following subfields:

	  ${TRANSLATION_EVENT.XANY.TYPE}
	  ${TRANSLATION_EVENT.XANY.SERIAL}
	  ${TRANSLATION_EVENT.XANY.SEND_EVENT}
	  ${TRANSLATION_EVENT.XANY.DISPLAY}
	  ${TRANSLATION_EVENT.XANY.WINDOW}

     The dtksh utility supports full access to all of the event
     fields for the following event types:

	  XANY
	  XBUTTON
	  XEXPOSE
	  XNOEXPOSE
	  XGRAPHICSEXPOSE
	  XKEY
	  XMOTION

     The following examples show how the subfields for the previ-
     ously listed event types are accessed:

	  ${TRANSLATION_EVENT.XBUTTON.X}
	  $(CB_CALL_DATA.EVENT.XKEY.STATE}
	  ${EH_EVENT.XGRAPHICSEXPOSE.WIDTH}

  Input Context Variables
     Xt provides the XtAddInput(3X) facility that allows an
     application to register interest in activity on a particular
     file descriptor.  This generally includes data available for
     reading, the file descriptor being ready for writing, and
     exceptions on the file descriptor.	 If programming in C, the
     application provides a handler function that is invoked when
     the activity occurs.  When reading data from the file
     descriptor, it is up to the handler to read the data from
     the input source and handle character escaping and line con-
     tinuations.

     The dtksh utility also supports the XtAddInput(3X) facility,
     but has limited its functionality to reading data, and has
     taken the reading function a step further to make it easier

Unix System LaboratoLast change: 1 August 1995			6

dtksh(1)		 USER COMMANDS			 dtksh(1)

     for shell programmers to use.  By default, when a shell
     script registers interest in a file descriptor, dtksh
     invokes the shell script's input handler only when a com-
     plete line of text has been received.  A complete line of
     text is defined to be a line terminated either by an unes-
     caped <newline> character, or by end-of-file.  The input
     handler is also called if no data is available and end-of-
     file is reached.  This gives the handler the opportunity to
     use XtRemoveInput(3X) to remove the input source, and to
     close the file descriptor.

     The advantage of this default behavior is that input
     handlers do not need to do escape processing or handle line
     continuations.  The disadvantage is that it assumes that all
     of the input is line-oriented and contains no binary infor-
     mation.  If the input source does contain binary informa-
     tion, or if the input handler wants to read the data from
     the input source directly, dtksh also supports a raw input
     mode.  In raw mode, dtksh does not read any of the data from
     the input source.	Any time dtksh is notified that input is
     available on the input source, it invokes the shell script's
     input handler.  It then becomes the handler's responsibility
     to read the incoming data, to perform any required buffering
     and escape processing, and to detect when end-of-file is
     reached (so that the input source can be removed and the
     file descriptor closed).

     Whether the input handler is configured to operate in the
     default mode or in raw mode, dtksh sets up several environ-
     ment variables before calling the shell script's input
     handler.  These environment variables provide the input
     handler with everything needed to handle the incoming data:

	INPUT_LINE
	      If operating in the default mode, this variable
	      contains the next complete line of input available
	      from the input source.  If INPUT_EOF is set to
	      True, there is no data in this buffer.  If operat-
	      ing in raw mode, this environment variable always
	      contains an empty string.

	INPUT_EOF
	      If operating in the default mode, this variable is
	      set to False any time INPUT_LINE contains data, and
	      is set to True when end-of-file is reached.  When
	      end-of-file is reached, the input handler for the
	      shell script should unregister the input source and
	      close the file descriptor.  If operating in raw
	      mode, INPUT_EOF is always set to False.

	INPUT_SOURCE
	      Indicates the file descriptor for which input is

Unix System LaboratoLast change: 1 August 1995			7

dtksh(1)		 USER COMMANDS			 dtksh(1)

	      available.  If operating in raw mode, this file
	      descriptor is used to obtain the pending input.
	      The file descriptor is also used to close the input
	      source when it is no longer needed.

	INPUT_ID
	      Indicates the ID returned by XtAddInput when the
	      input source was originally registered.  This
	      information is needed in order to remove the input
	      source using XtRemoveInput.

ASYNCHRONOUS EVENTS
     Default.

STDOUT
     See sh(1).

STDERR
     See sh(1).

OUTPUT FILES
     None.

EXTENDED DESCRIPTION
     The capabilities described here are extensions to those of
     the sh command language interpreter.  See sh(1).  The fol-
     lowing subsections give a synopsis of each of the built-in
     commands added by dtksh to sh.  In general, argument order-
     ing and types are the same as for corresponding C pro-
     cedures, with exceptions noted.  For more detail on the
     functionality and arguments of a command, see the standard
     documentation for the corresponding X11, Xt, Motif or Desk-
     top Services procedure.

     In definitions listed in this document, arguments named
     variable, variable2, variable3 and so on, indicate that the
     shell script must supply the name of an environment vari-
     able, into which some value is returned.

     All of the Xt commands used to create a new widget require
     that the widget class for the new widget be specified.  The
     widget (or gadget) class name is the standard class name
     provided by Motif.	 For example, the class name for a Motif
     pushbutton widget is XmPushButton, while the class name for
     the Motif label gadget is XmLabelGadget.  Commands that use
     their exit status to return a Boolean value (which can be
     used directly as part of an if statement) are noted as such.

     Arguments enclosed within [] are optional.

  Dtksh Built-in Xlib Commands
     XBell display volume

Unix System LaboratoLast change: 1 August 1995			8

dtksh(1)		 USER COMMANDS			 dtksh(1)

     XClearArea display drawable [optional GC arguments] x y
     width height exposures

     XClearWindow display drawable

     XCopyArea display src dest srcX srcY width height destX
     destY [optional GC arguments]

     XDefineCursor display window cursor

     XDrawArc display drawable [optional GC arguments] x y width
     height angle1 angle2

     XDrawLine display drawable [optional GC arguments] x1 y1 x2
     y2

     XDrawLines display drawable [-coordinateMode] [optional GC
     arguments] x1 y1 x2 y2 [x3 y3 ...]

	The coordinateMode operand is either CoordModeOrigin or
	CoordModePrevious.

     XDrawPoint display drawable [optional GC arguments] x y

     XDrawPoints display drawable [-coordinateMode] [optional GC
     arguments] x1 y1 [x2 y2 x3 y3 ...]

	The coordinateMode operand is either CoordModeOrigin or
	CoordModePrevious.

     XDrawRectangle display drawable [optional GC arguments] x y
     width height

     XDrawSegments display drawable [optional GC arguments] x1 y1
     x2 y2 [x3 y3 x4 y4 ...]

     XDrawString display drawable [optional GC arguments] x y
     string

     XDrawImageString display drawable [optional GC arguments] x
     y string

     XFillArc display drawable [optional GC arguments] x y width
     height angle1 angle2

     XFillPolygon display drawable [-shape] [-coordinateMode]
     [optional GC arguments] x1 y1 x2 y2 ...

	The shape operand is one of Complex, Convex or Nonconvex,
	and where coordinateMode is either CoordModeOrigin or
	CoordModePrevious.

Unix System LaboratoLast change: 1 August 1995			9

dtksh(1)		 USER COMMANDS			 dtksh(1)

     XFillRectangle display drawable [optional GC arguments] x y
     width height

     XFlush display

     XHeightOfScreen variable screen

     XRaiseWindow display window

     XRootWindowOfScreen variable screen

     XSync display discard

	The discard operand is either True or False.

     XTextWidth variable fontName string

	The XTextWidth command differs from the C procedure; it
	takes the name of a font instead of a pointer to a font
	structure.

     XUndefineCursor display window

     XWidthOfScreen variable screen

  Built-in XtIntrinsic Commands
     XtAddCallback widgetHandle callbackName dtksh-command

	The callbackName operand is one of the standard Motif or
	Xt callback names, with the Xt or Xm prefix omitted; for
	example, activateCallback.

     XtAddEventHandler widgetHandle eventMask nonMaskableFlag
     dtksh-command

	The eventMask operand is of the form mask|mask|mask and
	the mask component is any of the standard set of XEvent
	masks; for example, ButtonPressMask, where nonMaska-
	bleFlag is either True or False.

     XtAddInput variable [-r] fileDescriptor dtksh-command

	The XtAddInput command registers the indicated file
	descriptor with the X Toolkit as an alternative input
	source (that is, for reading).	The input handler for the
	shell script is responsible for unregistering the input
	source when it is no longer needed, and also to close the
	file descriptor.  If the -r option is specified (raw
	mode), dtksh does not automatically read any of the data
	available from the input source; it is up to the speci-
	fied dtksh command to read all data.  If the -r option is
	not specified, the specified dtksh command is invoked

Unix System LaboratoLast change: 1 August 1995		       10

dtksh(1)		 USER COMMANDS			 dtksh(1)

	only when a full line has been read (that is, a line ter-
	minated by either an unescaped <newline> character, or
	end-of-file) and when end-of-file is reached.  The raw
	mode is useful for handlers expecting to process non-
	textual data, or for handlers not wanting dtksh to
	automatically read in a line of data.  When end-of-file
	is detected, it is the responsibility of the input
	handler for the shell script to use XtRemoveInput to
	remove the input source, and to close the file descrip-
	tor, if necessary.  In all cases, several environment
	variables are set up for the handler to use.  These
	include the following:

		 INPUT_LINE
		       Empty if raw mode; otherwise, contains
		       next line to be processed.

		 INPUT_EOF
		       Set to True if end-of-file reached; other-
		       wise, set to False.

		 INPUT_SOURCE
		       File descriptor associated with this input
		       source.

		 INPUT_ID
		       ID associated with this input handler;
		       returned by XtAddInput.

     XtAddTimeout variable interval dtksh-command

     XtAddWorkProc variable dtksh-command

	In dtksh, the dtksh-command is typically a dtksh function
	name.  Like regular work procedures, this function is
	expected to return a value indicating whether the work
	procedure wants to be called again, or whether it has
	completed its work and can be automatically unregistered.
	If the dtksh function returns zero, the work procedure
	remains registered; any other value causes the work pro-
	cedure to be automatically unregistered.

     XtAugmentTranslations widgetHandle translations

     XtCreateApplicationShell variable applicationName
     widgetClass [resource:value ...]

     XtCallCallbacks widgetHandle callbackName

	The callbackName operand is one of the standard Motif or
	Xt callback names, with the Xt or Xm prefix omitted; for
	example, activateCallback.

Unix System LaboratoLast change: 1 August 1995		       11

dtksh(1)		 USER COMMANDS			 dtksh(1)

     XtClass variable widgetHandle

	The command returns the name of the widget class associ-
	ated with the passed-in widget handle.

     XtCreateManagedWidget variable widgetName widgetClass
     parentWidgetHandle [resource:value ...]

     XtCreatePopupShell variable widgetName widgetClass
     parentWidgetHandle [resource:value ...]

     XtCreateWidget variable widgetName widgetClass
     parentWidgetHandle [resource:value ...]

     XtDestroyWidget widgetHandle [widgetHandle ...]

     XtDisplay variable widgetHandle

     XtDisplayOfObject variable widgetHandle

     XtGetValues widgetHandle resource:variable1
     [resource:variable2 ...]

     XtHasCallbacks variable widgetHandle callbackName

	The callbackName operand is one of the standard Motif or
	Xt callback names, with the Xt or Xm prefix omitted: for
	example, activateCallback variable is set to one of the
	strings CallbackNoList, CallbackHasNone or CallbackHas-
	Some.

     XtInitialize variable shellName applicationClassName appli-
     cationName arguments

	Similar to a typical Motif-based program, the arguments
	argument is used to reference any command-line arguments
	that might have been specified by the shell script user;
	these are typically referred using the shell syntax of
	$@.  The applicationName argument is listed because $@
	does not include $0.  The applicationName and arguments
	are used to build the argument list passed to the XtIni-
	tialize command.  Upon completion, the environment vari-
	able DTKSH_ARGV is set to the argument list as returned
	by the XtInitialize command; the DTKSH_TOPLEVEL environ-
	ment variable is set to the widget handle of the widget
	created by XtInitialize, and the DTKSH_APPNAME environ-
	ment variable is set to the value of the applicationName
	argument.  The command returns a value that can be used
	in a conditional.

     XtIsManaged widgetHandle

Unix System LaboratoLast change: 1 August 1995		       12

dtksh(1)		 USER COMMANDS			 dtksh(1)

	The command returns a value that can be used in a condi-
	tional.

     XtIsSubclass widgetHandle widgetClass

	The widgetClass operand is the name of a widget class.
	The command returns a value that can be used in a condi-
	tional.

     XtNameToWidget variable referenceWidget name

     XtIsRealized widgetHandle

	The command returns a value that can be used in a condi-
	tional.

     XtIsSensitive widgetHandle

	The command returns a value that can be used in a condi-
	tional.

     XtIsShell widgetHandle

	The command returns a value that can be used in a condi-
	tional.

     XtLastTimestampProcessed variable display

     XtMainLoop

     XtManageChild widgetHandle

     XtManageChildren widgetHandle [widgetHandle ...]

     XtMapWidget widgetHandle

     XtOverrideTranslations widgetHandle translations

     XtParent variable widgetHandle

     XtPopdown widgetHandle

     XtPopup widgetHandle grabType

	The grabType operand is one of the strings GrabNone,
	GrabNonexclusive or GrabExclusive.

     XtRealizeWidget widgetHandle

     XtRemoveAllCallbacks widgetHandle callbackName

Unix System LaboratoLast change: 1 August 1995		       13

dtksh(1)		 USER COMMANDS			 dtksh(1)

	The callbackName operand is one of the standard Motif or
	Xt callback names, with the Xt or Xm prefix omitted; for
	example, activateCallback.

     XtRemoveCallback widgetHandle callbackName dtksh-command

	The callbackName operand is one of the standard Motif or
	Xt callback names, with the Xt or Xm prefix omitted; for
	example, activateCallback.  As with traditional Xt call-
	backs, when a callback is removed, the same dtksh command
	string must be specified as was specified when the call-
	back was originally registered.

     XtRemoveEventHandler widgetHandle eventMask nonMaskableFlag
     dtksh-command

	The eventMask operand is of the form mask|mask|mask and
	the mask component is any of the standard set of XEvent
	masks; for example, ButtonPressMask, where nonMaska-
	bleFlag is either True or False.  As with traditional Xt
	event handlers, when an event handler is removed, the
	same eventMask, nonMaskableFlag setting and dtksh command
	string must be specified as was specified when the event
	handler was originally registered.

     XtRemoveInput inputId

	The inputId operand is the handle returned in the speci-
	fied environment variable when the alternative input
	source was registered using the XtAddInput command.

     XtRemoveTimeOut timeoutId

	The timeoutId operand is the handle returned in the
	specified environment variable when the timeout was
	registered using the XtAddTimeOut command.

     XtRemoveWorkProc workprocId

	The workprocId operand is the handle returned in the
	specified environment variable when the work procedure
	was registered using the XtAddWorkProc command.

     XtScreen variable widgetHandle

     XtSetSensitive widgetHandle state

	The state operand is either True or False.

     XtSetValues widgetHandle resource:value [resource:value ...]

Unix System LaboratoLast change: 1 August 1995		       14

dtksh(1)		 USER COMMANDS			 dtksh(1)

     XtUninstallTranslations widgetHandle

     XtUnmanageChild widgetHandle

     XtUnmanageChildren widgetHandle [widgetHandle ...]

     XtUnmapWidget widgetHandle

     XtUnrealizeWidget widgetHandle

     XtWindow variable widgetHandle

  Built-in Motif Commands
     XmAddWMProtocolCallback widgetHandle protocolAtom dtksh-
     command

	The protocolAtom operand is typically obtained using the
	XmInternAtom command.

     XmAddWMProtocols widgetHandle protocolAtom [protocolA-
     tom ...]

	The protocolAtom operand is typically obtained using the
	XmInternAtom command.

     XmCommandAppendValue widgetHandle string XmCommandError
     widgetHandle errorString

     XmCommandGetChild variable widgetHandle childType

	The childType operand is one of the strings:

		   DIALOG_COMMAND_TEXT
		   DIALOG_PROMPT_LABEL
		   DIALOG_HISTORY_LIST
		   DIALOG_WORK_AREA

     XmCommandSetValue widgetHandle commandString

     XmCreateArrowButton variable parentWidgetHandle name
     [resource:value ...]

     XmCreateArrowButtonGadget variable parentWidgetHandle name
     [resource:value ...]

     XmCreateBulletinBoard variable parentWidgetHandle name
     [resource:value ...]

     XmCreateBulletinBoardDialog variable parentWidgetHandle name
     [resource:value ...]

Unix System LaboratoLast change: 1 August 1995		       15

dtksh(1)		 USER COMMANDS			 dtksh(1)

     XmCreateCascadeButton variable parentWidgetHandle name
     [resource:value ...]

     XmCreateCascadeButtonGadget variable parentWidgetHandle name
     [resource:value ...]

     XmCreateCommand variable parentWidgetHandle name
     [resource:value ...]

     XmCreateDialogShell variable parentWidgetHandle name
     [resource:value ...]

     XmCreateDrawingArea variable parentWidgetHandle name
     [resource:value ...]

     XmCreateDrawnButton variable parentWidgetHandle name
     [resource:value ...]

     XmCreateErrorDialog variable parentWidgetHandle name
     [resource:value ...]

     XmCreateFileSelectionBox variable parentWidgetHandle name
     [resource:value ...]

     XmCreateFileSelectionDialog variable parentWidgetHandle name
     [resource:value ...]

     XmCreateForm variable parentWidgetHandle name
     [resource:value ...]

     XmCreateFormDialog variable parentWidgetHandle name
     [resource:value ...]

     XmCreateFrame variable parentWidgetHandle name
     [resource:value ...]

     XmCreateInformationDialog variable parentWidgetHandle name
     [resource:value ...]

     XmCreateLabel variable parentWidgetHandle name
     [resource:value ...]

     XmCreateLabelGadget variable parentWidgetHandle name
     [resource:value ...]

     XmCreateList variable parentWidgetHandle name
     [resource:value ...]

     XmCreateMainWindow variable parentWidgetHandle name
     [resource:value ...]

Unix System LaboratoLast change: 1 August 1995		       16

dtksh(1)		 USER COMMANDS			 dtksh(1)

     XmCreateMenuBar variable parentWidgetHandle name
     [resource:value ...]

     XmCreateMenuShell variable parentWidgetHandle name
     [resource:value ...]

     XmCreateMessageBox variable parentWidgetHandle name
     [resource:value ...]

     XmCreateMessageDialog variable parentWidgetHandle name
     [resource:value ...]

     XmCreateOptionMenu variable parentWidgetHandle name
     [resource:value ...]

     XmCreatePanedWindow variable parentWidgetHandle name
     [resource:value ...]

     XmCreatePopupMenu variable parentWidgetHandle name
     [resource:value ...]

     XmCreatePromptDialog variable parentWidgetHandle name
     [resource:value ...]

     XmCreatePulldownMenu variable parentWidgetHandle name
     [resource:value ...]

     XmCreatePushButton variable parentWidgetHandle name
     [resource:value ...]

     XmCreatePushButtonGadget variable parentWidgetHandle name
     [resource:value ...]

     XmCreateQuestionDialog variable parentWidgetHandle name
     [resource:value ...]

     XmCreateRadioBox variable parentWidgetHandle name
     [resource:value ...]

     XmCreateRowColumn variable parentWidgetHandle name
     [resource:value ...]

     XmCreateScale variable parentWidgetHandle name
     [resource:value ...]

     XmCreateScrollBar variable parentWidgetHandle name
     [resource:value ...]

     XmCreateScrolledList variable parentWidgetHandle name
     [resource:value ...]

Unix System LaboratoLast change: 1 August 1995		       17

dtksh(1)		 USER COMMANDS			 dtksh(1)

     XmCreateScrolledText variable parentWidgetHandle name
     [resource:value ...]

     XmCreateScrolledWindow variable parentWidgetHandle name
     [resource:value ...]

     XmCreateSelectionBox variable parentWidgetHandle name
     [resource:value ...]

     XmCreateSelectionDialog variable parentWidgetHandle name
     [resource:value ...]

     XmCreateSeparator variable parentWidgetHandle name
     [resource:value ...]

     XmCreateSeparatorGadget variable parentWidgetHandle name
     [resource:value ...]

     XmCreateText variable parentWidgetHandle name
     [resource:value ...]

     XmCreateTextField variable parentWidgetHandle name
     [resource:value ...]

     XmCreateToggleButton variable parentWidgetHandle name
     [resource:value ...]

     XmCreateToggleButtonGadget variable parentWidgetHandle name
     [resource:value ...]

     XmCreateWarningDialog variable parentWidgetHandle name
     [resource:value ...]

     XmCreateWorkArea variable parentWidgetHandle name
     [resource:value ...]

     XmCreateWorkingDialog variable parentWidgetHandle name
     [resource:value ...]

     XmFileSelectionDoSearch widgetHandle directoryMask

     XmFileSelectionBoxGetChild variable widgetHandle childType

	The childType operand is one of the strings:

		   DIALOG_APPLY_BUTTON
		   DIALOG_CANCEL_BUTTON
		   DIALOG_DEFAULT_BUTTON
		   DIALOG_DIR_LIST
		   DIALOG_DIR_LIST_LABEL
		   DIALOG_FILTER_LABEL
		   DIALOG_FILTER_TEXT

Unix System LaboratoLast change: 1 August 1995		       18

dtksh(1)		 USER COMMANDS			 dtksh(1)

		   DIALOG_HELP_BUTTON
		   DIALOG_LIST
		   DIALOG_LIST_LABEL
		   DIALOG_OK_BUTTON
		   DIALOG_SEPARATOR
		   DIALOG_SELECTION_LABEL
		   DIALOG_TEXT
		   DIALOG_WORK_AREA

     XmGetAtomName variable display atom

     XmGetColors widgetHandle background variable variable2 vari-
     able3 variable4

	The XmGetColors command differs from the C procedure in
	that it takes a widgetHandle instead of a screen pointer
	and a colormap.

     XmGetFocusWidget variable widgetHandle

     XmGetPostedFromWidget variable widgetHandle

     XmGetTabGroup variable widgetHandle

     XmGetTearOffControl variable widgetHandle

     XmGetVisibility variable widgetHandle

     XmInternAtom variable display atomString onlyIfExistsFlag

	The onlyIfExistsFlag operand can be set to either True or
	False.

     XmIsTraversable widgetHandle

	The command returns a value that can be used in a condi-
	tional.

     XmListAddItem widgetHandle position itemString

	The ordering of the arguments to the XmListAddItem com-
	mand differs from the corresponding C function.

     XmListAddItems widgetHandle position itemString [item-
     String ...]

	The ordering of the arguments to the XmListAddItems com-
	mand differs from the corresponding C function.

     XmListAddItemsUnselected widgetHandle position itemString
     [itemString ...]

Unix System LaboratoLast change: 1 August 1995		       19

dtksh(1)		 USER COMMANDS			 dtksh(1)

	The ordering of the arguments to the XmListAddItemsUn-
	selected command differs from the corresponding C func-
	tion.

     XmListAddItemUnselected widgetHandle position itemString

	The ordering of the arguments to the XmListAddItemUn-
	selected command differs from the corresponding C func-
	tion.

     XmListDeleteAllItems widgetHandle

     XmListDeleteItem widgetHandle itemString

     XmListDeleteItems widgetHandle itemString [itemString ...]

     XmListDeleteItemsPos widgetHandle itemCount position

     XmListDeletePos widgetHandle position

     XmListDeletePositions widgetHandle position [position ...]

     XmListDeselectAllItems widgetHandle

     XmListDeselectItem widgetHandle itemString

     XmListDeselectPos widgetHandle position

     XmListGetSelectedPos variable widgetHandle

	The command returns in variable a comma-separated list of
	indices.  The command returns a value that can be used in
	a conditional.

     XmListGetKbdItemPos variable widgetHandle

     XmListGetMatchPos variable widgetHandle itemString

	The command returns in variable a comma-separated list of
	indices.  The command returns a value that can be used in
	a conditional.

     XmListItemExists widgetHandle itemString

	The command returns a value that can be used in a condi-
	tional.

     XmListItemPos variable widgetHandle itemString

     XmListPosSelected widgetHandle position

Unix System LaboratoLast change: 1 August 1995		       20

dtksh(1)		 USER COMMANDS			 dtksh(1)

	The command returns a value that can be used in a condi-
	tional.

     XmListPosToBounds widgetHandle position variable variable2
     variable3 variable4

	The command returns a value that can be used in a condi-
	tional.

     XmListReplaceItemsPos widgetHandle position itemString
     [itemString ...]

	The ordering of the arguments to the XmListReplaceItem-
	sPos command differs from the corresponding C function.

     XmListReplaceItemsPosUnselected widgetHandle position item-
     String [itemString ...]

	The ordering of the arguments to the XmListReplaceItem-
	sPosUnselected command differs from the corresponding C
	function.

     XmListSelectItem widgetHandle itemString notifyFlag

	The notifyFlag operand can be set to either True or
	False.

     XmListSelectPos widgetHandle position notifyFlag

	The notifyFlag operand can be set to either True or
	False.

     XmListSetAddMode widgetHandle state

	The state operand can be set to either True or False.

     XmListSetBottomItem widgetHandle itemString

     XmListSetBottomPos widgetHandle position

     XmListSetHorizPos widgetHandle position

     XmListSetItem widgetHandle itemString

     XmListSetKbdItemPos widgetHandle position

	The command returns a value that can be used in a condi-
	tional.

     XmListSetPos widgetHandle position

Unix System LaboratoLast change: 1 August 1995		       21

dtksh(1)		 USER COMMANDS			 dtksh(1)

     XmListUpdateSelectedList widgetHandle

     XmMainWindowSep1 variable widgetHandle

     XmMainWindowSep2 variable widgetHandle

     XmMainWindowSep3 variable widgetHandle

     XmMainWindowSetAreas widgetHandle menuWidgetHandle com-
     mandWidgetHandle horizontalScrollbarWidgetHandle vertical-
     ScrollbarWidgetHandle workRegionWidgetHandle

     XmMenuPosition widgetHandle eventHandle

	The eventHandle operand refers to an XEvent that has typ-
	ically been obtained by accessing the CB_CALL_DATA.EVENT,
	EH_EVENT or TRANSLATION_EVENT environment variables.

     XmMessageBoxGetChild variable widgetHandle childType

	The childType operand is one of the strings:

		   DIALOG_CANCEL_BUTTON
		   DIALOG_DEFAULT_BUTTON
		   DIALOG_HELP_BUTTON
		   DIALOG_MESSAGE_LABEL
		   DIALOG_OK_BUTTON
		   DIALOG_SEPARATOR
		   DIALOG_SYMBOL_LABEL

     XmOptionButtonGadget variable widgetHandle

     XmOptionLabelGadget variable widgetHandle

     XmProcessTraversal widgetHandle direction

	The direction operand is one of the strings:

		   TRAVERSE_CURRENT
		   TRAVERSE_DOWN
		   TRAVERSE_HOME
		   TRAVERSE_LEFT
		   TRAVERSE_NEXT
		   TRAVERSE_NEXT_TAB_GROUP
		   TRAVERSE_PREV
		   TRAVERSE_PREV_TAB_GROUP
		   TRAVERSE_RIGHT
		   TRAVERSE_UP

	The command returns a value that can be used in a condi-
	tional.

Unix System LaboratoLast change: 1 August 1995		       22

dtksh(1)		 USER COMMANDS			 dtksh(1)

     XmRemoveWMProtocolCallback widgetHandle protocolAtom dtksh-
     command

	The protocolAtom operand is typically obtained using the
	XmInternAtom command.  As with traditional WM callbacks,
	when a callback is removed, the same dtksh command string
	must be specified as was specified when the callback was
	originally registered.

     XmRemoveWMProtocols widgetHandle protocolAtom [protocolA-
     tom ...]

	The protocolAtom operand is typically obtained using the
	XmInternAtom command.

     XmScaleGetValue widgetHandle variable

     XmScaleSetValue widgetHandle value

     XmScrollBarGetValues widgetHandle variable variable2 vari-
     able3 variable4

     XmScrollBarSetValues widgetHandle value sliderSize increment
     pageIncrement notifyFlag

	The notifyFlag operand can be set to either True or
	False.

     XmScrollVisible widgetHandle widgetHandle leftRightMargin
     topBottomMargin

     XmSelectionBoxGetChild variable widgetHandle childType

	The childType operand is one of the strings:

		   DIALOG_CANCEL_BUTTON
		   DIALOG_DEFAULT_BUTTON
		   DIALOG_HELP_BUTTON
		   DIALOG_APPLY_BUTTON
		   DIALOG_LIST
		   DIALOG_LIST_LABEL
		   DIALOG_OK_BUTTON
		   DIALOG_SELECTION_LABEL
		   DIALOG_SEPARATOR
		   DIALOG_TEXT
		   DIALOG_WORK_AREA

     XmTextClearSelection widgetHandle time

	The time operand is typically either obtained from within
	an XEvent, or from a call to the XtLastTimestampProcessed
	command.

Unix System LaboratoLast change: 1 August 1995		       23

dtksh(1)		 USER COMMANDS			 dtksh(1)

     XmTextCopy widgetHandle time

	The time operand is typically either obtained from within
	an XEvent, or from a call to the XtLastTimestampProcessed
	command.  The command returns a value that can be used in
	a conditional.

     XmTextCut widgetHandle time

	The time operand is typically either obtained from within
	an XEvent, or from a call to the XtLastTimestampProcessed
	command.  The command returns a value that can be used in
	a conditional.

     XmTextDisableRedisplay widgetHandle

     XmTextEnableDisplay widgetHandle

     XmTextFindString widgetHandle startPosition string direction
     variable

	The direction operand is one of the strings TEXT_FORWARD
	or TEXT_BACKWARD.  The command returns a value that can
	be used in a conditional.

     XmTextGetBaseline variable widgetHandle

     XmTextGetEditable widgetHandle

	The command returns a value that can be used in a condi-
	tional.

     XmTextGetInsertionPosition variable widgetHandle

     XmTextGetLastPosition variable widgetHandle

     XmTextGetMaxLength variable widgetHandle

     XmTextGetSelection variable widgetHandle

     XmTextGetSelectionPosition widgetHandle variable variable2

	The command returns a value that can be used in a condi-
	tional.

     XmTextGetString variable widgetHandle

     XmTextGetTopCharacter variable widgetHandle

     XmTextInsert widgetHandle position string

Unix System LaboratoLast change: 1 August 1995		       24

dtksh(1)		 USER COMMANDS			 dtksh(1)

     XmTextPaste widgetHandle

	The command returns a value that can be used in a condi-
	tional.

     XmTextPosToXY widgetHandle position variable variable2

	The command returns a value that can be used in a condi-
	tional.

     XmTextRemove widgetHandle

	The command returns a value that can be used in a condi-
	tional.

     XmTextReplace widgetHandle fromPosition toPosition string

     XmTextScroll widgetHandle lines

     XmTextSetAddMode widgetHandle state

	The state operand can be set to either True or False.

     XmTextSetEditable widgetHandle editableFlag

	The editableFlag operand can be set to either True or
	False.

     XmTextSetHighlight widgetHandle leftPosition rightPosition
     mode

	The mode operand is one of the strings:

		   HIGHLIGHT_NORMAL
		   HIGHLIGHT_SELECTED
		   HIGHLIGHT_SECONDARY_SELECTED

     XmTextSetInsertionPosition widgetHandle position

     XmTextSetMaxLength widgetHandle maxLength

     XmTextSetSelection widgetHandle firstPosition lastPosition
     time

	The time operand is typically either obtained from within
	an XEvent, or from a call to the XtLastTimestampProcessed
	command.

     XmTextSetString widgetHandle string

     XmTextSetTopCharacter widgetHandle topCharacterPosition

Unix System LaboratoLast change: 1 August 1995		       25

dtksh(1)		 USER COMMANDS			 dtksh(1)

     XmTextShowPosition widgetHandle position

     XmTextXYToPos variable widgetHandle x y

     XmTextFieldClearSelection widgetHandle time

	The time operand is typically either obtained from within
	an XEvent, or from a call to the XtLastTimestampProcessed
	command.

     XmTextFieldGetBaseline variable widgetHandle

     XmTextFieldGetEditable widgetHandle

	The command returns a value that can be used in a condi-
	tional.

     XmTextFieldGetInsertionPosition variable widgetHandle

     XmTextFieldGetLastPosition variable widgetHandle

     XmTextFieldGetMaxLength variable widgetHandle

     XmTextFieldGetSelection variable widgetHandle

     XmTextFieldGetSelectionPosition widgetHandle variable vari-
     able2

	The command returns a value that can be used in a condi-
	tional.

     XmTextFieldGetString variable widgetHandle

     XmTextFieldInsert widgetHandle position string

     XmTextFieldPosToXY widgetHandle position variable variable2

	The command returns a value that can be used in a condi-
	tional.

     XmTextFieldRemove widgetHandle

	The command returns a value that can be used in a condi-
	tional.

     XmTextFieldReplace widgetHandle fromPosition toPosition
     string

     XmTextFieldSetEditable widgetHandle editableFlag

	The editableFlag operand can be set to either True or
	False.

Unix System LaboratoLast change: 1 August 1995		       26

dtksh(1)		 USER COMMANDS			 dtksh(1)

     XmTextFieldSetHighlight widgetHandle leftPosition rightPosi-
     tion mode

	The mode operand is one of the strings:

		   HIGHLIGHT_NORMAL
		   HIGHLIGHT_SELECTED
		   HIGHLIGHT_SECONDARY_SELECTED

     XmTextFieldSetInsertionPosition widgetHandle position

     XmTextFieldSetMaxLength widgetHandle maxLength

     XmTextFieldSetSelection widgetHandle firstPosition lastPosi-
     tion time

	The time operand is typically either obtained from within
	an XEvent, or from a call to the XtLastTimestampProcessed
	command.

     XmTextFieldSetString widgetHandle string

     XmTextFieldShowPosition widgetHandle position

     XmTextFieldXYToPos variable widgetHandle x y

     XmTextFieldCopy widgetHandle time

	The time operand is typically either obtained from within
	an XEvent, or from a call to the XtLastTimestampProcessed
	command.  The command returns a value that can be used in
	a conditional.

     XmTextFieldCut widgetHandle time

	The time operand is typically either obtained from within
	an XEvent or from a call to the XtLastTimestampProcessed
	command.  The command returns a value that can be used in
	a conditional.

     XmTextFieldPaste widgetHandle

	The command returns a value that can be used in a condi-
	tional.

     XmTextFieldSetAddMode widgetHandle state

	The state operand can be set to either True or False.

     XmToggleButtonGadgetGetState widgetHandle

Unix System LaboratoLast change: 1 August 1995		       27

dtksh(1)		 USER COMMANDS			 dtksh(1)

	The command returns a value that can be used in a condi-
	tional.

     XmToggleButtonGadgetSetState widgetHandle state notifyFlag

	The state operand can be set to either True or False.
	The notifyFlag operand can be set to either True or
	False.

     XmToggleButtonGetState widgetHandle

	The command returns a value that can be used in a condi-
	tional.

     XmToggleButtonSetState widgetHandle state notifyFlag

	The state operand can be set to either True or False.
	The notifyFlag operand can be set to either True or
	False.

     XmUpdateDisplay widgetHandle

  Built-in TED Application Help Commands
     DtCreateHelpQuickDialog variable parentWidgetHandle name
     [resource:value ...]

     DtCreateHelpDialog variable parentWidgetHandle name
     [resource:value ...]

     DtHelpQuickDialogGetChild variable widgetHandle childType

	The childType operand is one of the strings:

		   HELP_QUICK_OK_BUTTON
		   HELP_QUICK_PRINT_BUTTON
		   HELP_QUICK_HELP_BUTTON
		   HELP_QUICK_SEPARATOR
		   HELP_QUICK_MORE_BUTTON
		   HELP_QUICK_BACK_BUTTON

     DtHelpReturnSelectedWidgetId variable widgetHandle variable2

	The variable operand is set to one of the strings:

		   HELP_SELECT_VALID
		   HELP_SELECT_INVALID
		   HELP_SELECT_ABORT
		   HELP_SELECT_ERROR

	and variable2 is set to the widgetHandle for the selected
	widget.

Unix System LaboratoLast change: 1 August 1995		       28

dtksh(1)		 USER COMMANDS			 dtksh(1)

     DtHelpSetCatalogName catalogName

  Built-in Localization Commands
     catopen variable catalogName

	Opens the indicated message catalog, and returns the
	catalog ID in the environment variable specified by vari-
	able.  If a shell script needs to close the file descrip-
	tor associated with a message catalog, the catalog ID
	must be closed using the catclose command.

     catgets variable catalogId setNumber messageNumber default-
     MessageString

	Attempts to extract the requested message string from the
	message catalog associated with the catalogId argument.
	If the message string cannot be located, the default mes-
	sage string is returned.  In either case, the returned
	message string is placed into the environment variable
	indicated by variable.

     catclose catalogId

	Closes the message catalog associated with the indicated
	catalogId.

  Built-in Session Management Commands
     DtSessionRestorePath widgetHandle variable sessionFile

	Given the filename for the session file (excluding any
	path information), this command returns the full pathname
	for the session file in the environment variable indi-
	cated by variable.  The command returns a value that can
	be used in a conditional, indicating whether the command
	succeeded.

     DtSessionSavePath widgetHandle variable variable2

	The full pathname for the session file is returned in
	environment variable indicated by variable.  The filename
	portion of the session file (excluding any path informa-
	tion) is returned in the environment variable indicated
	by variable2.  The command returns a value that can be
	used in a conditional, indicating whether the command
	succeeded.

     DtShellIsIconified widgetHandle

	The command returns a value that can be used in a condi-
	tional.

Unix System LaboratoLast change: 1 August 1995		       29

dtksh(1)		 USER COMMANDS			 dtksh(1)

     DtSetStartupCommand widgetHandle commandString

	Part of the session management process is telling the
	session manager how to restart the application the next
	time the user reopens the session.  This command passes
	along the specified command string to the session
	manager.  The widget handle should refer to an applica-
	tion shell.

     DtSetIconifyHint widgetHandle iconifyHint

	The iconifyHint operand can be set to either True or
	False.	This command sets the initial iconified state for
	a shell window.	 This command only works if the window
	associated with the widget has not yet been realized.

  Built-in Workspace Management Commands
     DtWsmAddCurrentWorkspaceCallback variable widgetHandle
     dtksh-command

	This command evaluates the specified dtksh command when-
	ever the user changes workspaces.  The handle associated
	with this callback is returned in the environment vari-
	able indicated by variable.  The widget indicated by
	widgetHandle should be a shell widget.

     DtWsmRemoveWorkspaceCallback callback-handle

	The callback-handle must be a handle that was returned by
	DtWsmAddCurrentWorkspaceCallback.

     DtWsmGetCurrentWorkspace display rootWindow variable

	This command returns the X atom representing the user's
	current workspace in the environment variable indicated
	by variable.  The XmGetAtomName command maps the X atom
	into its string representation.

     DtWsmSetCurrentWorkspace widgetHandle workspaceNameAtom

	This command changes the user's current workspace to the
	workspace indicated by workspaceNameAtom.  The command
	returns a value that can be used in a conditional, indi-
	cating whether the command succeeded.

     DtWsmGetWorkspaceList display rootWindow variable

	This command returns in variable a string of comma-
	separated X atoms, representing the current set of
	workspaces defined for the user.  The command returns a
	value that can be used in a conditional, indicating
	whether the command succeeded.

Unix System LaboratoLast change: 1 August 1995		       30

dtksh(1)		 USER COMMANDS			 dtksh(1)

     DtWsmGetWorkspacesOccupied display window variable

	This command returns a string of comma-separated X atoms,
	representing the current set of workspaces occupied by
	the indicated shell window in the environment variable
	indicated by variable.	The command returns a value that
	can be used in a conditional, indicating whether the com-
	mand succeeded.

     DtWsmSetWorkspacesOccupied display window workspaceList

	This command moves the indicated shell window to the set
	of workspaces indicated by the string workspaceList,
	which must be a comma-separated list of X atoms.

     DtWsmAddWorkspaceFunctions display window

     DtWsmRemoveWorkspaceFunctions display window

     DtWsmOccupyAllWorkspaces display window

     DtWsmGetCurrentBackdropWindows display rootWindow variable

	This command returns in variable a string of comma-
	separated window IDs representing the set of root back-
	drop windows.

  Built-in Action Commands
     The set of commands in this section provides the programmer
     with the tools for loading the action databases, querying
     information about actions defined in the databases, and
     requesting that an action be initiated.

     DtDbLoad

	This command reads in the action and data types data-
	bases.	It must be called before any of the other Action
	or Data Typing Commands.  The shell script should also
	use the DtDbReloadNotify command so that the shell script
	can be notified if new databases must be loaded.

     DtDbReloadNotify dtksh-command

	The specified dtksh command is executed when the notifi-
	cation is received.  Typically, the dtksh command
	includes a call to the DtDbLoad command.

     DtActionExists actionName

	The command returns a value that can be used in a condi-
	tional.

Unix System LaboratoLast change: 1 August 1995		       31

dtksh(1)		 USER COMMANDS			 dtksh(1)

     DtActionLabel variable actionName

	If the action does not exist, then an empty string is
	returned.

     DtActionDescription variable actionName

	This command returns an empty string if the action is not
	defined, or if the DESCRIPTION attribute is not speci-
	fied.

     DtActionInvoke widgetHandle actionName termOpts execHost
     contextDir useIndicator dtksh-command [FILE fileName] ...

	The [FILE fileName] couplets can be used to specify file
	arguments to be used by DtActionInvoke when invoking the
	specified action.  The dtksh-command argument is not sup-
	ported in TED, and should be specified as a null ("")
	value.

  Built-in Data Typing Commands
     DtDtsLoadDataTypes

	This command should be invoked before any of the other
	data typing commands.

     DtDtsFileToDataType variable filePath

	This command returns the name of the data type associated
	with the file indicated by the filePath argument in the
	variable argument.  The variable argument is set to an
	empty string if the file cannot be typed.

     DtDtsFileToAttributeValue variable filePath attrName

	This command returns the string representing the value of
	the specified attribute for the data type associated with
	the indicated file in the variable argument.  If the
	attribute is not defined, or if the file cannot be typed,
	the variable argument is set to an empty string.

     DtDtsFileToAttributeList variable filePath

	This command returns the space-separated list of attri-
	bute names defined for the data type associated with the
	indicated file in the variable argument.  A shell script
	queries the individual values for the attributes using
	the DtDtsFileToAttributeValue command.	The variable
	argument is set to an empty string if the file cannot be
	typed.	This command differs from the corresponding C
	function in that it only returns the names of the defined
	attributes and not their values.

Unix System LaboratoLast change: 1 August 1995		       32

dtksh(1)		 USER COMMANDS			 dtksh(1)

     DtDtsDataTypeToAttributeValue variable dataType attrName
     optName

	This command returns the string representing the value of
	the specified attribute for the indicated data type in
	variable.  If the attribute is not defined, or if the
	indicated data type does not exist, the variable argument
	is set to an empty string.

     DtDtsDataTypeToAttributeList variable dataType optName

	This command returns the space-separated list of attri-
	bute names defined for the indicated data type in vari-
	able.  A shell script queries the individual values for
	the attributes using the DtDtsDataTypeToAttributeValue
	command.  The variable argument is set to an empty string
	if the data type is not defined.  This command differs
	from the corresponding C function in that it only returns
	the names of the defined attributes, and not their
	values.

     DtDtsFindAttribute variable name value

	This command returns a space-separated list of data type
	names whose attribute, indicated by the name argument,
	has the value indicated by the value argument.	If an
	error occurs, the variable argument is set to an empty
	string.

     DtDtsDataTypeNames variable

	This command returns a space-separated list representing
	all of the data types currently defined in the data types
	database.  If an error occurs, the variable argument is
	set to an empty string.

     DtDtsSetDataType variable filePath dataType override

	The variable argument is set to the resultant saved data
	type for the directory.

     DtDtsDataTypeIsAction dataType

	The command returns a value that can be used in a condi-
	tional.

  Built-in TED Desktop Services Message Set Commands
     The following set of commands implement a subset of the
     Desktop Services Message Set, allowing shell script partici-
     pation in the Desktop Services protocol.  Many of the Tool-
     Talk commands differ slightly from their associated C pro-
     gramming call.  For ToolTalk commands that typically return

Unix System LaboratoLast change: 1 August 1995		       33

dtksh(1)		 USER COMMANDS			 dtksh(1)

     a pointer, a C application can validate that pointer by cal-
     ling the tt_ptr_error() function; this C function call
     returns a Tt_status value, which indicates whether the
     pointer was valid, and if not, why it was not.  In dtksh,
     all of the Desktop Services Message Set Commands that return
     a pointer also return the associated Tt_status value for the
     pointer automatically; this saves the shell script from
     needing to make an additional call to check the validity of
     the original pointer.  In the case of a pointer error occur-
     ring, dtksh returns an empty string for the pointer value,
     and sets the Tt_status code accordingly.  The Tt_status
     value is returned in the status argument.	The Tt_status
     value is a string representing the error, and can assume any
     of the values shown in the manual page for <Tt/tt_c.h>.

     Some of the commands take a message scope as an argument.
     For these commands, the scope argument can be set to a
     string representing any of the constants documented for
     tt_message_scope(1), and in the manual pages for the indivi-
     dual ToolTalk functions.

     tt_file_netfile variable status file name

     tt_netfile_file variable status netfile name

     tt_host_file_netfile variable status host file name

     tt_host_netfile_file variable status host netfile name

     ttdt_open variable status variable2 toolname vendor version
     sendStarted

	This command returns in the variable argument the procId
	associated with the connection.	 It returns the file
	descriptor associated with the connection in variable2;
	this file descriptor can be used in registering an alter-
	native Xt input handler via the XtAddInput command.  The
	sendStarted argument is True or False.	Any procIds
	returned by ttdt_open contain embedded spaces.	To
	prevent dtksh from interpreting the procId as multiple
	arguments (versus a single argument with embedded
	spaces), references to the environment variable contain-
	ing the procId must be within double quotes, as shown:

		   ttdt_close STATUS "$PROC_ID" "" True

     tttk_Xt_input_handler procId source id

	In order for the ToolTalk messages to be received and
	processed, the shell script must register an Xt input
	handler for the file descriptor returned by the call to
	ttdt_open.  The Xt input handler is registered using the

Unix System LaboratoLast change: 1 August 1995		       34

dtksh(1)		 USER COMMANDS			 dtksh(1)

	XtAddInput command, and the handler must be registered as
	a raw input handler.  The input handler that the shell
	script registers should invoke tttk_Xt_input_handler to
	get the message received and processed.	 The following
	code block demonstrates how this is done:

		   ttdt_open PROC_ID STATUS FID "Tool" "HP" "1.0" True
		   XtAddInput INPUT_ID -r $FID "ProcessTTInput \"$PROC_ID\""
		   ProcessTTInput()
		   {
		       tttk_Xt_input_handler $1 $INPUT_SOURCE $INPUT_ID
		   }

	      Refer to the description of the XtAddInput command
	      for more details about alternative Xt input
	      handlers.	 This command can be specified as an
	      alternative Xt input handler, using the XtAddInput
	      command.	The procId value should be that which was
	      returned by the ttdt_open command.  When register-
	      ing tttk_Xt_input_handler as an alternative Xt
	      input handler, it must be registered as a raw
	      handler to prevent dtksh from automatically break-
	      ing up the input into lines.  This can be done as
	      follows:

		   XtAddInput returnId -r $tt_fd \
		       "tttk_Xt_input_handler \"$procId\""

	      The \" characters before and after the reference to
	      the procId environment variable are necessary to
	      protect the embedded spaces in the procId environ-
	      ment variable.

     ttdt_close status procId newProcId sendStopped

	This command closes the indicated communications connec-
	tion, and optionally sends a Stopped notice, if the
	sendStopped argument is set to True.  Because the procId
	returned by the call to ttdt_open contains embedded
	spaces, it must be enclosed within double quotes, as
	shown:

		   ttdt_close STATUS "$PROC_ID" "$NEW_PROC_ID" False

     ttdt_session_join variable status sessId shellWidgetHandle
     join

	This command joins the session indicated by the sessId
	argument.  If the sessId argument does not specify a
	value (that is, it is an empty string), then the default
	session is joined.  If the shellWidgetHandle argument
	specifies a widget handle (that is, it is not an empty

Unix System LaboratoLast change: 1 August 1995		       35

dtksh(1)		 USER COMMANDS			 dtksh(1)

	string), then it should refer to a mappedWhenManaged
	applicationShellWidget.	 The join argument is True or
	False.	This command returns an opaque pattern handle in
	the variable argument; this handle can be destroyed using
	the ttdt_session_quit command when it is no longer
	needed.

     ttdt_session_quit status sessId sessPatterns quit

	This command destroys the message patterns specified by
	the sessPatterns argument, and, if the quit argument is
	set to True, it quits the session indicated by the sessId
	argument, or it quits the default session if sessId is
	empty.

     ttdt_file_join variable status pathName scope join dtksh-
     command

	An opaque pattern handle is returned in the variable
	argument; this should be destroyed by calling
	ttdt_file_quit when there is no interest in monitoring
	messages for the indicated file.  The requested dtksh-
	command is evaluated any time a message is received for
	the indicated file.  When this dtksh-command is
	evaluated, the following environment variables are
	defined, and provide additional information about the
	received message:

		 DT_TT_MSG
		       The opaque handle for the incoming mes-
		       sage.

		 DT_TT_OP
		       The string representing the operation to
		       be performed; that is, TTDT_DELETED,
		       TTDT_MODIFIED, TTDT_REVERTED, TTDT_MOVED
		       or TTDT_SAVED.

		 DT_TT_PATHNAME
		       The pathname for the file to which this
		       message pertains.

		 DT_TT_SAME_EUID_EGID
		       Set to True if the message was sent by an
		       application operating with the same effec-
		       tive user ID and effective group ID as
		       this process.

		 DT_TT_SAME_PROCID
		       Set to True if the message was sent by an
		       application with the same procId (as
		       returned by ttdt_open).

Unix System LaboratoLast change: 1 August 1995		       36

dtksh(1)		 USER COMMANDS			 dtksh(1)

	      When the callback completes, it must indicate
	      whether the passed-in message was consumed
	      (replied-to, failed or rejected).	 If the callback
	      returns the message (as passed in the DT_TT_MSG
	      environment variable), it is assumed that the mes-
	      sage was not consumed.  If the message was con-
	      sumed, the callback should return zero, or one of
	      the values returned by the tt_error_pointer com-
	      mand.  The callback can return its value in the
	      following fashion:

		   return $DT_TT_MSG (or) return 0

     ttdt_file_quit status patterns quit

	This command destroys the message patterns specified by
	the patterns argument, and also unregisters interest in
	the pathname that was passed to the ttdt_file_join com-
	mand if quit is set to True; the patterns argument should
	be the value returned by a call to the ttdt_file_join
	command.

     ttdt_file_event status op patterns send

	This command creates, and optionally sends, a ToolTalk
	notice announcing an event pertaining to a file.  The
	file is indicated by the pathname passed to the
	ttdt_file_join command when patterns was created.  The op
	argument indicates what should be announced for the indi-
	cated file, and can be set to TTDT_MODIFIED, TTDT_SAVED
	or TTDT_REVERTED.  If op is set to TTDT_MODIFIED, this
	command registers to handle Get_Modified, Save and Revert
	messages in the scope specified when the patterns was
	created.  If op is set to TTDT_SAVED or TTDT_REVERTED,
	this command unregisters from handling Get_Modified, Save
	and Revert messages for this file.  If the send argument
	is set to True, the indicated message is sent.

     ttdt_Get_Modified pathName scope timeout

	This commands sends a Get_Modified request in the indi-
	cated scope, and waits for a reply, or for the specified
	timeout (in milliseconds) to elapse.  It returns a value
	that can be used in a conditional.  A value of True is
	returned if an affirmative reply is received within the
	specified timeout; otherwise, False is returned.

     ttdt_Save status pathName scope timeout

	This command sends a Save request in the indicated scope,
	and waits for a reply, or for the indicated timeout (in
	milliseconds) to elapse.  A status of TT_OK is returned

Unix System LaboratoLast change: 1 August 1995		       37

dtksh(1)		 USER COMMANDS			 dtksh(1)

	if an affirmative reply is received before the timeout
	elapses; otherwise, a Tt_status error value is returned.

     ttdt_Revert status pathName scope timeout

	This command sends a Revert request in the indicated
	scope, and waits for a reply, or for the indicated
	timeout (in milliseconds) to elapse.  A status of TT_OK
	is returned if an affirmative reply is received before
	the timeout elapses; otherwise, a Tt_status error value
	is returned.

     The following commands are typically used by the callback
     registered with the ttdt_file_join command.  They serve as
     the mechanism for consuming and destroying a message.  A
     message is consumed by either rejecting, failing or replying
     to it.  The tt_error_pointer is used by the callback to get
     a return pointer for indicating an error condition.

     tt_error_pointer variable ttStatus

	This command returns a magic value, which is used by
	ToolTalk to represent an invalid pointer.  The magic
	value returned depends on the ttStatus value passed in.
	Any of the valid Tt_status values can be specified.

     tttk_message_destroy status msg

	This command destroys any patterns that may have been
	stored on the message indicated by the msg argument, and
	then it destroys the message.

     tttk_message_reject status msg msgStatus msgStatusString
     destroy

	This command sets the status and the status string for
	the indicated request message, and then rejects the mes-
	sage.  It then destroys the passed-in message if the des-
	troy argument is set to True.  This command is one way in
	which the callback specified with the ttdt_file_join com-
	mand consumes a message.  After rejecting the message, it
	is typically safe to destroy the message using
	tttk_message_destroy.

     tttk_message_fail status msg msgStatus msgStatusString des-
     troy

	This command sets the status and the status string for
	the indicated request message, and then it fails the mes-
	sage.  It destroys the passed-in message if the destroy
	argument is set to True.  This command is one way in
	which the callback specified with the ttdt_file_join

Unix System LaboratoLast change: 1 August 1995		       38

dtksh(1)		 USER COMMANDS			 dtksh(1)

	command consumes a message.  After failing the message,
	it is typically safe to destroy the message, using
	tttk_message_destroy.

     tt_message_reply status msg

	This command informs the ToolTalk service that the shell
	script has handled the message specified by the msg argu-
	ment.  After replying to a message, it is typically safe
	to destroy the message using the tttk_message_destroy
	command.

  Listing Widget Information
     The DtWidgetInfo command provides the shell programmer a
     mechanism for obtaining information about the current set of
     instantiated widgets and their resources; the information is
     written to the standard output.  This provides useful debug-
     ging information by including:

	o  The list of instantiated widgets, including:	 the
	   name, class and parent of the widget; a handle for the
	   widget; the name of the environment variable supplied
	   when the widget was created; the state of the widget.

	o  The list of resources supported by a particular widget
	   class.

	o  The list of constraint resources supported by a par-
	   ticular widget class.

     DtWidgetInfo is called by using any of the following syn-
     taxes; all of the arguments are optional:

     DtWidgetInfo [widgetHandle | widgetName]

	If no arguments are supplied, information about all
	existing widgets is written to standard output; the
	information includes the name, the handle, the environ-
	ment variable, the parent, the widget class and the
	state.	If arguments are supplied, they should be either
	widget handles, or the names of existing widgets; in this
	case, the information is written only for the requested
	set of widgets.

     DtWidgetInfo -r [widgetHandle | widgetClass]

	If no arguments are supplied, the list of supported
	resources is written to standard output for all available
	widget classes.	 If arguments are supplied, they should
	be either widget handles, or the widget class names; in
	this case, the information is written only for the
	requested set of widgets or widget classes.

Unix System LaboratoLast change: 1 August 1995		       39

dtksh(1)		 USER COMMANDS			 dtksh(1)

     DtWidgetInfo -R [widgetHandle | widgetClass]

	If no arguments are supplied, the list of supported con-
	straint resources, if any, is written to standard output
	for all available widget classes.  If arguments are sup-
	plied, they should be either widget handles, or the
	widget class names; in this case, the information is
	written only for the requested set of widgets or widget
	classes.

     DtWidgetInfo -c [widgetClass]

	If no arguments are supplied, the list of supported
	widget class names is written to standard output.  If
	arguments are supplied, dtksh writes the widget class
	name (if it is defined); otherwise, it writes an error
	message to standard error.

     DtWidgetInfo -h [widgetHandle]

	If no arguments are supplied, the list of active widget
	handles is written to standard output.	If arguments are
	supplied, they should represent widget handles, in which
	case the name of the associated widget is written to
	standard output.

  Convenience Functions
     The TED system includes a file of dtksh convenience func-
     tions.  This file is itself a shell script containing shell
     functions that may be useful to a shell programmer.  The
     shell functions perform frequently used operations.  These
     include functions for quickly creating certain kinds of dia-
     logs (help, error, warning and so on), and a function for
     easily creating a collection of buttons and functions that
     make it easier to configure the constraint resources for a
     child of a form widget.  It is not a requirement that shell
     script writers use these convenience functions; they are
     supplied to make it easier for developers to write shorter
     and more readable shell scripts.

     Before a shell script can access these functions, the shell
     script must first include the file containing the conveni-
     ence functions.  The convenience functions are located in
     the file /usr/dt/lib/dtksh/DtFuncs.dtsh, and are included in
     a shell script using the following notation:

	  . /usr/dt/lib/dtksh/DtFuncs.dtsh

  DtkshAddButtons
     This convenience function adds one or more buttons of the
     same kind into a composite widget.	 Most frequently, it is
     used to add a collection of buttons into a menupane or

Unix System LaboratoLast change: 1 August 1995		       40

dtksh(1)		 USER COMMANDS			 dtksh(1)

     menubar.

     DtkshAddButtons parent widgetClass label1 callback1 [label2
     callback2 ...]

     DtkshAddButtons [-w] parent widgetClass variable1 label1
     callback1 [variable2 label2 callback2 ...]

     The -w option indicates that the convenience function should
     return the widget handle for each of the buttons it creates.
     The widget handle is returned in the specified environment
     variable.	The widgetClass argument can be set to any one of
     the following, and defaults to XmPushButtonGadget, if not
     specified:

	  XmPushButton
	  XmPushButtonGadget
	  XmToggleButton
	  XmToggleButtonGadget
	  XmCascadeButton
	  XmCascadeButtonGadget

     Examples:

	  DtkshAddButtons $MENU XmPushButtonGadget Open do_Open Save \
	      do_Save Quit exit

	  DtkshAddButtons -w $MENU XmPushButtonGadget B1 Open \
	      do_Open B2 Save do_Save

  DtkshSetReturnKeyControls
     This convenience function configures a text widget (within a
     form widget), so the <carriage-return> key does not activate
     the default button within the form.  Instead, the
     <carriage-return> key moves the focus to the next text
     widget within the form.  This is useful if a window, con-
     taining a series of text widgets and the default button,
     should not be activated until the user presses the
     <carriage-return> key while the focus is in the last text
     widget.

     DtkshSetReturnKeyControls textWidget nextTextWidget
     formWidget defaultButton

     The textWidget argument specifies the widget to be config-
     ured so it catches the <carriage-return> key, and forces the
     focus to move to the next text widget (as indicated by the
     nextTextWidget argument).	The formWidget argument specifies
     the form containing the default button, and must be the
     parent of the two text widgets.  The defaultButton argument
     indicates which component to treat as the default button
     within the form widget.

Unix System LaboratoLast change: 1 August 1995		       41

dtksh(1)		 USER COMMANDS			 dtksh(1)

     Examples:

	  DtkshSetReturnKeyControls $TEXT1 $TEXT2 $FORM $OK

	  DtkshSetReturnKeyControls $TEXT2 $TEXT3 $FORM $OK

  DtkshUnder, DtkshOver, DtkshRightOf, DtkshLeftOf
     These convenience functions simplify the specification of
     certain classes of form constraints.  They provide a con-
     venient way of attaching a component to one edge of another
     component.	 They are used when constructing the resource
     list for a widget.	 This behavior is accomplished using the
     ATTACH_WIDGET constraint.

     DtkshUnder widgetId [offset]

     DtkshOver widgetId [offset]

     DtkshRightOf widgetId [offset]

     DtkshLeftOf widgetId [offset]

     The widgetId argument specifies the widget to which the
     current component is to be attached.  The offset value is
     optional, and defaults to zero, if not specified.

     Example:

	  XtCreateManagedWidget BUTTON4 button4 pushButton $FORM \
	      labelString:"Exit" $(DtkshUnder $BUTTON2) \
	      $(DtkshRightOf $BUTTON3)

  DtkshFloatRight, DtkshFloatLeft, DtkshFloatTop, DtkshFloatBot-
     tom
     These convenience functions simplify the specification of
     certain classes of form constraints.  They provide a con-
     venient way of positioning a component, independent of the
     other components within the form.	As the form grows or
     shrinks, the component maintains its relative position
     within the form.  The component may still grow or shrink,
     depending on the other form constraints specified for the
     component.	 This behavior is accomplished using the
     ATTACH_POSITION constraint.

     DtkshFloatRight [position]

     DtkshFloatLeft [position]

     DtkshFloatTop [position]

     DtkshFloatBottom [position]

Unix System LaboratoLast change: 1 August 1995		       42

dtksh(1)		 USER COMMANDS			 dtksh(1)

     The optional position argument specifies the relative posi-
     tion to which the indicated edge of the component is posi-
     tioned.  A default position is used, if one is not speci-
     fied.

     Example:

	  XtCreateManagedWidgetBUTTON1 button1 pushButton \
	      $FORM labelString:"Ok" $(DtkshUnder $SEPARATOR) \
	      $(DtkshFloatLeft 10) $(DtkshFloatRight 40)

  DtkshAnchorRight, DtkshAnchorLeft, DtkshAnchorTop, DtkshAnchor-
     Bottom
     These convenience functions simplify the specification of
     certain classes of form constraints.  They provide a con-
     venient way of attaching a component to one of the edges of
     a form widget in such a fashion that, as the form grows or
     shrinks, the component's position does not change.	 However,
     depending on the other form constraints set on this com-
     ponent, the component may still grow or shrink in size.
     This behavior is accomplished using the ATTACH_FORM con-
     straint.

     DtkshAnchorRight [offset]

     DtkshAnchorLeft [offset]

     DtkshAnchorTop [offset]

     DtkshAnchorBottom [offset]

     The optional offset argument specifies how far from the edge
     of the form widget the component should be positioned.  If
     an offset is not specified, zero is used.

     Example:

	  XtCreateManagedWidget BUTTON1 button1 pushButton \
	      $FORM labelString:"Ok" $(DtkshUnder $SEPARATOR) \
	      $(DtkshAnchorLeft 10) $(DtkshAnchorBottom 10)

  DtkshSpanWidth, DtkshSpanHeight
     These convenience functions simplify the specification of
     certain classes of form constraints.  They provide a con-
     venient way of configuring a component such that it spans
     either the full height or width of the form widget.  This
     behavior is accomplished by attaching two edges of the com-
     ponent (top and bottom for DtkshSpanHeight, and left and
     right for DtkshSpanWidth) to the form widget.  The component
     typically resizes whenever the form widget is resized.  The
     ATTACH_FORM constraint is used for all attachments.

Unix System LaboratoLast change: 1 August 1995		       43

dtksh(1)		 USER COMMANDS			 dtksh(1)

     DtkshSpanWidth [leftOffset rightOffset]

     DtkshSpanHeight [topOffset bottomOffset]

     The optional offset arguments specify how far from the edges
     of the form widget the component should be positioned.  If
     an offset is not specified, zero is used.

     Example:

	  XtCreateManagedWidget SEP sep separator $FORM $(DtkshSpanWidth 1 1)

  DtkshDisplayInformationDialog, DtkshDisplayQuestionDialog,
     DtkshDisplayWarningDialog, DtkshDisplayWorkingDialog,
     DtkshDisplayErrorDialog
     These convenience functions create a single instance of each
     of the Motif feedback dialogs.  If an instance of the
     requested type of dialog already exists, it is reused.  The
     parent of the dialog is obtained from the environment vari-
     able, TOPLEVEL, which should be set by the calling shell
     script, and then should not be changed.  The handle for the
     requested dialog is returned in one of the following
     environment variables:

	  DTKSH_ERROR_DIALOG_HANDLE
	  DTKSH_QUESTION_DIALOG_HANDLE
	  DTKSH_WORKING_DIALOG_HANDLE
	  DTKSH_WARNING_DIALOG_HANDLE
	  DTKSH_INFORMATION_DIALOG_HANDLE

     When attaching callbacks to the dialog buttons, the applica-
     tion should not destroy the dialog; it should simply
     unmanage the dialog so that it can be used again later.  If
     it is necessary to destroy the dialog, the associated
     environment variable should also be cleared, so the conveni-
     ence function does not attempt to reuse the dialog.

     DtkshDisplay*Dialog title message [okCallback closeCallback
     \	   helpCallback dialogStyle]

     The Ok button is always managed, and by default unmanages
     the dialog.  The Cancel and Help buttons are only managed
     when a callback is supplied for them.  The dialogStyle argu-
     ment accepts any of the standard resource settings supported
     by the associated bulletin board resource.

     Example:

     DtkshDisplayErrorDialog "Read Error" "Unable to read the file" \
	 "OkCallback" "CancelCallback" "" DIALOG_PRIMARY_APPLICATION_MODAL

Unix System LaboratoLast change: 1 August 1995		       44

dtksh(1)		 USER COMMANDS			 dtksh(1)

  DtkshDisplayQuickHelpDialog, DtkshDisplayHelpDialog
     These convenience functions create a single instance of each
     of the help dialogs.  If an instance of the requested type
     of help dialog already exists, it is reused.  The parent of
     the dialog is obtained from the environment variable,
     TOPLEVEL, which should be set by the calling shell script,
     and then should not be changed.  The handle for the
     requested dialog is returned in one of the following
     environment variables:

	  DTKSH_HELP_DIALOG_HANDLE
	  DTKSH_QUICK_HELP_DIALOG_HANDLE

     If it is necessary to destroy a help dialog, the application
     should also clear the associated environment variable, so
     that the convenience function does not attempt to reuse the
     dialog.

     DtkshDisplay*HelpDialog title helpType helpInformation
     [locationId]

     The meaning of the arguments depends on the value specified
     for the helpType argument.	 The meanings are explained in
     the following table:
	 helpType	    helpInformation	     locationId
 ____________________________________________________________________
 HELP_TYPE_DYNAMIC_STRING   help string	       <not used>
 HELP_TYPE_FILE		    help file name     <not used>
 HELP_TYPE_MAN_PAGE	    manual page name   <not used>
 HELP_TYPE_STRING	    help string	       <not used>
 HELP_TYPE_TOPIC	    help volume name   help topic location ID
 ____________________________________________________________________

     Example:

	  DtkshDisplayHelpDialog "Help On Dtksh" HELP_TYPE_FILE "helpFileName"

  Dtksh App-Defaults File
     The dtksh app-defaults file, named dtksh, is in a location
     based on the following path description:

	  /usr/dt/app-defaults/<LANG>

     The only information contained in this app-defaults file is
     the inclusion of the standard desktop base app-defaults
     file.  The contents of the dtksh app-defaults file is as
     follows:

	  #include "Dt"

  Non-String Values
     The C bindings of the interfaces to X, Xt and Motif include

Unix System LaboratoLast change: 1 August 1995		       45

dtksh(1)		 USER COMMANDS			 dtksh(1)

     many non-string values defined in headers.	 For example, the
     constraint values for a child of a form widget are declared,
     such as XmATTACH_FORM, with an Xt or Xm prefix followed by a
     descriptive name.	Equivalent values are specified in dtksh
     by omitting the prefix, just as in an app-defaults file.
     For example:  XmDIALOG_COMMAND_TEXT becomes
     DIALOG_COMMAND_TEXT; XtATTACH_FORM becomes ATTACH_FORM.

     A Boolean value can be specified as an argument to a dtksh
     command using the words True or False; case is not signifi-
     cant.

  Return Values From Built-in Commands
     Graphical commands in dtksh fall into one of four
     categories, based on the definition of the corresponding C
     function in a windowing library:

	1. The function returns no values.  Example:
	   XtMapWidget.

	2. The function is void, but returns one or more values
	   through reference arguments.	 Example:  XmGetColors.

	3. The function returns a non-Boolean value.  Example:
	   XtCreateManagedWidget.

	4. The function returns a Boolean value.  Example:
	   XtIsSensitive.

     A category 1 command follows the calling sequence of its
     corresponding C function exactly; the number and order of
     arguments can be determined by looking at the standard docu-
     mentation for the function.  Example:

	  XtMapWidget $FORM

     A category 2 command also generally follows the calling
     sequence as its corresponding C function.	Where a C caller
     would pass in a pointer to a variable in which a value is
     returned, the dtksh command returns a value in an environ-
     ment variable.  Example:

	  XmGetColors $FORM $BG FOREGROUND TOPSHADOW BOTTOMSHADOW SELECT
	  echo "Foreground color = " $FOREGROUND

     A category 3 command differs slightly from its corresponding
     C function.  Where the C function returns its value as the
     value of the procedure call, a dtksh command requires an
     additional argument, which is always the first argument, and
     is the name of an environment variable into which the return
     value is placed.  Example:

Unix System LaboratoLast change: 1 August 1995		       46

dtksh(1)		 USER COMMANDS			 dtksh(1)

	  XmTextGetString TEXT_VALUE $TEXT_WIDGET
	  echo "The value of the text field is "$TEXT_VALUE

     A category 4 command returns a Boolean value that can be
     used in a conditional expression, just as with the
     corresponding C function.	If the C function also returns
     values through reference variables (as in category 2), the
     dtksh command also uses variable names for the corresponding
     arguments.	 Example:

	  if XmIsTraversable $PUSH_BUTTON; then
	      echo "The pushbutton is traversable"
	  else
	      echo "The pushbutton is not traversable"
	  fi

     Generally, the order and type of arguments passed to a com-
     mand matches those passed to the corresponding C function,
     except as noted for category 3 commands.  Other exceptions
     are described in the applicable command descriptions.

  Widget Handles
     Where a C function returns a widget handle, the correspond-
     ing dtksh commands set an environment variable equal to the
     widget handle.  These are category 3 commands; they take as
     one of their arguments the name of an environment variable
     in which to return the widget handle.  (This is an ASCII
     string used by dtksh to access the actual widget pointer.)
     For example, either of the following commands could be used
     to create a new form widget; in both cases, the widget han-
     dle for the new form widget is returned in the environment
     variable FORM:

	  XtCreateManagedWidget FORM name XmForm $PARENT

	  XmCreateForm FORM $PARENT name

     After either of the above commands, $FORM can be used to
     reference the form widget.	 For instance, to create a label
     widget within the form widget just created, the following
     command could be used:

	  XmCreateLabel LABEL $FORM namelabelString:"Hi Mom" \
	      topAttachment:ATTACH_FORM leftAttachment:ATTACH_FORM

     There is a special widget handle called NULL, provided for
     cases where a shell script may need to specify a NULL
     widget.  For example, the following disables the defaultBut-
     ton resource for a form widget:

	  XtSetValues $FORM defaultButton:NULL

Unix System LaboratoLast change: 1 August 1995		       47

dtksh(1)		 USER COMMANDS			 dtksh(1)

  Widget Resources
     Some of the Xt and Motif commands allow the shell script to
     pass in a variable number of arguments, representing
     resource and value pairs.	This is similar to the arglist
     passed in to the corresponding Xt or Motif C function.
     Examples of these commands include any of the commands used
     to create a widget, and the XtSetValues command.  In dtksh,
     resources are specified by a string with the following syn-
     tax:  resource:value.

     The name of the resource is given in the resource portion of
     the string; it is constructed by taking the corresponding Xt
     or Motif resource name and omitting the Xt or Xm prefix.
     The value to be assigned to the resource is given in the
     value portion of the string.  The dtksh utility automati-
     cally converts the value string to an appropriate internal
     representation.  For example:

	  XtSetValues $WIDGET height:100 width:200 resizePolicy:RESIZE_ANY
	  XmCreateLabel LABEL $PARENT myLabel labelString:"Close Dialog"

     When widget resources are retrieved using XtGetValues, the
     return value has the same syntax.	For example:

	  XtGetValues $WIDGET height:HEIGHT resizePolicy:POLICY \
	      sensitive:SENSITIVE
	  echo $HEIGHT
	  echo $POLICY
	  echo $SENSITIVE

     Certain types of resource values have special representa-
     tion.  These include string tables and bit masks.	For
     instance, the XmList widget allows a string table to be
     specified both for the items and the selectedItems
     resources.	 In dtksh, a string table is represented as a
     comma-separated list of strings, which is compatible with
     how Motif handles them from a resource file.  When a
     resource that returns a string table is queried using
     XtGetValues(3X), the resulting value is again a comma-
     separated set of strings.	A resource that expects a bit
     mask value to be passed in, expects the mask to be specified
     as a string composed of the various mask values separated by
     the ``|'' character.  When a resource that returns a bit
     mask is queried, the return value also is a string
     representing the enabled bits, separated by the ``|'' char-
     acter.  For example, the following sets the mwmFunctions
     resource for the VendorShell widget class:

	  XtSetValues mwmFunctions MWM_FUNC_ALL|MWM_FUNC_RESIZE

  Unsupported Resources
     The dtksh utility supports most of the resources provided by

Unix System LaboratoLast change: 1 August 1995		       48

dtksh(1)		 USER COMMANDS			 dtksh(1)

     Motif; however, there are certain resources that dtksh does
     not support.  The list of unsupported resources follows.
     Several of these resources can be specified at widget crea-
     tion time by using XtSetValues, but cannot be retrieved
     using XtGetValues; these are indicated by the asterisk (*)
     following the resource name.

	All Widget And Gadget Classes:
	      Any font list resource (*)
	      Any pixmap resource (*)

	Composite:
	      insertPosition
	      children

	Core:
	      accelerators
	      translations (*)
	      colormap

	XmText:
	      selectionArray
	      selectionArrayCount

	ApplicationShell:
	      argv

	WMShell:
	      iconWindow
	      windowGroup

	Shell:
	      createPopupChildrenProc

	XmSelectionBox:
	      textAccelerators

	Manager, Primitive and Gadget Subclasses:
	      userData

	XmFileSelectionBox:
	      dirSearchProc
	      fileSearchProc
	      qualifySearchDataProc

EXIT STATUS
     See sh(1).

CONSEQUENCES OF ERRORS
     See sh(1).

Unix System LaboratoLast change: 1 August 1995		       49

dtksh(1)		 USER COMMANDS			 dtksh(1)

APPLICATION USAGE
  Initializing The Toolkit Environment
     Before any of the Xlib, Xt or Motif commands can be invoked,
     the shell script must first initialize the Xt toolkit by
     invoking the XtInitialize command, which returns an applica-
     tion shell widget.	 XtInitialize, as with all of the com-
     mands that return a widget handle, returns the widget handle
     in the environment variable named in its first argument.
     For example:

	  XtInitialize TOPLEVEL myShellName Dtksh $0$@

     Shell script writers should invoke the XtInitialize command
     as one of the first commands within a dtksh shell script.
     This allows dtksh to locate its message catalog and the
     correct app-defaults file.	 If a shell error occurs before
     XtInitialize has been called, it is possible that unlocal-
     ized error messages may be displayed.  The dtksh utility
     provides a default app-defaults file to use if the call to
     XtInitialize specifies an application class name of Dtksh.
     This app-defaults file loads in the standard set of desktop
     application default values, so that these applications have
     a consistent look with other desktop applications.

  Responding to a Window Manager Close Notice
     When the user selects the Close item on the window manager
     menu for an application, the application is terminated
     unless it has arranged to catch the Close notification.
     Multiple windows managed by the application disappear, and
     application data may be left in an undesirable state.  To
     avoid this, dtksh provides for catching and handling the
     Close notification.  The application must:

	o  Define a procedure to handle the Close notification

	o  Request notification when Close is selected and over-
	   ride the response, so the application is not shut down

     The following code illustrates this processing:

	  # This is the `callback' invoked when the user selects
	  # the `Close' menu item
	  WMCallback()
	  {
	      echo "User has selected the Close menu item"
	  }

	  # Create the toplevel application shell
	  XtInitialize TOPLEVEL test Dtksh "$@"
	  XtDisplay DISPLAY $TOPLEVEL
	  # Request notification when the user selects the `Close'
	  # menu item

Unix System LaboratoLast change: 1 August 1995		       50

dtksh(1)		 USER COMMANDS			 dtksh(1)

	  XmInternAtom DELETE_ATOM $DISPLAY "WM_DELETE_WINDOW" false
	  XmAddWMProtocolCallback $TOPLEVEL $DELETE_ATOM "WMCallback"

	  # Ask Motif to not automatically close down your
	  # application window
	  XtSetValues $TOPLEVEL deleteResponse:DO_NOTHING

  Responding to a Session Management Save State Notice
     Session management facilities allow applications to save
     their current state when the user terminates the current
     session, so that when the user later restarts the session,
     an application returns to the state it was in.  In dtksh
     this is accomplished by setting up a handler analogously to
     handling a Close notification.  If no such handler is set
     up, the application has to be restarted manually in the new
     session, and does not retain any state.  To set up a handler
     to save state, the application must do the following:

	o  Define functions to save state at end-of-session, and
	   restore it on start-up.

	o  Register interest in the session management notifica-
	   tion.

	o  Register the function to save state.

	o  Determine if saved state should be restored at start-
	   up.

     The following code illustrates this process:

     #! /usr/dt/bin/dtksh
     # Function invoked when the session is being ended by the user
     SessionCallback()
     {
	 # Get the name of the file into which we should save our
	 # session information
	 if DtSessionSavePath $TOPLEVEL PATH SAVEFILE; then
	     exec 9>$PATH
	     # Save off whether we are currently in an iconified state
	     if DtShellIsIconified $TOPLEVEL ; then
		 print -u9 `Iconified'
	     else
		 print -u9 `Deiconified'
	     fi

	     # Save off the list of workspaces we currently reside in
	     if DtWsmGetWorkspacesOccupied $(XtDisplay "-" $TOPLEVEL)
		     $(XtWindow "-" $TOPLEVEL)
		     CURRENT_WS_LIST ;
	     then
		 # Map the comma-separated list of atoms into
		 # their string representation

Unix System LaboratoLast change: 1 August 1995		       51

dtksh(1)		 USER COMMANDS			 dtksh(1)

		 oldIFS=$IFS
		 IFS=","
		 for item in $CURRENT_WS_LIST;
		 do
		     XmGetAtomName NAME $(XtDisplay "-" $TOPLEVEL)
			 $item
		     print -u9 $NAME
		 done
		 IFS=$oldIFS
	     fi

	     exec 9<&-
	     # Let the session manager know how to invoke us when
	     # the session is restored
	     DtSetStartupCommand $TOPLEVEL
		 "/usr/dt/contrib/dtksh/SessionTest $SAVEFILE"
	 else
	     echo "DtSessionSavePath FAILED!!"
	     exit -3
	 fi
     }

     # Function invoked during a restore session; restores the
     # application to its previous state
     RestoreSession()
     {
	 # Retrieve the path where our session file resides
	 if DtSessionRestorePath $TOPLEVEL PATH $1; then
	     exec 9<$PATH
	     read -u9 ICONIFY
	     # Extract and restore our iconified state
	     case $ICONIFY in
		 Iconified) DtSetIconifyHint $TOPLEVEL True;;
		 *) DtSetIconifyHint $TOPLEVEL False;
	      esac

	     # Extract the list of workspaces we belong in, convert
	     # them to atoms, and ask the workspace manager to relocate
	     # us to those workspaces
	     WS_LIST=""
	     while read -u9 NAME
	     do
		 XmInternAtom ATOM $(XtDisplay "-" $TOPLEVEL)
			 $NAME False
		 if [ ${#WS_LIST} -gt 0 ]; then
		     WS_LIST=$WS_LIST,$ATOM
		 else
		     WS_LIST=$ATOM
		 fi
	     done
	     DtWsmSetWorkspacesOccupied $(XtDisplay "-" $TOPLEVEL)
		     $(XtWindow "-" $TOPLEVEL) $WS_LIST

Unix System LaboratoLast change: 1 August 1995		       52

dtksh(1)		 USER COMMANDS			 dtksh(1)

	     exec 9<&-
	  else
	     echo "DtSessionRestorePath FAILED!!"
	     exit -3
	 fi
     }
     ################## Create the Main UI #######################
     XtInitialize TOPLEVEL wmProtTest Dtksh "$@"
     XtCreateManagedWidget DA da XmDrawingArea $TOPLEVEL
     XtSetValues $DA height:200 width:200
     XmInternAtom SAVE_SESSION_ATOM $(XtDisplay "-" $TOPLEVEL)
	     "WM_SAVE_YOURSELF" False

     # If a command-line argument was supplied, then treat it as the
     # name of the session file
     if (( $# > 0))
     then
	 # Restore to the state specified in the passed-in session file
	 XtSetValues $TOPLEVEL mappedWhenManaged:False
	 XtRealizeWidget $TOPLEVEL
	 XSync $(XtDisplay "-" $TOPLEVEL) False
	 RestoreSession $1
	 XtSetValues $TOPLEVEL mappedWhenManaged:True
	 XtPopup $TOPLEVEL GrabNone
     else
	 # This is not a session restore, so come up in the default state
	 XtRealizeWidget $TOPLEVEL
	 XSync $(XtDisplay "-" $TOPLEVEL) False
     fi
     # Register the fact that we are interested in participating in
     # session management
     XmAddWMProtocols $TOPLEVEL $SAVE_SESSION_ATOM
     XmAddWMProtocolCallback $TOPLEVEL $SAVE_SESSION_ATOM
		 SessionCallback

     XtMainLoop

  Cooperating with WorkSpace Management
     The dtksh utility provides access to all of the major
     workspace management functions of the desktop libraries,
     including functions for:

	o  Querying and setting the set of workspaces with which
	   an application is associated.

	o  Querying the list of all workspaces.

	o  Querying and setting the current workspace.

	o  Requesting that an application be notified any time
	   the user changes to a different workspace.

Unix System LaboratoLast change: 1 August 1995		       53

dtksh(1)		 USER COMMANDS			 dtksh(1)

     From a user's perspective, workspaces are identified by a
     set of names, but from the workspace manager's perspective,
     workspaces are identified by X atoms.  Whenever the shell
     script asks for a list of workspace identifiers, a string of
     X atoms is returned; if more than one X atom is present, the
     list is comma-separated.

     The workspace manager expects that the shell script uses the
     same format when passing workspace identifiers back to it.
     During a given session, it is safe for the shell script to
     work with the X atoms since they remain constant over the
     lifetime of the session.  However, as was shown in the Ses-
     sion Management shell script example, if the shell script is
     going to save and restore workspace identifiers, the
     workspace identifiers must be converted from their X atom
     representation to a string before they are saved.	Then,
     when the session is restored, the shell script needs to
     remap the names into X atoms before passing the information
     on to the workspace manager.  Mapping between X atoms and
     strings and between strings and X atoms uses the following
     two commands:

	  XmInternAtom ATOM $DISPLAY $WORKSPACE_NAME false
	  XmGetAtomName NAME $DISPLAY $ATOM

  Creating Localized Shell Scripts
     Scripts written for dtksh are internationalized, and then
     localized, in a process very similar to C applications.  All
     strings that may be presented to the user are identified in
     the script; a post-processor extracts the strings from the
     script, and from them builds a catalog, which can then be
     translated to any desired locale.	When the script executes,
     the current locale determines which message catalog is
     searched for strings to display.  When a string is to be
     presented, it is identified by a message-set ID (correspond-
     ing to the catalog), and a message number within the set;
     these values determine what text the user sees.  The follow-
     ing code illustrates the process:

	  # Attempt to open our message catalog
	  catopen MSG_CAT_ID "myCatalog.cat"

	  # The localized button label is in set 1, and is message # 2
	  XtCreatePushButton OK $PARENT ok
	  labelString:$(catgets $MSG_CAT_ID 1 2 "OK")
	  # The localized button label is in set 1, and is message #3
	  XtCreatePushButton CANCEL $PARENT cancel
	  labelString:$(catgets $MSG_CAT_ID 1 3 "Cancel")

	  # Close the message catalog, when no longer needed
	  catclose $MSG_CAT_ID

Unix System LaboratoLast change: 1 August 1995		       54

dtksh(1)		 USER COMMANDS			 dtksh(1)

     The file descriptor returned by catopen must be closed using
     catclose, and not using the sh exec command.

  Using the dtksh Utility to Access X Drawing Functions
     The commands of the dtksh utility include standard Xlib
     drawing functions to draw lines, points, segments, rectan-
     gles, arcs and polygons.  In the standard C programming
     environment, these functions take a graphics context, or GC
     as an argument, in addition to the drawing data.  In dtksh
     drawing functions, a collection of GC options are specified
     in the argument list to the command.  By default, the draw-
     ing commands create a GC that is used for that specific com-
     mand and then discarded.  If the script specifies the -gc
     option, the name of the graphics context object can be
     passed to the command; this GC is used in interpreting the
     command, and the variable is updated with any modifications
     to the GC performed by the command.

	-gc GC
	      GC is the name of an environment variable that has
	      not yet been initialized, or which has been left
	      holding a graphic context by a previous drawing
	      command.	If this option is specified, it must be
	      the first GC option specified.

	-foreground color
	      Foreground color, which can be either the name of a
	      color or a pixel number.

	-background color
	      Background color, which can be either the name of a
	      color or a pixel number.

	-font font name
	      Name of the font to be used.

	-line_width number
	      Line width to be used during drawing.

	-function drawing function
	      Drawing function, which can be any of the follow-
	      ing:  xor, or, clear, and, copy, noop, nor, nand,
	      set, invert, equiv, andReverse, orReverse or copy-
	      Inverted.

	-line_style style
	      Line style, which can be any of the following:
	      LineSolid, LineDoubleDash or LineOnOffDash.

  Setting Widget Translations:
     The dtksh utility provides mechanisms for augmenting, over-
     riding and removing widget translations, much as in the C

Unix System LaboratoLast change: 1 August 1995		       55

dtksh(1)		 USER COMMANDS			 dtksh(1)

     programming environment.  In C, an application installs a
     set of translation action procedures, which can then be
     attached to specific sequences of events (translations are
     composed of an event sequence and the associated action pro-
     cedure).  Translations within dtksh are handled in a similar
     fashion, except only a single action procedure is available.
     This action procedure, named ksh_eval, interprets any argu-
     ments passed to it as dtksh commands, and evaluates them
     when the translation is triggered.	 The following shell
     script segment gives an example of how translations can be
     used:

	  BtnDownProcedure()
	  {
	    echo "Button Down event occurred in button "$1
	  }
	  XtCreateManagedWidget BUTTON1 button1 XmPushButton $PARENT
	    labelString:"Button 1"
	    translations:'#augment
		<EnterNotify>:ksh_eval("echo Button1 entered")
		<Btn1Down>:ksh_eval("BtnDownProcedure 1")'
	  XtCreateManagedWidget BUTTON2 button2 XmPushButton $PARENT
	    labelString:"Button 2"
	  XtOverrideTranslations $BUTTON2
		   '#override
		<Btn1Down>:ksh_eval("BtnDownProcedure 2")'

EXAMPLES
     None.

SEE ALSO
     sh(1).

Unix System LaboratoLast change: 1 August 1995		       56

[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server UnixWare

List of man pages available for UnixWare

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net