DtTerm(library call)

NAME
DtTerm — DtTerm widget class

SYNOPSIS

#include <Dt/Term.h>

DESCRIPTION

The DtTerm widget provides the core set of functionality needed to emulate an ANSI X3.64-1979 - and ISO 6429:1992(E)-style terminal, such as the DEC VT220. This functionality includes text rendering, scrolling, margin and tab support, escape sequence parsing and the low-level OS-specific interface required to allocate and configure a pty or STREAMS pseudo-terminal device and write the system's utmp device.

  Classes

The DtTerm widget inherits behavior and resources from the Core and XmPrimitive classes.

The class pointer is dtTermWidgetClass.

The class name is DtTerm.

  New Resources

The following table defines a set of widget resources used by the application to specify data. The application can also set the resource values for the inherited classes to set attributes for this widget. To reference a resource by name or by class in a .Xdefaults file, the application must remove the DtN or DtC prefix and use the remaining letters. To specify one of the defined values for a resource in a .Xdefaults file, the application must remove the Dt prefix and use the remaining letters (in either lower case or upper case, but including any underscores between words). The codes in the access column indicate if the given resource can be set at creation time (C), set by using XtSetValues (S), retrieved by using XtGetValues (G), or is not applicable (N/A).
DtTerm Resource
Set, Part 1 of 2
NameClassTypeDefaultAccess
DtNallowSendEventsDtCAllowSendEventsBooleanFalseCSG
DtNappCursorDefaultDtCAppCursorDefaultBooleanFalseCSG
DtNappKeypadDefaultDtCAppKeypadDefaultBooleanFalseCSG
DtNautoWrapDtCAutoWrapBooleanTrueCSG
DtNbackgroundIsSelectDtCBackgroundIsSelectBooleanFalseCG
DtNbaseHeightDtCBaseHeightint0G
DtNbaseWidthDtCBaseWidthint0G
DtNblinkRateDtCBlinkRateint250CSG
DtNc132DtCC132BooleanFalseCSG
DtNcharCursorStyleDtCCharCursorStyleunsigned charDtTERM_CHAR_CURSOR_BOXCSG
DtTerm Resource
Set, Part 2 of 2
NameClassTypeDefaultAccess
DtNcolumnsDtCColumnsshort80CSG
DtNconsoleModeDtCConsoleModeBooleanFalseCG
DtNemulationIDDtCEmulationIDString``DtTermWidget''CSG
DtNheightIncDtCHeightIncint0G
DtNinputVerifyCallbackDtCCallbackXtCallbackListNULLC
DtNjumpScrollDtCJumpScrollBooleanTrueCSG
DtNkshModeDtCKshModeBooleanFalseCSG
DtNloggingDtCLoggingBooleanFalseCSG
DtNmapOnOutputDtCMapOnOutputBooleanFalseCSG
DtNmapOnOutputDelayDtCMapOnOutputDelayint0CSG
DtNmarginBellDtCMarginBellBooleanFalseCSG
DtNmarginHeightDtCMarginHeightDimension2CSG
DtNmarginWidthDtCMarginWidthDimension2CSG
DtNnMarginBellDtCNMarginBellint10CSG
DtNoutputLogCallbackDtCCallbackXtCallbackListNULLC
DtNpointerBlankDtCPointerBlankBooleanFalseCSG
DtNpointerBlankDelayDtCPointerBlankDelayint2CSG
DtNpointerColorDtCForegroundStringdynamicCSG
DtNpointerColorBackgroundDtCBackgroundStringdynamicCSG
DtNpointerShapeDtCPointerShapeStringxtermCSG
DtNreverseWrapDtCReverseWrapBooleanFalseCSG
DtNrowsDtCRowsshort24CSG
DtNsaveLinesDtCSaveLinesstring4sCG
DtNshadowTypeDtCShadowTypeunsigned charDtSHADOW_INCSG
DtNstatusChangeCallbackDtCCallbackXtCallbackListNULLC
DtNsubprocessArgvDtCSubprocessArgvString *NULLCG
DtNsubprocessCmdDtCSubprocessCmdStringNULLCG
DtNsubprocessExecDtCSubprocessExecBooleanTrueCSG
DtNsubprocessLoginShellDtCSubprocessLoginShellBooleanFalseCG
DtNsubprocessPidDtCSubprocessPidint-1G
DtNsubprocessTerminationCallbackDtCCallbackXtCallbackListNULLC
DtNsubprocessTerminationCatchDtCSubprocessTerminationCatchBooleanTrueCSG
DtNsunFunctionKeysDtCSunFunctionKeysBooleanFalseCSG
DtNtermDeviceDtCTermDeviceint-1CG
DtNtermDeviceAllocateDtCTermDeviceAllocateBooleanTrueCG
DtNtermIdDtCTermIdString``vt220''CSG
DtNtermNameDtCTermNameString``dtterm''CSG
DtNtermSlaveNameDtCTermSlaveNameStringNULLCG
DtNttyModesDtCTtyModesStringNULLCSG
DtNuserBoldFontDtCUserBoldFontXmFontListdynamicCSG
DtNuserFontDtCUserFontXmFontListdynamicCSG
DtNverticalScrollBarDtCVerticalScrollBarWidgetNULLCSG
DtNvisualBellDtCVisualBellBooleanFalseCSG
DtNwidthIncDtCWidthIncint0G

allowSendEvents
    Specifies that the terminal emulator allow synthetic events (generated and sent by another application). Enabling this resource opens up a possible security hole.

appCursorDefault
    Specifies the initial cursor mode. If True, the cursor keys are initially in application mode. If False, the cursor keys are initially in cursor mode.

appKeypadDefault
    Specifies the initial keypad mode. If True, the keypad keys are initially in application mode. If False, the keypad keys are initially in numeric mode.

c132
    Specifies whether or not the DECCOLM escape sequence that switches between a 132- and 80-column window is honored.

consoleMode
    Specifies that output directed at /dev/console be directed instead to the terminal window. It is provided as a way to prevent output that would normally be displayed on the internal terminal emulator (ITE) from overwriting the X server's display. It is not provided as a general mechanism to direct the output from an arbitrary system's /dev/console to an arbitrary X server. Ownership of, and read-write permission for, /dev/console is required to redirect console output.

DtNautoWrap
    Specifies whether or not auto-wrap is initially enabled.

DtNbackgroundIsSelect
    Controls the background color. When False, the background color is the color specified. When True, the background color is the select color corresponding to the background and is constant with other Motif-based applications.

DtNbaseHeight
    Specifies the terminal window's base height. With this resource the application computes its base height for the shell widget, which then allows the window manager to provide appropriate sizing feedback to the user. The height of the terminal window is:

DtNbaseHeight + DtNrows ~ DtNheightInc

DtNbaseWidth
    Specifies the terminal window's base width. With this resource the application computes its base width for the shell widget, which then allows the window manager to provide appropriate sizing feedback to the user. The width of the terminal window is:

DtNbaseWidth + DtNcolumns ~ DtNwidthInc

DtNblinkRate
    Specifies the number of milliseconds the cursor is in the on and off states while blinking. A value of 250 blinks the cursor two times per second. A value of zero turns blinking off.

DtNc132
    This resource specifies whether or not the DECCOLM escape sequence should be honored.

DtNcharCursorStyle
    Specifies the text cursor shape. A DtTERM_CHAR_CURSOR_BOX value specifies a cursor the width and height of the base font's bounding box. A DtTERM_CHAR_CURSOR_BAR value specifies a cursor the width of the base font's bounding box, two pixels high, and drawn with its top on the baseline. The default is DtTERM_CHAR_CURSOR_BOX.

DtNcolumns
    Specifies the number of text columns in the terminal window. For additional information, see DtNbaseWidth.

DtNemulationID
    Specifies the string to which the TERMINAL_EMULATOR environment variable is set.

DtNheightInc
    Specifies the character cell height used as the height increment when calculating the size of the terminal window. For additional information, see DtNbaseHeight.

DtNinputVerifyCallback
    Specifies the list of callbacks called before the DtTerm widget sends text to the child process. The text may be generated either in response to keyboard input, selection or drag and drop. The DtTermInputVerifyCallbackStruct structure's address is passed to this callback. DtCR_TERM_INPUT_VERIFY is the reason set by the callback.

DtNjumpScroll
    Specifies that the DtTerm widget uses jump scrolling. Under jump scrolling, the screen may be scrolled more than one line at a time. This means faster screen updates when multiple lines of text are sent to the terminal. The maximum number of lines that may be jump scrolled is limited to the number of lines in the terminal window. The DtTerm widget guarantees that all lines are displayed.

DtNkshMode
    Enables ksh mode. With ksh mode, a key pressed with the extend modifier bit set generates an escape character followed by the character generated by the unextended keystroke. This option is provided for use with emacs(1) and the emacs command-line editor mode of ksh(1). It conflicts with the normal meta key use for generating extended single byte characters and for generating multi-byte Asian characters.

DtNmapOnOutput
    Indicates that the terminal widget map (de-iconify) itself upon subprocess output if it is unmapped (iconified). An initial period of time during which the terminal widget does not map itself upon subprocess output can be specified via the DtNmapOnOutputDelay resource.

DtNmapOnOutputDelay
    Specifies the number of seconds after start-up that the widget does not honor the DtNmapOnOutput resource. This allows for initial output (for example, shell prompts) to be sent to the terminal without auto-mapping the window. The default is zero (no delay).

DtNmarginBell
    Specifies whether or not the bell rings when the user types near the right margin. The distance from the right margin is specified by the nMarginBell resource.

DtNmarginHeight
    Specifies the height of the margin between the text and the top and bottom of the DtTerm widget's window.

DtNmarginWidth
    Specifies the width of the margin between the text and both sides of the DtTerm widget's window.

DtNnMarginBell
    Specifies the number of characters from the right margin at which the margin bell rings when enabled via the DtNmarginBell resource.

DtNoutputLogCallback
    Specifies the list of callbacks called when the widget receives text from the child process. DtTermOutputLogCallbackStruct is the structure type whose address is passed to this callback. DtCR_TERM_OUTPUT_LOG is the reason set by the callback.

DtNpointerBlank
    Indicates that the pointer cursor is in blanking mode. In this mode, the cursor turns on when the pointer is moved, and is blanked either after a selectable number of seconds or after keyboard input. The delay is set via the DtNpointerBlankDelay resource.

DtNpointerBlankDelay
    Specifies the number of seconds to wait after the pointer has stopped moving before blanking the pointer (see DtNpointerBlank ). A value of zero prevents the pointer from blanking until a key is pressed.

DtNpointerColor
    Specifies the foreground color the DtTerm widget uses for the terminal window's pointer (X11 cursor). The default is the terminal window's foreground color.

DtNpointerColorBackground
    Specifies the background color the DtTerm widget uses for the terminal window's pointer (X11 cursor). The default is the terminal window's background color.

DtNpointerShape
    Specifies the X cursor font character the DtTerm widget uses as the pointer cursor. The font character should be specified as a string from the include file, X11/cursorfont.h, with the leading XC_ removed. The default is xterm(1).

DtNreverseWrap
    Specifies whether or not reverse-wraparound is enabled.

DtNrows
    Specifies the number of rows of text in the terminal window. For additional information, see DtNbaseHeight.

DtNsaveLines
    Defines the number of lines in the terminal buffer beyond the length of the window. The resource value consists of a number followed by an optional suffix. If no suffix is included or the suffix is ``l'' (ell), the total length of the terminal buffer is the number plus the length of the terminal window. If the suffix is ``s,'' the total length of the terminal buffer is (the number plus one) times the length of the terminal window. The DtTerm widget tries to maintain the same buffer-to-window ratio when the window is resized larger.

DtNshadowType
    Specifies the type of shadow drawn around the terminal window. See the XmFrame(3) widget for supported shadow types.

DtNstatusChangeCallback
    Specifies the list of callbacks called when the DtTerm widget's status changes. Status changes include changes such as cursor position, caps lock state and insert char state. The DtTermStatusChangeCallbackStruct structure's address is passed to this callback. DtCR_TERM_STATUS_CHANGE is the reason the callback sends.

DtNsubprocessArgv
    Specifies the argument list passed to the subprocess if DtNsubprocessExec is True. If DtNsubprocessCmd is NULL, the first string of this argument is used as the name of the command to execute.

DtNsubprocessCmd
    Specifies the name of the command to run if DtNsubprocessExec is True. If DtNsubprocessExec is NULL, the first string of the DtNsubprocessArgv argument is used.

DtNsubprocessExec
    This resource specifies whether or not a subprocess is fork(2) and exec(2). If True, a subprocess is launched as specified via the DtNsubprocessArgv resource, if set, or the DtNsubprocessCmd resource, if set, or the SHELL environment variable, if set, or the default system shell.

DtNsubprocessloginShell
    Indicates that the starting shell be a login shell (that is, the first character of argv[0] be a dash), that tells the shell to read the system's profile and the user's .profile files (for ksh(1) and sh(1)) or the system's csh.login and the user's .login (for csh(1)

DtNsubprocessPid
    Supplies the process ID of the subprocess running in the terminal widget when DtNsubprocessExec is True.

DtNsubprocessTerminationCallback
    Supplies the list of callbacks called when the subprocess associated with the DtTerm widget exits. The DtTermSubprocessTerminationCallbackStruct structure's address is passed to this callback. DtCR_TERM_SUBPROCESS_TERMINATION is the reason the callback sends.

DtNsubprocessTerminationCatch
    Specifies whether or not the DtTerm widget installs a signal handler to catch the subprocess termination. If the application installs its own signal handler, the application must catch the subprocess termination and inform the DtTerm widget via the DtTermSubprocReap(3) function.

DtNsunFunctionKeys
    Specifies whether or not Sun Function Key escape sequences are generated for function keys instead of standard escape sequences.

DtNtermDevice
    Supplies the file descriptor for the master side of the pty or STREAMS pseudo-terminal device associated with the DtTerm widget.

DtNtermDeviceAllocate
    Specifies whether or not the DtTerm widget allocates a pty or STREAMS pseudo-terminal device, or uses the pseudo-terminal device passed to it via the DtNtermDevice resource.

DtNtermId
    Supplies the name the DtTerm widget uses to select the correct response to terminal ID queries. Valid values are vt100, vt101, vt102 and vt220.

DtNtermName
    Supplies the name the DtTerm widget uses in setting the TERM environment variable. The default is dtterm(1).

DtNtermSlaveName
    Supplies the name of the slave device of the pty or STREAMS pseudo-terminal device associated with the DtTerm widget. The DtTerm widget uses this resource to update the system's utmp entry associated with the subprocess.

DtNttyModes
    Specifies a string containing terminal-setting keywords and the characters to which they may be bound. Allowable keywords include: intr, quit, erase, kill, eof, eol, swtch, start, stop, brk, susp, dsusp, rprnt, flush, weras and lnext. The terminal emulator correctly parses and silently ignores keywords that do not apply to a specific architecture. Control characters can be specified as ^char (for example, ^c or ^u), and ^? can be used to indicate delete. This is useful for overriding the default terminal settings without having to do an stty(1) every time a DtTerm widget is created.

DtNuserBoldFont
    Supplies the XmFontList the DtTerm widget uses to display bold terminal text. The terminal emulator supports only character or mono-spaced fonts. When using proportional fonts, the behavior is undefined. The terminal emulator generates a default bold font based on the XLFD name of the userFont. If that font is not available, the terminal emulator generates bold text by overstriking (with a one pixel offset) the userFont.

DtNuserFont
    Supplies the XmFontList the DtTerm widget uses to display terminal text. The terminal emulator supports only character or mono-spaced fonts. When using proportional fonts, the behavior is undefined. The terminal emulator gets a default font via the XmNtextFontList value of the parent bulletin board (see the XmBulletinBoard(3) widget) in the same manner as the XmText(3) widget.

DtNverticalScrollBar
    Specifies a an application-supplied vertical scroll bar widget to update as scrolling occurs. The DtTerm widget does not create the scroll bar.

DtNvisualBell
    Specifies whether the DtTerm widget uses a visible bell (that is, flashing) instead of an audible bell when <control>-G is received.

DtNwidthInc
    Specifies the character cell width the DtTerm widget uses as the width increment when calculating the size of the terminal window. For additional information, see DtNbaseWidth.

  Inherited Resources

The DtTerm widget inherits behavior and resources from the following named superclasses. For a complete description of each resource, see the man page for that superclass.
XmPrimitive Resource
Set
NameClassTypeDefaultAccess
XmNbottomShadowColorXmCBottomShadowColorPixeldynamicCSG
XmNbottomShadowPixmapXmCBottomShadowPixmapPixmapXmUNSPECIFIED_PIXMAPCSG
XmNforegroundXmCForegroundPixeldynamicCSG
XmNhelpCallbackXmCCallbackXtCallbackListNULLC
XmNhighlightColorXmCHighlightColorPixeldynamicCSG
XmNhighlightOnEnterXmCHighlightOnEnterBooleanFalseCSG
XmNhighlightPixmapXmCHighlightPixmapPixmapdynamicCSG
XmNhighlightThicknessXmCHighlightThicknessDimension2CSG
XmNnavigationTypeXmCNavigationTypeXmNavigationTypeXmNONEG
XmNshadowThicknessXmCShadowThicknessDimension2CSG
XmNtopShadowColorXmCTopShadowColorPixeldynamicCSG
XmNtopShadowPixmapXmCTopShadowPixmapPixmapdynamicCSG
XmNtraversalOnXmCTraversalOnBooleanTrueCSG
XmNunitTypeXmCUnitTypeunsigned chardynamicCSG
XmNuserDataXmCUserDataPointerNULLCSG
Core Resource Set
NameClassTypeDefaultAccess
XmNacceleratorsXmCAcceleratorsXtAcceleratorsNULLCSG
XmNancestorSensitiveXmCSensitiveBooleandynamicG
XmNbackgroundXmCBackgroundPixeldynamicCSG
XmNbackgroundPixmapXmCPixmapPixmapXmUNSPECIFIED_PIXMAPCSG
XmNborderColorXmCBorderColorPixelXtDefaultForegroundCSG
XmNborderPixmapXmCPixmapPixmapXmUNSPECIFIED_PIXMAPCSG
XmNborderWidthXmCBorderWidthDimension0CSG
XmNcolormapXmCColormapColormapdynamicCG
XmNdepthXmCDepthintdynamicCG
XmNdestroyCallbackXmCCallbackXtCallbackListNULLC
XmNheightXmCHeightDimensiondynamicCSG
XmNinitialResourcesPersistentXmCInitialResourcesPersistentBooleanTrueCG
XmNmappedWhenManagedXmCMappedWhenManagedBooleanTrueCSG
XmNscreenXmCScreenScreen *dynamicCG
XmNsensitiveXmCSensitiveBooleanTrueCSG
XmNtranslationsXmCTranslationsXtTranslationsNULLCSG
XmNwidthXmCWidthDimensiondynamicCSG
XmNxXmCPositionPosition0CSG
XmNyXmCPositionPosition0CSG

  Callback Information

A pointer to the DtTermStatusChangeCallbackStruct callback structure, which includes at least the following members, is passed to callbacks for DtNstatusChangeCallback.
intreasonT{
Indicates why the callback was invoked: DtCR_TERM_STATUS_CHANGE.
T}
XEvent*eventT{
Points to the XEvent, if any, that triggered the callback or NULL.
T}
intcursorXT{
The current text cursor X (column) position.
T}
intcursorYT{
The current text cursor Y (row) position.
T}
BooleancapsLockT{
The current state of the caps lock indicator.
T}
BooleanstopT{
The current state subprocess output parsing.
Processing output from the subprocess can be turned on and off via the stop action (similar to the XON/XOFF handshake invoked via <control>-S/<control>-Q).
T}
DtTermInsertCharModeinsertCharModeNot used by the DtTerm widget.
BooleanlockedT{
The current state of the keyboard caps lock.
T}

A pointer to the DtTermSubprocessTerminationCallbackStruct callback structure, which includes at least the following members, is passed to callbacks for DtNsubprocessTerminationCallback.
intreasonT{
Indicates why the callback was invoked: DtCR_TERM_SUBPROCESS_TERMINATION.
T}
XEvent*eventT{
Points to the XEvent, if any, that triggered the callback or NULL.
T}
pid_tpidT{
The process ID of the terminated subprocess.
T}
intstatusT{
The exit status of the terminated subprocess.
T}

A pointer to the DtTermInputVerifyCallbackStruct callback structure, which includes at least the following members, is passed to callbacks for DtNinputVerifyCallback.
intreasonT{
Indicates why the callback was invoked: DtCR_TERM_INPUT_VERIFY.
T}
XEvent*eventT{
Points to the XEvent, if any, that triggered the callback or NULL.
T}
BooleandoitT{
Indicates whether the text should be sent
to the child process. Setting doit to False
negates the action.
T}
unsigned char*textT{
Points to the text (either single- or multi-byte
depending on the locale) to be sent to the child process.
T}
intlengthT{
Specifies the number of bytes to be sent
to the child process.
T}

A pointer to the DtTermOutputlogVerifyCallbackStruct callback structure, which includes at least the following members, is passed to callbacks for DtNoutputLogCallback.
intreasonT{
Indicates why the callback was invoked: DtCR_TERM_OUTPUT_LOG.
T}
XEvent*eventT{
Points to the XEvent, if any, that triggered the callback or NULL.
T}
unsigned char*textT{
Points to the text (either single- or multi-byte
depending on the locale) received from the child process.
T}
intlengthT{
Specifies the number of bytes received from
the child process.
T}

  Translations

The DtTerm widget includes translations from XmPrimitive(3).

Altering translations in #override or #augment mode is undefined.
Key PressedAction Routine
Shift ~Ctrl<Key>KP_Multiply:
XtDisplayInstalledAccelerators()
T}
~Shift Ctrl<Key>KP_Multiply:
Shift Ctrl<Key>KP_Multiply:
<Key>osfCancel:process-cancel()
<Key>osfCopy:copy-clipboard()
<Key>osfCut:copy-clipboard()
<Key>osfPaste:paste-clipboard()
<Key>osfBeginLine:beginning-of-buffer()
<Key>osfEndLine:end-of-buffer()
Shift<Key>osfUp:scroll(1,line)
Shift<Key>osfDown:scroll(-1,line)
<Key>osfUp:move-cursor(up)
<Key>osfDown:move-cursor(down)
<Key>osfLeft:move-cursor(backward)
<Key>osfRight:move-cursor(forward)
<Key>Do:vt-edit-key(do)
<Key>Help:vt-edit-key(help)
<Key>Menu:vt-edit-key(menu)
<Key>Find:vt-edit-key(find)
<Key>Insert:vt-edit-key(insert)
<Key>Select:vt-edit-key(select)
~Shift<Key>osfPageUp:vt-edit-key(prior)
~Shift<Key>osfPageDown:vt-edit-key(next)
<Key>osfPageUp:scroll(-1,page)
<Key>osfPageDown:scroll(1,page)
Mod1<Key>Break:soft-reset()
Shift<Key>Break:hard-reset()
~Shift ~Mod1<Key>Break:vt-break()
Ctrl<Key>Cancel:stop(long)
~Ctrl<Key>Cancel:stop()
~Shift<Key>Tab:tab()
~Mod1<Key>KP_Space:keypad-key-execute(space)
~Mod1<Key>KP_Tab:keypad-key-execute(tab)
~Mod1<Key>KP_Enter:keypad-key-execute(enter)
~Mod1<Key>KP_F1:keypad-key-execute(f1)
~Mod1<Key>KP_F2:keypad-key-execute(f2)
~Mod1<Key>KP_F3:keypad-key-execute(f3)
~Mod1<Key>KP_F4:keypad-key-execute(f4)
~Mod1<Key>KP_Equal:keypad-key-execute(equal)
~Mod1<Key>KP_Multiply:keypad-key-execute(multiply)
~Mod1<Key>KP_Add:keypad-key-execute(add)
~Mod1<Key>KP_Separator:keypad-key-execute(separator)
~Mod1<Key>KP_Subtract:keypad-key-execute(subtract)
~Mod1<Key>KP_Decimal:keypad-key-execute(decimal)
~Mod1<Key>KP_Divide:keypad-key-execute(divide)
~Mod1<Key>KP_0:keypad-key-execute(0)
~Mod1<Key>KP_1:keypad-key-execute(1)
~Mod1<Key>KP_2:keypad-key-execute(2)
~Mod1<Key>KP_3:keypad-key-execute(3)
~Mod1<Key>KP_4:keypad-key-execute(4)
~Mod1<Key>KP_5:keypad-key-execute(5)
~Mod1<Key>KP_6:keypad-key-execute(6)
~Mod1<Key>KP_7:keypad-key-execute(7)
~Mod1<Key>KP_8:keypad-key-execute(8)
~Mod1<Key>KP_9:keypad-key-execute(9)
Shift<Key>F1:vt-function-key-execute(1,
UDK)
Shift<Key>F2:vt-function-key-execute(2,
UDK)
Shift<Key>F3:vt-function-key-execute(3,
UDK)
Shift<Key>F4:vt-function-key-execute(4,
UDK)
Shift<Key>F5:vt-function-key-execute(5,
UDK)
Shift<Key>F6:vt-function-key-execute(6,
UDK)
Shift<Key>F7:vt-function-key-execute(7,
UDK)
Shift<Key>F8:vt-function-key-execute(8,
UDK)
Shift<Key>F9:vt-function-key-execute(9,
UDK)
Shift<Key>F10:vt-function-key-execute(10,
UDK)
Shift<Key>F11:vt-function-key-execute(11,
UDK)
Shift<Key>F12:vt-function-key-execute(12,
UDK)
Shift<Key>F13:vt-function-key-execute(13,
UDK)
Shift<Key>F14:vt-function-key-execute(14,
UDK)
Shift<Key>F15:vt-function-key-execute(15,
UDK)
Shift<Key>F16:vt-function-key-execute(16,
UDK)
Shift<Key>F17:vt-function-key-execute(17,
UDK)
Shift<Key>F18:vt-function-key-execute(18,
UDK)
Shift<Key>F19:vt-function-key-execute(19,
UDK)
Shift<Key>F20:vt-function-key-execute(20,
UDK)
Shift<Key>F21:vt-function-key-execute(21,
UDK)
Shift<Key>F22:vt-function-key-execute(22,
UDK)
Shift<Key>F23:vt-function-key-execute(23,
UDK)
Shift<Key>F24:vt-function-key-execute(24,
UDK)
Shift<Key>F25:vt-function-key-execute(25,
UDK)
Shift<Key>F26:vt-function-key-execute(26,
UDK)
Shift<Key>F27:vt-function-key-execute(27,
UDK)
Shift<Key>F28:vt-function-key-execute(28,
UDK)
Shift<Key>F29:vt-function-key-execute(29,
UDK)
Shift<Key>F30:vt-function-key-execute(30,
UDK)
Shift<Key>F31:vt-function-key-execute(31,
UDK)
Shift<Key>F32:vt-function-key-execute(32,
UDK)
Shift<Key>F33:vt-function-key-execute(33,
UDK)
Shift<Key>F34:vt-function-key-execute(34,
UDK)
Shift<Key>F35:vt-function-key-execute(35,
UDK)
~Shift<Key>F1:T{
vt-function-key-execute(1,
function)
T}
~Shift<Key>F2:T{
vt-function-key-execute(2,
function)
T}
~Shift<Key>F3:T{
vt-function-key-execute(3,
function)
T}
~Shift<Key>F4:T{
vt-function-key-execute(4,
function)
T}
~Shift<Key>F5:T{
vt-function-key-execute(5,
function)
T}
~Shift<Key>F6:T{
vt-function-key-execute(6,
function)
T}
~Shift<Key>F7:T{
vt-function-key-execute(7,
function)
T}
~Shift<Key>F8:T{
vt-function-key-execute(8,
function)
T}
~Shift<Key>F9:T{
vt-function-key-execute(9,
function)
T}
~Shift<Key>F10:T{
vt-function-key-execute(10,
function)
T}
~Shift<Key>F11:T{
vt-function-key-execute(11,
function)
T}
~Shift<Key>F12:T{
vt-function-key-execute(12,
function)
T}
~Shift<Key>F13:T{
vt-function-key-execute(13,
function)
T}
~Shift<Key>F14:T{
vt-function-key-execute(14,
function)
T}
~Shift<Key>F15:T{
vt-function-key-execute(15,
function)
T}
~Shift<Key>F16:T{
vt-function-key-execute(16,
function)
T}
~Shift<Key>F17:T{
vt-function-key-execute(17,
function)
T}
~Shift<Key>F18:T{
vt-function-key-execute(18,
function)
T}
~Shift<Key>F19:T{
vt-function-key-execute(19,
function)
T}
~Shift<Key>F20:T{
vt-function-key-execute(20,
function)
T}
~Shift<Key>F21:T{
vt-function-key-execute(21,
function)
T}
~Shift<Key>F22:T{
vt-function-key-execute(22,
function)
T}
~Shift<Key>F23:T{
vt-function-key-execute(23,
function)
T}
~Shift<Key>F24:T{
vt-function-key-execute(24,
function)
T}
~Shift<Key>F25:T{
vt-function-key-execute(25,
function)
T}
~Shift<Key>F26:T{
vt-function-key-execute(26,
function)
T}
~Shift<Key>F27:T{
vt-function-key-execute(27,
function)
T}
~Shift<Key>F28:T{
vt-function-key-execute(28,
function)
T}
~Shift<Key>F29:T{
vt-function-key-execute(29,
function)
T}
~Shift<Key>F30:T{
vt-function-key-execute(30,
function)
T}
~Shift<Key>F31:T{
vt-function-key-execute(31,
function)
T}
~Shift<Key>F32:T{
vt-function-key-execute(32,
function)
T}
~Shift<Key>F33:T{
vt-function-key-execute(33,
function)
T}
~Shift<Key>F34:T{
vt-function-key-execute(34,
function)
T}
~Shift<Key>F35:T{
vt-function-key-execute(35,
function)
T}
<KeyRelease>:key-release()
<KeyPress>:insert()
~Shift~Ctrl<Btn1Down>:grab-focus()
Shift~Ctrl<Btn1Down>:extend-start()
~Ctrl<Btn1Motion>:select-adjust()
~Ctrl<Btn1Up>:extend-end()
~Shift<Btn2Down>:process-bdrag()
~Shift<Btn2Up>:copy-to()
<EnterWindow>:enter()
<LeaveWindow>:leave()
<FocusIn>:focus-in()
<FocusOut>:focus-out()

  Action Routines

The DtTerm widget supports the following action routines:

bell([percentage])
    Rings the keyboard bell at the specified percentage above or below the base volume.

break()
    Sends an RS232 break signal to the child process.

cancel()
    Sends a CAN (cancel) character to the child process.

copy-clipboard()
    Copies current selection to the clipboard.

copy-to()
    Sends the primary selection to the subprocess.

do()
    Sends the escape sequence (see dtterm(5)) associated with the Do key to the child process.

edit-key( string)
    Sends the escape sequence (see dtterm(5)) associated with the corresponding edit key to the child process. The interpretation of these keys is application-specific. Valid values for string are:

find
insert
next
prior
remove
select

extend-start()
    Starts the extension of the currently selected text. The amount of text selected depends on the number of mouse clicks (see grab-focus).

extend-end()
    Extends the current selection. The amount of text selected depends on the number of mouse clicks (see grab-focus).

function-key-execute( num[, type ])
    Sends the escape sequence (see dtterm(5)) associated with the corresponding function key num to the child process. Valid values for num are 1 to 35, inclusive. If type is set to function (or not set at all), the escape sequence (see dtterm(5)) associated with function key num is sent to the child process. If type is set to UDK, then the string associated with user defined key num is sent to the child process.

grab-focus()
    Performs one of the following depending on the number of multiple mouse clicks. One click deselects any selected text and sets the selection anchor at the pointer position; two clicks selects a word; three clicks selects a line of text; and four clicks selects all text.

hard-reset()
    Performs a hard reset on the terminal emulator. See dtterm(5) for a definition of hard reset.

help()
    Sends the escape sequence (see dtterm(5)) associated with the DEC VT220 Help key to the child process.

    The interpretation of this key is application-specific.

keymap(name)
    Defines a new translation table whose resource name is named with the suffix Keymap (case is significant). The name None restores the original translation table.

keypad-key-execute(string)
    Sends the escape sequence (see dtterm(5)) associated with the corresponding keypad key to the child process. The interpretation of these keys is application-specific. Valid values for string are:

f1 - f4
space
tab
enter
equal
multiply
add
separator
subtract
decimal
divide
0 - 9

move-cursor( direction)
    Sends the escape sequence (see dtterm(5)) associated with the corresponding cursor motion to the child process. The interpretation of these keys is application-specific. Valid values for direction are:

up
down
backward
forward

paste-clipboard()
    Sends the contents of the clipboard to the subprocess.

process-bdrag()
    The result of this action is determined by several factors: position of the location cursor, motion of the location cursor and the interval between a BTransfer release.

    This action sends the current selection to the subprocess if text is selected, the location cursor is disjoint from the current selection and no motion is detected within a given time interval.

    The action drags the current selection if the location cursor is positioned on the selection, the time interval is exceeded and movement of the location cursor is detected. This action creates a DragContext object whose XmNexportTargets resource value includes target types of COMPOUND_TEXT, STRING and TEXT.

redraw-display()
    Redraws the contents of the text window.

scroll( count[, units ])
    Scrolls the display memory down if count is greater than zero, or up if count is less than zero. The number of lines scrolled is based on count and units. The default for units is line. Valid values for units are:

page
halfpage
line

select-adjust()
    Extends the selection. The amount of text selected depends on the number of mouse clicks. One click selects characters; two clicks selects words; three clicks selects lines; and four clicks selects the entire buffer.

select-all()
    Selects all text.

select-page()
    Selects all text currently displayed on the screen.

self-insert()
    Sends the character associated with the key pressed to the child process.

soft-reset()
    Performs a soft reset of the terminal. For a definition of soft reset see the ``Reset'' section in dtterm(5).

stop( state)
    Toggles, starts, or stops the process of reading data from the child process. Valid values for state are:

toggle
on
off

string( string)
    Inserts the specified text string as if it had been typed. The string must be quoted if it contains white space or non-alphanumeric characters. The string is interpreted as a hexadecimal character constant if it begins with the characters 0x.

tab()
    Sends a tab to the child process.

visual-bell()
    Flashes the window quickly.

  Virtual Bindings

The bindings for virtual keys are vendor-specific. Virtual bindings do not apply when the DtTerm widget has input focus. For information about bindings for virtual buttons and keys, see VirtualBindings(3).

  On-the-Spot Preedit Style and Behavior

When the user selects the on-the-spot input method style, preedit strings are displayed in the dtterm window. To commit a preedit string, the user can choose from a number of generic actions, including cut, paste, cursor movement, and commit key.

In addition to the generic actions, several of the DtTerm action routines may cause committal. These action routines include move_cursor, process_bdrag, and string. The action routines correspond to the generic commit actions.

When the preedit buffer is active, it may be highlighted. This highlight value can be set by the input method server. Since there is only a single highlight mode available in DtTerm the following XIMFeedbacks will set the highlight:

     XIMPrimary

     XIMSecondary

     XIMTertiary

SEE ALSO

dtterm(1), Dt/Term.h - DtTerm(5), DtTermInitialize(3), DtTermDisplaySend(3), DtTermSubprocSend(3), DtTermSubprocReap(3), dtterm(5), pty(7), XtSetValues(1), XtGetValues(1), XmFrame(3), XmPrimitive(3), XmFontList(3), XmBulletinBoard(3), XmText(3), VirtualBindings(3), Core(3).