DtTerm(library call) DtTerm(library call)
NAMEDtTerm — DtTerm widget class
SYNOPSIS
#include <Dt/Term.h>
DESCRIPTION
The DtTerm widget provides the core set of functionality needed to emu‐
late 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 .Xde‐
faults 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 applica‐
ble (N/A).
DtTerm Resource
Set, Part 1 of 2
Name Class Type Default Access
DtNallowSendEvents DtCAllowSendEvents Boolean False CSG
DtNappCursorDefault DtCAppCursorDefault Boolean False CSG
DtNappKeypadDefault DtCAppKeypadDefault Boolean False CSG
DtNautoWrap DtCAutoWrap Boolean True CSG
DtNbackgroundIsSelect DtCBackgroundIsSelect Boolean False CG
DtNbaseHeight DtCBaseHeight int 0 G
DtNbaseWidth DtCBaseWidth int 0 G
DtNblinkRate DtCBlinkRate int 250 CSG
DtNc132 DtCC132 Boolean False CSG
DtNcharCursorStyle DtCCharCursorStyle unsigned char DtTERM_CHAR_CURSOR_BOX CSG
DtTerm Resource
Set, Part 2 of 2
Name Class Type Default Access
DtNcolumns DtCColumns short 80 CSG
DtNconsoleMode DtCConsoleMode Boolean False CG
DtNemulationID DtCEmulationID String ``DtTermWidget'' CSG
DtNheightInc DtCHeightInc int 0 G
DtNinputVerifyCallback DtCCallback XtCallbackList NULL C
DtNjumpScroll DtCJumpScroll Boolean True CSG
DtNkshMode DtCKshMode Boolean False CSG
DtNlogging DtCLogging Boolean False CSG
DtNmapOnOutput DtCMapOnOutput Boolean False CSG
DtNmapOnOutputDelay DtCMapOnOutputDelay int 0 CSG
DtNmarginBell DtCMarginBell Boolean False CSG
DtNmarginHeight DtCMarginHeight Dimension 2 CSG
DtNmarginWidth DtCMarginWidth Dimension 2 CSG
DtNnMarginBell DtCNMarginBell int 10 CSG
DtNoutputLogCallback DtCCallback XtCallbackList NULL C
DtNpointerBlank DtCPointerBlank Boolean False CSG
DtNpointerBlankDelay DtCPointerBlankDelay int 2 CSG
DtNpointerColor DtCForeground String dynamic CSG
DtNpointerColorBackground DtCBackground String dynamic CSG
DtNpointerShape DtCPointerShape String xterm CSG
DtNreverseWrap DtCReverseWrap Boolean False CSG
DtNrows DtCRows short 24 CSG
DtNsaveLines DtCSaveLines string 4s CG
DtNshadowType DtCShadowType unsigned char DtSHADOW_IN CSG
DtNstatusChangeCallback DtCCallback XtCallbackList NULL C
DtNsubprocessArgv DtCSubprocessArgv String * NULL CG
DtNsubprocessCmd DtCSubprocessCmd String NULL CG
DtNsubprocessExec DtCSubprocessExec Boolean True CSG
DtNsubprocessLoginShell DtCSubprocessLoginShell Boolean False CG
DtNsubprocessPid DtCSubprocessPid int -1 G
DtNsubprocessTerminationCallback DtCCallback XtCallbackList NULL C
DtNsubprocessTerminationCatch DtCSubprocessTerminationCatch Boolean True CSG
DtNsunFunctionKeys DtCSunFunctionKeys Boolean False CSG
DtNtermDevice DtCTermDevice int -1 CG
DtNtermDeviceAllocate DtCTermDeviceAllocate Boolean True CG
DtNtermId DtCTermId String ``vt220'' CSG
DtNtermName DtCTermName String ``dtterm'' CSG
DtNtermSlaveName DtCTermSlaveName String NULL CG
DtNttyModes DtCTtyModes String NULL CSG
DtNuserBoldFont DtCUserBoldFont XmFontList dynamic CSG
DtNuserFont DtCUserFont XmFontList dynamic CSG
DtNverticalScrollBar DtCVerticalScrollBar Widget NULL CSG
DtNvisualBell DtCVisualBell Boolean False CSG
DtNwidthInc DtCWidthInc int 0 G
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 inter‐
nal 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 cur‐
sor 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 pix‐
els 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 environ‐
ment variable is set.
DtNheightInc
Specifies the character cell height used as the height incre‐
ment when calculating the size of the terminal window. For
additional information, see DtNbaseHeight.
DtNinputVerifyCallback
Specifies the list of callbacks called before the DtTerm wid‐
get sends text to the child process. The text may be gener‐
ated 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 fol‐
lowed 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 char‐
acters 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 ini‐
tial 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 wid‐
get 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 DtNmargin‐
Bell resource.
DtNoutputLogCallback
Specifies the list of callbacks called when the widget
receives text from the child process. DtTermOutputLogCall‐
backStruct 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 DtNpoint‐
erBlankDelay resource.
DtNpointerBlankDelay
Specifies the number of seconds to wait after the pointer has
stopped moving before blanking the pointer (see DtNpoint‐
erBlank ). 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 buf‐
fer 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 win‐
dow. See the XmFrame(3) widget for supported shadow types.
DtNstatusChangeCallback
Specifies the list of callbacks called when the DtTerm wid‐
get'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 rea‐
son 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 com‐
mand 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 ter‐
minal widget when DtNsubprocessExec is True.
DtNsubprocessTerminationCallback
Supplies the list of callbacks called when the subprocess
associated with the DtTerm widget exits. The DtTermSubpro‐
cessTerminationCallbackStruct 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 applica‐
tion 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-termi‐
nal device passed to it via the DtNtermDevice resource.
DtNtermId Supplies the name the DtTerm widget uses to select the cor‐
rect 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 key‐
words 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 char‐
acter 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 user‐
Font.
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 wid‐
get 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
Name Class Type Default Access
XmNbottomShadowColor XmCBottomShadowColor Pixel dynamic CSG
XmNbottomShadowPixmap XmCBottomShadowPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmNforeground XmCForeground Pixel dynamic CSG
XmNhelpCallback XmCCallback XtCallbackList NULL C
XmNhighlightColor XmCHighlightColor Pixel dynamic CSG
XmNhighlightOnEnter XmCHighlightOnEnter Boolean False CSG
XmNhighlightPixmap XmCHighlightPixmap Pixmap dynamic CSG
XmNhighlightThickness XmCHighlightThickness Dimension 2 CSG
XmNnavigationType XmCNavigationType XmNavigationType XmNONE G
XmNshadowThickness XmCShadowThickness Dimension 2 CSG
XmNtopShadowColor XmCTopShadowColor Pixel dynamic CSG
XmNtopShadowPixmap XmCTopShadowPixmap Pixmap dynamic CSG
XmNtraversalOn XmCTraversalOn Boolean True CSG
XmNunitType XmCUnitType unsigned char dynamic CSG
XmNuserData XmCUserData Pointer NULL CSG
Core Resource Set
Name Class Type Default Access
XmNaccelerators XmCAccelerators XtAccelerators NULL CSG
XmNancestorSensitive XmCSensitive Boolean dynamic G
XmNbackground XmCBackground Pixel dynamic CSG
XmNbackgroundPixmap XmCPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmNborderColor XmCBorderColor Pixel XtDefaultForeground CSG
XmNborderPixmap XmCPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmNborderWidth XmCBorderWidth Dimension 0 CSG
XmNcolormap XmCColormap Colormap dynamic CG
XmNdepth XmCDepth int dynamic CG
XmNdestroyCallback XmCCallback XtCallbackList NULL C
XmNheight XmCHeight Dimension dynamic CSG
XmNinitialResourcesPersistent XmCInitialResourcesPersistent Boolean True CG
XmNmappedWhenManaged XmCMappedWhenManaged Boolean True CSG
XmNscreen XmCScreen Screen * dynamic CG
XmNsensitive XmCSensitive Boolean True CSG
XmNtranslations XmCTranslations XtTranslations NULL CSG
XmNwidth XmCWidth Dimension dynamic CSG
XmNx XmCPosition Position 0 CSG
XmNy XmCPosition Position 0 CSG
Callback Information
A pointer to the DtTermStatusChangeCallbackStruct callback structure,
which includes at least the following members, is passed to callbacks
for DtNstatusChangeCallback.
int reason Indicates why the callback was
invoked: DtCR_TERM_STA‐
TUS_CHANGE.
XEvent *event Points to the XEvent, if any,
that triggered the callback or
NULL.
int cursorX The current text cursor X
(column) position.
int cursorY The current text cursor Y
(row) position.
Boolean capsLock The current state of the caps
lock indicator.
Boolean stop 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).
DtTermInsertCharMode insertCharMode Not used by the DtTerm widget.
Boolean locked The current state of the key‐
board caps lock.
A pointer to the DtTermSubprocessTerminationCallbackStruct callback
structure, which includes at least the following members, is passed to
callbacks for DtNsubprocessTerminationCallback.
int reason Indicates why the callback was
invoked: DtCR_TERM_SUBPROCESS_TER‐
MINATION.
XEvent *event Points to the XEvent, if any, that
triggered the callback or NULL.
pid_t pid The process ID of the terminated
subprocess.
int status The exit status of the terminated
subprocess.
A pointer to the DtTermInputVerifyCallbackStruct callback structure,
which includes at least the following members, is passed to callbacks
for DtNinputVerifyCallback.
int reason Indicates why the callback was
invoked: DtCR_TERM_INPUT_VERIFY.
XEvent *event Points to the XEvent, if any,
that triggered the callback or
NULL.
Boolean doit Indicates whether the text should
be sent to the child process.
Setting doit to False negates the
action.
unsigned char *text Points to the text (either sin‐
gle- or multi-byte depending on
the locale) to be sent to the
child process.
int length Specifies the number of bytes to
be sent to the child process.
A pointer to the DtTermOutputlogVerifyCallbackStruct callback struc‐
ture, which includes at least the following members, is passed to call‐
backs for DtNoutputLogCallback.
int reason Indicates why the callback was
invoked: DtCR_TERM_OUTPUT_LOG.
XEvent *event Points to the XEvent, if any, that
triggered the callback or NULL.
unsigned char *text Points to the text (either single-
or multi-byte depending on the
locale) received from the child
process.
int length Specifies the number of bytes
received from the child process.
Translations
The DtTerm widget includes translations from XmPrimitive(3).
Altering translations in #override or #augment mode is undefined.
Key Pressed Action Routine
Shift ~Ctrl<Key>KP_Mul‐ XtDisplayInstalledAccelerators()
tiply:
~Shift Ctrl<Key>KP_Mul‐ XtDisplayAccelerators()
tiply:
Shift Ctrl<Key>KP_Mul‐ XtDisplayTranslations()
tiply:
<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: vt-function-key-execute(1, func‐
tion)
~Shift<Key>F2: vt-function-key-execute(2, func‐
tion)
~Shift<Key>F3: vt-function-key-execute(3, func‐
tion)
~Shift<Key>F4: vt-function-key-execute(4, func‐
tion)
~Shift<Key>F5: vt-function-key-execute(5, func‐
tion)
~Shift<Key>F6: vt-function-key-execute(6, func‐
tion)
~Shift<Key>F7: vt-function-key-execute(7, func‐
tion)
~Shift<Key>F8: vt-function-key-execute(8, func‐
tion)
~Shift<Key>F9: vt-function-key-execute(9, func‐
tion)
~Shift<Key>F10: vt-function-key-execute(10, func‐
tion)
~Shift<Key>F11: vt-function-key-execute(11, func‐
tion)
~Shift<Key>F12: vt-function-key-execute(12, func‐
tion)
~Shift<Key>F13: vt-function-key-execute(13, func‐
tion)
~Shift<Key>F14: vt-function-key-execute(14, func‐
tion)
~Shift<Key>F15: vt-function-key-execute(15, func‐
tion)
~Shift<Key>F16: vt-function-key-execute(16, func‐
tion)
~Shift<Key>F17: vt-function-key-execute(17, func‐
tion)
~Shift<Key>F18: vt-function-key-execute(18, func‐
tion)
~Shift<Key>F19: vt-function-key-execute(19, func‐
tion)
~Shift<Key>F20: vt-function-key-execute(20, func‐
tion)
~Shift<Key>F21: vt-function-key-execute(21, func‐
tion)
~Shift<Key>F22: vt-function-key-execute(22, func‐
tion)
~Shift<Key>F23: vt-function-key-execute(23, func‐
tion)
~Shift<Key>F24: vt-function-key-execute(24, func‐
tion)
~Shift<Key>F25: vt-function-key-execute(25, func‐
tion)
~Shift<Key>F26: vt-function-key-execute(26, func‐
tion)
~Shift<Key>F27: vt-function-key-execute(27, func‐
tion)
~Shift<Key>F28: vt-function-key-execute(28, func‐
tion)
~Shift<Key>F29: vt-function-key-execute(29, func‐
tion)
~Shift<Key>F30: vt-function-key-execute(30, func‐
tion)
~Shift<Key>F31: vt-function-key-execute(31, func‐
tion)
~Shift<Key>F32: vt-function-key-execute(32, func‐
tion)
~Shift<Key>F33: vt-function-key-execute(33, func‐
tion)
~Shift<Key>F34: vt-function-key-execute(34, func‐
tion)
~Shift<Key>F35: vt-function-key-execute(35, func‐
tion)
<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 interpreta‐
tion 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 associ‐
ated with user defined key num is sent to the child process.
grab-focus()
Performs one of the following depending on the number of mul‐
tiple 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 interpre‐
tation 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 inter‐
pretation of these keys is application-specific. Valid val‐
ues 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 cur‐
sor 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 charac‐
ters 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 rou‐
tines 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 high‐
light 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 ALSOdtterm(1), Dt/Term.h - DtTerm(5), DtTermInitialize(3), DtTermDisplay‐
Send(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).
DtTerm(library call)