This specifies whether xterm will run in UTF-8 mode. If
you set this resource, xterm also sets the wideChars resource as a side-effect.
The resource is an integer, expected to range from 0 to 3: UTF-8 mode is
initially off. Escape sequences for turning UTF-8 mode on/off are allowed.
UTF-8 mode is initially on. Escape sequences for turning UTF-8 mode on/off
are allowed. The command-line option -u8 sets the resource to this value. Escape
sequences for turning UTF-8 mode on/off are ignored. This is the default
value of the resource. It is changed during initialization depending on
whether the locale resource was set, to 0 or 2. See the locale resource
for additional discussion of non-UTF-8 locales.
- If you want to set the value
of utf8, it should be in this range.
- Other nonzero values are treated the
same a ``1'', i.e., UTF-8 mode is initially on, and escape sequences for turning
UTF-8 mode on/off are allowed.
- utf8Fonts (class Utf8Fonts)
- See the discussion
of the locale resource.
- veryBoldColors (class VeryBoldColors)
- Specifies
whether to combine video attributes with colors specified by colorBD, colorBL
and colorUL. The resource value is the sum of values for each attribute:
2 for underline, 4 for bold and 8 for blink. The default is ``0.''
- visualBell
(class VisualBell)
- Specifies whether or not a visible bell (i.e., flashing)
should be used instead of an audible bell when Control-G is received. The
default is ``false.''
- visualBellDelay (class VisualBellDelay)
- Number of milliseconds
to delay when displaying a visual bell. Default is 100. If set to zero, no
visual bell is displayed. This is useful for very slow displays, e.g., an
LCD display on a laptop.
- vt100Graphics (class VT100Graphics)
- This specifies
whether xterm will interpret VT100 graphic character escape sequences while
in UTF-8 mode. The default is ``true'', to provide support for various legacy
applications.
- wideBoldFont (class WideBoldFont)
- This option specifies the
font to be used for displaying bold wide text. By default, it will attempt
to use a font twice as wide as the font that will be used to draw bold
text. If no doublewidth font is found, it will improvise, by stretching
the bold font.
- wideChars (class WideChars)
- Specifies if xterm should respond
to control sequences that process 16-bit characters. The default is ``false.''
- wideFont (class WideFont)
- This option specifies the font to be used for
displaying wide text. By default, it will attempt to use a font twice as
wide as the font that will be used to draw normal text. If no doublewidth
font is found, it will improvise, by stretching the normal font.
- ximFont
(class XimFont)
- This option specifies the font to be used for displaying
the preedit string in the "OverTheSpot" input method.
- In "OverTheSpot" preedit
type, the preedit (preconversion)
- string is displayed at the position of
the cursor. It is the XIM server's responsibility to display the preedit
string. The XIM client must inform the XIM server of the cursor position.
For best results, the preedit string must be displayed with a proper font.
Therefore, xterm informs the XIM server of the proper font. The font is
be supplied by a "fontset", whose default value is "*". This matches every
font, the X library automatically chooses fonts with proper charsets. The
ximFont resource is provided to override this default font setting.
The
following resources are specified as part of the tek4014 widget (class
Tek4014). These are specified by patterns such as "XTerm.tek4014.NAME":
- font2
(class Font)
- Specifies font number 2 to use in the Tektronix window.
- font3
(class Font)
- Specifies font number 3 to use in the Tektronix window.
- fontLarge
(class Font)
- Specifies the large font to use in the Tektronix window.
- fontSmall
(class Font)
- Specifies the small font to use in the Tektronix window.
- ginTerminator
(class GinTerminator)
- Specifies what character(s) should follow a GIN report
or status report. The possibilities are ``none,'' which sends no terminating
characters, ``CRonly,'' which sends CR, and ``CR&EOT,'' which sends both CR and
EOT. The default is ``none.''
- height (class Height)
- Specifies the height of the
Tektronix window in pixels.
- initialFont (class InitialFont)
- Specifies which
of the four Tektronix fonts to use initially. Values are the same as for
the set-tek-text action. The default is ``large.''
- width (class Width)
- Specifies
the width of the Tektronix window in pixels.
The resources that may be
specified for the various menus are described in the documentation for
the Athena SimpleMenu widget. The name and classes of the entries in each
of the menus are listed below. Resources named "lineN" where N is a number
are separators with class SmeLine.
The mainMenu has the following entries:
- toolbar (class SmeBSB)
- This entry invokes the set-toolbar(toggle) action.
- securekbd (class SmeBSB)
- This entry invokes the secure() action.
- allowsends
(class SmeBSB)
- This entry invokes the allow-send-events(toggle) action.
- redraw
(class SmeBSB)
- This entry invokes the redraw() action.
- logging (class SmeBSB)
- This entry invokes the logging(toggle) action.
- print (class SmeBSB)
- This
entry invokes the print() action.
- print-redir (class SmeBSB)
- This entry invokes
the print-redir() action.
- 8-bit-control (class SmeBSB)
- This entry invokes the
set-8-bit-control(toggle) action.
- backarrow key (class SmeBSB)
- This entry invokes
the set-backarrow(toggle) action.
- num-lock (class SmeBSB)
- This entry invokes
the set-num-lock(toggle) action.
- meta-esc (class SmeBSB)
- This entry invokes
the meta-sends-escape(toggle) action.
- delete-is-del (class SmeBSB)
- This entry
invokes the delete-is-del(toggle) action.
- oldFunctionKeys (class SmeBSB)
- This
entry invokes the old-function-keys(toggle) action.
- hpFunctionKeys (class
SmeBSB)
- This entry invokes the hp-function-keys(toggle) action.
- scoFunctionKeys
(class SmeBSB)
- This entry invokes the sco-function-keys(toggle) action.
- sunFunctionKeys
(class SmeBSB)
- This entry invokes the sun-function-keys(toggle) action.
- sunKeyboard
(class SmeBSB)
- This entry invokes the sunKeyboard(toggle) action.
- suspend
(class SmeBSB)
- This entry invokes the send-signal(tstp) action on systems
that support job control.
- continue (class SmeBSB)
- This entry invokes the
send-signal(cont) action on systems that support job control.
- interrupt (class
SmeBSB)
- This entry invokes the send-signal(int) action.
- hangup (class SmeBSB)
- This entry invokes the send-signal(hup) action.
- terminate (class SmeBSB)
- This entry invokes the send-signal(term) action.
- kill (class SmeBSB)
- This
entry invokes the send-signal(kill) action.
- quit (class SmeBSB)
- This entry
invokes the quit() action.
The vtMenu has the following entries:
- scrollbar
(class SmeBSB)
- This entry invokes the set-scrollbar(toggle) action.
- jumpscroll
(class SmeBSB)
- This entry invokes the set-jumpscroll(toggle) action.
- reversevideo
(class SmeBSB)
- This entry invokes the set-reverse-video(toggle) action.
- autowrap
(class SmeBSB)
- This entry invokes the set-autowrap(toggle) action.
- reversewrap
(class SmeBSB)
- This entry invokes the set-reversewrap(toggle) action.
- autolinefeed
(class SmeBSB)
- This entry invokes the set-autolinefeed(toggle) action.
- appcursor
(class SmeBSB)
- This entry invokes the set-appcursor(toggle) action.
- appkeypad
(class SmeBSB)
- This entry invokes the set-appkeypad(toggle) action.
- scrollkey
(class SmeBSB)
- This entry invokes the set-scroll-on-key(toggle) action.
- scrollttyoutput
(class SmeBSB)
- This entry invokes the set-scroll-on-tty-output(toggle) action.
- allow132 (class SmeBSB)
- This entry invokes the set-allow132(toggle) action.
- cursesemul (class SmeBSB)
- This entry invokes the set-cursesemul(toggle)
action.
- visualbell (class SmeBSB)
- This entry invokes the set-visualbell(toggle)
action.
- poponbell (class SmeBSB)
- This entry invokes the set-poponbell(toggle)
action.
- marginbell (class SmeBSB)
- This entry invokes the set-marginbell(toggle)
action.
- cursorblink (class SmeBSB)
- This entry invokes the set-cursorblink(toggle)
action.
- titeInhibit (class SmeBSB)
- This entry invokes the set-titeInhibit(toggle)
action.
- activeicon (class SmeBSB)
- This entry toggles active icons on and
off if this feature was compiled into xterm. It is enabled only if xterm
was started with the command line option +ai or the activeIcon resource
is set to ``True.''
- softreset (class SmeBSB)
- This entry invokes the soft-reset()
action.
- hardreset (class SmeBSB)
- This entry invokes the hard-reset() action.
- clearsavedlines (class SmeBSB)
- This entry invokes the clear-saved-lines()
action.
- tekshow (class SmeBSB)
- This entry invokes the set-visibility(tek,toggle)
action.
- tekmode (class SmeBSB)
- This entry invokes the set-terminal-type(tek)
action.
- vthide (class SmeBSB)
- This entry invokes the set-visibility(vt,off)
action.
- altscreen (class SmeBSB)
- This entry invokes the set-altscreen(toggle)
action.
The fontMenu has the following entries:
- fontdefault (class SmeBSB)
- This entry invokes the set-vt-font(d) action.
- font1 (class SmeBSB)
- This entry
invokes the set-vt-font(1)
action.
- font2 (class SmeBSB)
- This entry invokes
the set-vt-font(2)
action.
- font3 (class SmeBSB)
- This entry invokes the set-vt-font(3)
action.
- font4 (class SmeBSB)
- This entry invokes the set-vt-font(4)
action.
- font5 (class SmeBSB)
- This entry invokes the set-vt-font(5)
action.
- font6 (class
SmeBSB)
- This entry invokes the set-vt-font(6)
action.
- fontescape (class SmeBSB)
- This entry invokes the set-vt-font(e) action.
- fontsel (class SmeBSB)
- This
entry invokes the set-vt-font(s) action.
- font-linedrawing (class SmeBSB)
- This
entry invokes the set-font-linedrawing(s) action.
- font-doublesize (class SmeBSB)
- This entry invokes the set-font-doublesize(s) action.
- render-font (class SmeBSB)
- This entry invokes the set-render-font(s) action.
- utf8-mode (class SmeBSB)
- This entry invokes the set-utf8-mode(s) action.
The tekMenu has the following
entries:
- tektextlarge (class SmeBSB)
- This entry invokes the set-tek-text(l)
action.
- tektext2 (class SmeBSB)
- This entry invokes the set-tek-text(2)
action.
- tektext3 (class SmeBSB)
- This entry invokes the set-tek-text(3)
action.
- tektextsmall
(class SmeBSB)
- This entry invokes the set-tek-text(s) action.
- tekpage (class
SmeBSB)
- This entry invokes the tek-page() action.
- tekreset (class SmeBSB)
- This entry invokes the tek-reset() action.
- tekcopy (class SmeBSB)
- This entry
invokes the tek-copy() action.
- vtshow (class SmeBSB)
- This entry invokes the
set-visibility(vt,toggle) action.
- vtmode (class SmeBSB)
- This entry invokes
the set-terminal-type(vt) action.
- tekhide (class SmeBSB)
- This entry invokes
the set-visibility(tek,toggle) action.
The following resources are useful
when specified for the Athena Scrollbar widget:
- thickness (class Thickness)
- Specifies the width in pixels of the scrollbar.
- background (class Background)
- Specifies the color to use for the background of the scrollbar.
- foreground
(class Foreground)
- Specifies the color to use for the foreground of the
scrollbar. The ``thumb'' of the scrollbar is a simple checkerboard pattern alternating
pixels for foreground and background color.
Once the VT102
window is created, xterm allows you to select text and copy it within the
same or other windows.
The selection functions are invoked when the pointer
buttons are used with no modifiers, and when they are used with the ``shift''
key. The assignment of the functions described below to keys and buttons
may be changed through the resource database; see ACTIONS below.
Pointer
button one (usually left) is used to save text into the cut buffer. Move
the cursor to beginning of the text, and then hold the button down while
moving the cursor to the end of the region and releasing the button. The
selected text is highlighted and is saved in the global cut buffer and
made the PRIMARY selection when the button is released. Double-clicking selects
by words. Triple-clicking selects by lines. Quadruple-clicking goes back to
characters, etc. Multiple-click is determined by the time from button up
to button down, so you can change the selection unit in the middle of a
selection. Logical words and lines selected by double- or triple-clicking
may wrap across more than one screen line if lines were wrapped by xterm
itself rather than by the application running in the window. If the key/button
bindings specify that an X selection is to be made, xterm will leave the
selected text highlighted for as long as it is the selection owner.
Pointer
button two (usually middle) `types' (pastes) the text from the PRIMARY selection,
if any, otherwise from the cut buffer, inserting it as keyboard input.
Pointer button three (usually right) extends the current selection. (Without
loss of generality, you can swap ``right'' and ``left'' everywhere in the rest
of this paragraph.) If pressed while closer to the right edge of the selection
than the left, it extends/contracts the right edge of the selection. If
you contract the selection past the left edge of the selection, xterm assumes
you really meant the left edge, restores the original selection, then extends/contracts
the left edge of the selection. Extension starts in the selection unit mode
that the last selection or extension was performed in; you can multiple-click
to cycle through them.
By cutting and pasting pieces of text without trailing
new lines, you can take text from several places in different windows and
form a command to the shell, for example, or take output from a program
and insert it into your favorite editor. Since cut buffers are globally
shared among different applications, you may regard each as a `file' whose
contents you know. The terminal emulator and other text programs should
be treating it as if it were a text file, i.e., the text is delimited by
new lines.
The scroll region displays the position and amount of text currently
showing in the window (highlighted) relative to the amount of text actually
saved. As more text is saved (up to the maximum), the size of the highlighted
area decreases.
Clicking button one with the pointer in the scroll region
moves the adjacent line to the top of the display window.
Clicking button
three moves the top line of the display window down to the pointer position.
Clicking button two moves the display to a position in the saved text
that corresponds to the pointer's position in the scrollbar.
Unlike the
VT102 window, the Tektronix window does not allow the copying of text. It
does allow Tektronix GIN mode, and in this mode the cursor will change
from an arrow to a cross. Pressing any key will send that key and the current
coordinate of the cross cursor. Pressing button one, two, or three will
return the letters `l', `m', and `r', respectively. If the `shift' key is pressed
when a pointer button is pressed, the corresponding upper case letter is
sent. To distinguish a pointer button from a key, the high bit of the character
is set (but this is bit is normally stripped unless the terminal mode is
RAW; see tty(4)
for details).
Xterm has four menus, named mainMenu,
vtMenu, fontMenu, and tekMenu. Each menu pops up under the correct combinations
of key and button presses. Each menu is divided into sections, separated
by a horizontal line. Some menu entries correspond to modes that can be
altered. A check mark appears next to a mode that is currently active. Selecting
one of these modes toggles its state. Other menu entries are commands; selecting
one of these performs the indicated function.
All of the menu entries correspond
to X actions. In the list below, the menu label is shown followed by the
action's name in parenthesis.
The xterm mainMenu pops up when the ``control''
key and pointer button one are pressed in a window. This menu contains items
that apply to both the VT102 and Tektronix windows. There are several sections:
- Commands for managing X events:
- Secure Keyboard (securekbd)
- The Secure
Keyboard mode is helpful when typing in passwords or other sensitive data
in an unsecure environment; see SECURITY below (but read the limitations
carefully).
- Allow SendEvents (allowsends )
- Specifies whether or not synthetic
key and button events generated using the X protocol SendEvent request
should be interpreted or discarded. This corresponds to the allowSendEvents
resource.
- Redraw Window (redraw)
- Forces the X display to repaint; useful
in some environments.
- Commands for capturing output:
- Log to File (logging)
- Captures text sent to the screen in a logfile, as in the -l logging option.
- Print Window (print)
- Sends the text of the current window to the program
given in the printerCommand resource.
- Redirect to Printer (print-redir)
- This
sets the printerControlMode to 0 or 2. You can use this to turn the printer
on as if an application had sent the appropriate control sequence. It is
also useful for switching the printer off if an application turns it on
without resetting the print control mode.
- Modes for setting keyboard style:
- 8-Bit Controls (8-bit-control)
- Enabled for VT220 emulation, this controls
whether xterm will send 8-bit control sequences rather than using 7-bit (ASCII)
controls, e.g., sending a byte in the range 128-159 rather than the escape
character followed by a second byte. Xterm always interprets both 8-bit and
7-bit control sequences (see the document Xterm Control Sequences). This
corresponds to the eightBitControl resource.
- Backarrow Key (BS/DEL) (backarrow key)
- Modifies the behavior of the backarrow key, making it transmit either a
backspace (8)
or delete (127) character. This corresponds to the backarrowKey
resource.
- Alt/NumLock Modifiers (num-lock)
- Controls the treatment of Alt-
and NumLock-key modifiers. This corresponds to the numLock resource.
- Meta
Sends Escape (meta-esc)
- Controls whether Meta keys are converted into a
two-character sequence with the character itself preceded by ESC. This corresponds
to the metaSendsEscape resource.
- Delete is DEL (delete-is-del)
- Controls whether
the Delete key on the editing keypad should send DEL (127) or the VT220-style
Remove escape sequence. This corresponds to the deleteIsDEL resource.
- Old
Function-Keys (oldFunctionKeys)
- HP Function-Keys (hpFunctionKeys)
- SCO Function-Keys
(scoFunctionKeys)
- Sun Function-Keys (sunFunctionKeys)
- VT220 Keyboard (sunKeyboard)
- These act as a radio-button, selecting one style for the keyboard layout.
It corresponds to more than one resource setting: sunKeyboard, sunFunctionKeys,
scoFunctionKeys and hpFunctionKeys ."
- Commands for process signalling:
- Send
STOP Signal (suspend)
- Send CONT Signal (continue)
- Send INT Signal (interrupt)
- Send HUP Signal (hangup)
- Send TERM Signal (terminate)
- Send KILL Signal
(kill)
- These send the SIGTSTP, SIGCONT, SIGINT, SIGHUP, SIGTERM and SIGKILL
signals respectively, to the process group of the process running under
xterm (usually the shell). The SIGCONT function is especially useful if
the user has accidentally typed CTRL-Z, suspending the process.
- Quit (quit)
- Stop processing X events except to support the -hold option, and then send
a SIGHUP signal to the the process group of the process running under xterm
(usually the shell).
The vtMenu sets various modes in the VT102 emulation,
and is popped up when the ``control'' key and pointer button two are pressed
in the VT102 window.
- VT102/VT220 Modes:
- Enable Scrollbar (scrollbar)
- Enable
(or disable) the scrollbar. This corresponds to the -sb option and the scrollBar
resource.
- Enable Jump Scroll (jumpscroll)
- Enable (or disable) jump scrolling.
This corresponds to the -j option and the jumpScroll resource.
- Enable Reverse
Video (reversevideo)
- Enable (or disable) reverse-video. This corresponds
to the -rv option and the reverseVideo resource.
- Enable Auto Wraparound
(autowrap)
- Enable (or disable) auto-wraparound. This corresponds to the -aw
option and the autoWrap resource.
- Enable Reverse Wraparound (reversewrap)
- Enable (or disable) reverse wraparound. This corresponds to the -rw option
and the reverseWrap resource.
- Enable Auto Linefeed (autolinefeed)
- Enable
(or disable) auto-linefeed. This is the VT102 NEL function, which causes
the emulator to emit a linefeed after each carriage return. There is no
corresponding command-line option or resource setting.
- Enable Application
Cursor Keys (appcursor)
- Enable (or disable) application cursor keys. This
corresponds to the appcursorDefault resource. There is no corresponding
command-line option.
- Enable Application Keypad (appkeypad)
- Enable (or disable)
application keypad keys. This corresponds to the appkeypadDefault resource.
There is no corresponding command-line option.
- Scroll to Bottom on Key Press
(scrollkey)
- Enable (or disable) scrolling to the bottom of the scrolling
region on a keypress. This corresponds to the -sk option and the scrollKey
resource.
- Scroll to Bottom on Tty Output (scrollttyoutput)
- Enable (or disable)
scrolling to the bottom of the scrolling region on output to the terminal..
This corresponds to the -si option and the scrollTtyOutput resource.
- Allow
80/132 Column Switching (allow132)
- Enable (or disable) switching between
80 and 132 columns. This corresponds to the -132 option and the c132 resource.
- Enable Curses Emulation (cursesemul)
- Enable (or disable) a workaround
for the so-called "curses bug". This corresponds to the -cu option and the
curses resource.
- Enable Visual Bell (visualbell)
- Enable (or disable) visible
bell (i.e., flashing) instead of an audible bell. This corresponds to the
-vb option and the visualBell resource.
- Enable Pop on Bell (poponbell)
- Enable
(or disable) raising of the window when Control-G is received. This corresponds
to the -pop option and the popOnBell resource.
- Enable Margin Bell (marginbell)
- Enable (or disable) a bell when the user types near the right margin. This
corresponds to the -mb option and the marginBell resource.
- Enable Blinking
Cursor (cursorblink)
- Enable (or disable) the blinking-cursor feature. This
corresponds to the -bc option and the cursorBlink resource. There is also
an escape sequence (see the document Xterm Control Sequences). The menu
entry and the escape sequence states are XOR'd: if both are enabled, the
cursor will not blink, if only one is enabled, the cursor will blink.
- Enable
Alternate Screen Switching (titeInhibit)
- Enable (or disable) switching
between the normal and alternate screens. This corresponds to the titeInhibit
resource. There is no corresponding command-line option.
- Enable Active Icon
(activeicon)
- Enable (or disable) the active-icon feature. This corresponds
to the -ai option and the activeIcon resource.
- VT102/VT220 Commands:
- Do
Soft Reset (softreset)
- Reset scroll regions. This can be convenient when
some program has left the scroll regions set incorrectly (often a problem
when using VMS or TOPS-20). This corresponds to the VT220 DECSTR control
sequence.
- Do Full Reset (hardreset)
- The full reset entry will clear the
screen, reset tabs to every eight columns, and reset the terminal modes
(such as wrap and smooth scroll) to their initial states just after xterm
has finished processing the command line options. This corresponds to the
VT102 RIS control sequence, with a few obvious differences. For example,
your session is not disconnected as a real VT102 would do.
- Reset and Clear
Saved Lines (clearsavedlines)
- Perform a full reset, and also clear the
saved lines.
- Commands for setting the current screen:
- Show Tek Window
(tekshow)
- When enabled, pops the Tektronix 4014 window up (makes it visible).
When disabled, hides the Tektronix 4014 window.
- Switch to Tek Mode (tekmode)
- When enabled, pops the Tektronix 4014 window up if it is not already visible,
and switches the input stream to that window. When disabled, hides the Tektronix
4014 window and switches input back to the VTxxx window.
- Hide VT Window
(vthide)
- When enabled, hides the VTxxx window, shows the Tektronix 4014
window if it was not already visible and switches the input stream to that
window. When disabled, shows the VTxxx window, and switches the input stream
to that window.
- Show Alternate Screen (altscreen)
- When enabled, shows the
alternate screen. When disabled, shows the normal screen. Note that the normal
screen may have saved lines; the alternate screen does not.
The fontMenu
sets the font used in the VT102 window, or modifies the way the font is
specified or displayed. There are three sections.
The first section allows
you to select the font from a set of alternatives:
- Default (fontdefault)
- Set the font to the default, i.e., that given by the *VT100.font resource.
- Unreadable (font1)
- Set the font to that given by the *VT100.font1 resource.
- Tiny (font2)
- Set the font to that given by the *VT100.font2 resource.
- Small
(font3)
- Set the font to that given by the *VT100.font3 resource.
- Medium (font4)
- Set the font to that given by the *VT100.font4 resource.
- Large (font5)
- Set
the font to that given by the *VT100.font5 resource.
- Huge (font6)
- Set the
font to that given by the *VT100.font6 resource.
- Escape Sequence
- This allows
you to set the font last specified by the Set Font escape sequence (see
the document Xterm Control Sequences).
- Selection (fontsel)
- This allows you
to set the font specified the current selection as a font name (if the
PRIMARY selection is owned).
The second section allows you to modify the
way it is displayed:
- Line-Drawing Characters (font-linedrawing)
- When set,
tells xterm to draw its own line-drawing characters. Otherwise it relies
on the font containing these.
- Doublesized Characters (font-doublesize)
- When
set, xterm may ask the font server to produce scaled versions of the normal
font, for VT102 double-size characters.
The third section allows you to modify
the way it is specified:
- TrueType Fonts (render-font)
- If the renderFont
and corresponding resources were set, this is a further control whether
xterm will actually use the Xft library calls to obtain a font.
- UTF-8 (utf8-mode)
- This controls whether xterm uses UTF-8 encoding of input/output. It is useful
for temporarily switching xterm to display text from an application which
does not follow the locale settings.
The tekMenu sets various modes in
the Tektronix emulation, and is popped up when the ``control'' key and pointer
button two are pressed in the Tektronix window. The current font size is
checked in the modes section of the menu.
- Large Characters (tektextlarge)
- #2 Size Characters (tektext2)
- #3 Size Characters (tektext3)
- Small Characters
(tektextsmall)
Commands:
- PAGE (tekpage)
- Clear the Tektronix window.
- RESET
(tekreset)
- COPY (tekcopy)
Windows:
- Show VT Window (vtshow)
- Switch to VT
Mode (vtmode)
- Hide Tek Window (tekhide)
X environments differ
in their security consciousness. Most servers, run under xdm, are capable
of using a ``magic cookie'' authorization scheme that can provide a reasonable
level of security for many people. If your server is only using a host-based
mechanism to control access to the server (see xhost(1)
), then if you enable
access for a host and other users are also permitted to run clients on
that same host, it is possible that someone can run an application which
uses the basic services of the X protocol to snoop on your activities,
potentially capturing a transcript of everything you type at the keyboard.
Any process which has access to your X display can manipulate it in ways
that you might not anticipate, even redirecting your keyboard to itself
and sending events to your application's windows. This is true even with
the ``magic cookie'' authorization scheme. While the allowSendEvents provides
some protection against rogue applications tampering with your programs,
guarding against a snooper is harder.
The possibility of an application
spying on your keystrokes is of particular concern when you want to type
in a password or other sensitive data. The best solution to this problem
is to use a better authorization mechanism than is provided by X. Given
all of these caveats, a simple mechanism exists for protecting keyboard
input in xterm.
The xterm menu (see MENUS above) contains a Secure Keyboard
entry which, when enabled, attempts to ensure that all keyboard input is
directed only to xterm (using the GrabKeyboard protocol request). When an
application prompts you for a password (or other sensitive data), you can
enable Secure Keyboard using the menu, type in the data, and then disable
Secure Keyboard using the menu again. This ensures that you know which window
is accepting your keystrokes. It cannot ensure that there are no processes
which have access to your X display that might be observing the keystrokes
as well.
Only one X client at a time can grab the keyboard, so when you
attempt to enable Secure Keyboard it may fail. In this case, the bell will
sound. If the Secure Keyboard succeeds, the foreground and background colors
will be exchanged (as if you selected the Reverse Video entry in the Modes
menu); they will be exchanged again when you exit secure mode. If the colors
do not switch, then you should be very suspicious that you are being spoofed.
If the application you are running displays a prompt before asking for
the password, it is safest to enter secure mode before the prompt gets
displayed, and to make sure that the prompt gets displayed correctly (in
the new colors), to minimize the probability of spoofing. You can also bring
up the menu again and make sure that a check mark appears next to the entry.
Secure Keyboard mode will be disabled automatically if your xterm window
becomes iconified (or otherwise unmapped), or if you start up a reparenting
window manager (that places a title bar or other decoration around the
window) while in Secure Keyboard mode. (This is a feature of the X protocol
not easily overcome.) When this happens, the foreground and background
colors will be switched back and the bell will sound in warning.
Clicking the left mouse button twice in rapid succession will cause
all characters of the same class (e.g., letters, white space, punctuation)
to be selected. Since different people have different preferences for what
should be selected (for example, should filenames be selected as a whole
or only the separate subnames), the default mapping can be overridden through
the use of the charClass (class CharClass) resource.
This resource is a
series of comma-separated of range:value pairs. The range is either a single
number or low-high in the range of 0 to 65535, corresponding to the code
for the character or characters to be set. The value is arbitrary, although
the default table uses the character number of the first character occurring
in the set. When not in UTF-8 mode, only the first 256 bytes of this table
will be used.
The default table starts as follows -
static int charClass[256] = {
/* NUL SOH STX ETX EOT ENQ ACK BEL */
32, 1, 1, 1, 1, 1, 1, 1,
/* BS HT NL VT NP CR SO SI */
1, 32, 1, 1, 1, 1, 1, 1,
/* DLE DC1 DC2 DC3 DC4 NAK SYN ETB */
1, 1, 1, 1, 1, 1, 1, 1,
/* CAN EM SUB ESC FS GS RS US */
1, 1, 1, 1, 1, 1, 1, 1,
/* SP ! " # $ % & ' */
" <- for emacs autocolor to work well :-)
32, 33, 34, 35, 36, 37, 38, 39,
/* ( ) * + , - . / */
40, 41, 42, 43, 44, 45, 46, 47,
/* 0 1 2 3 4 5 6 7 */
48, 48, 48, 48, 48, 48, 48, 48,
/* 8 9 : ; < = > ? */
48, 48, 58, 59, 60, 61, 62, 63,
/* @ A B C D E F G */
64, 48, 48, 48, 48, 48, 48, 48,
/* H I J K L M N O */
48, 48, 48, 48, 48, 48, 48, 48,
/* P Q R S T U V W */
48, 48, 48, 48, 48, 48, 48, 48,
/* X Y Z [ \ ] ^ _ */
48, 48, 48, 91, 92, 93, 94, 48,
/* ` a b c d e f g */
96, 48, 48, 48, 48, 48, 48, 48,
/* h i j k l m n o */
48, 48, 48, 48, 48, 48, 48, 48,
/* p q r s t u v w */
48, 48, 48, 48, 48, 48, 48, 48,
/* x y z { | } ~ DEL */
48, 48, 48, 123, 124, 125, 126, 1,
/* x80 x81 x82 x83 IND NEL SSA ESA */
1, 1, 1, 1, 1, 1, 1, 1,
/* HTS HTJ VTS PLD PLU RI SS2 SS3 */
1, 1, 1, 1, 1, 1, 1, 1,
/* DCS PU1 PU2 STS CCH MW SPA EPA */
1, 1, 1, 1, 1, 1, 1, 1,
/* x98 x99 x9A CSI ST OSC PM APC */
1, 1, 1, 1, 1, 1, 1, 1,
/* - i c/ L ox Y- | So */
160, 161, 162, 163, 164, 165, 166, 167,
/* .. c0 ip << _ R0 - */
168, 169, 170, 171, 172, 173, 174, 175,
/* o +- 2 3 ' u q| . */
176, 177, 178, 179, 180, 181, 182, 183,
/* , 1 2 >> 1/4 1/2 3/4 ? */
184, 185, 186, 187, 188, 189, 190, 191,
/* A` A' A^ A~ A: Ao AE C, */
48, 48, 48, 48, 48, 48, 48, 48,
/* E` E' E^ E: I` I' I^ I: */
48, 48, 48, 48, 48, 48, 48, 48,
/* D- N~ O` O' O^ O~ O: X */
48, 48, 48, 48, 48, 48, 48, 215,
/* O/ U` U' U^ U: Y' P B */
48, 48, 48, 48, 48, 48, 48, 48,
/* a` a' a^ a~ a: ao ae c, */
48, 48, 48, 48, 48, 48, 48, 48,
/* e` e' e^ e: i` i' i^ i: */
48, 48, 48, 48, 48, 48, 48, 48,
/* d n~ o` o' o^ o~ o: -: */
48, 48, 48, 48, 48, 48, 48, 247,
/* o/ u` u' u^ u: y' P y: */
48, 48, 48, 48, 48, 48, 48, 48};
For example, the string ``33:48,37:48,45-47:48,38:48'' indicates that the exclamation
mark, percent sign, dash, period, slash, and ampersand characters should
be treated the same way as characters and numbers. This is useful for cutting
and pasting electronic mailing addresses and filenames.
It is possible
to rebind keys (or sequences of keys) to arbitrary strings for input, by
changing the translations resources for the vt100 or tek4014 widgets. Changing
the translations resource for events other than key and button events is
not expected, and will cause unpredictable behavior. The following actions
are provided for use within the vt100 or tek4014 translations resources:
- allow-send-events(on/off/toggle)
- This action set or toggles the allowSendEvents
resource and is also invoked by the allowsends entry in mainMenu.
- bell([percent])
- This action rings the keyboard bell at the specified percentage above or
below the base volume.
- clear-saved-lines()
- This action does hard-reset() (see
below) and also clears the history of lines saved off the top of the screen.
It is also invoked from the clearsavedlines entry in vtMenu. The effect
is identical to a hardware reset (RIS) control sequence.
- create-menu(m/v/f/t)
- This action creates one of the menus used by xterm, if it has not been
previously created. The parameter values are the menu names: mainMenu, vtMenu,
fontMenu, tekMenu, respectively.
- dabbrev-expand()
- Expands the word before
cursor by searching in the preceding text on the screen and in the scrollback
buffer for words starting with that abbreviation. By default bound to Meta /.
Repeating dabbrev-expand() several times in sequence searches for an alternative
expansion by looking farther back. Lack of more matches is signaled by a
beep(). Attempts to expand an empty word (i.e., when cursor is preceded by
a space) yield successively all previous words. Consecutive identical expansions
are ignored. The word here is defined as a sequence of non-whitespace characters.
This feature partially emulates the behavior of `dynamic abbreviation' expansion
in Emacs (also bound there to M-/).
- deiconify()
- Changes the window state
back to normal, if it was iconified.
- delete-is-del()
- This action toggles the
state of the deleteIsDEL resource.
- dired-button()
- Handles a button event
(other than press and release) by echoing the event's position (i.e., character
line and column) in the following format:
^X ESC G <line+' '> <col+' '>
- iconify()
- Iconifies the window.
- hard-reset()
- This action resets the scrolling region,
tabs, window size, and cursor keys and clears the screen. It is also invoked
from the hardreset entry in vtMenu.
- ignore()
- This action ignores the event
but checks for special pointer position escape sequences.
- insert()
- This
action inserts the character or string associated with the key that was
pressed.
- insert-eight-bit()
- This action inserts an eight-bit (Meta) version
of the character or string associated with the key that was pressed. The
exact action depends on the value of the metaSendsEscape and the eightBitInput
resources.
- insert-selection(sourcename [, ...])
- This action inserts the string
found in the selection or cutbuffer indicated by sourcename. Sources are
checked in the order given (case is significant) until one is found. Commonly-used
selections include: PRIMARY, SECONDARY, and CLIPBOARD. Cut buffers are typically
named CUT_BUFFER0 through CUT_BUFFER7.
- insert-seven-bit()
- This action is a
synonym for insert()
- interpret(control-sequence)
- Interpret the given control
sequence locally, i.e., without passing it to the host. This works by inserting
the control sequence at the front of the input buffer. Use "\" to escape
octal digits in the string. Xt does not allow you to put a null character
(i.e., "\000") in the string.
- keymap(name)
- This action dynamically defines
a new translation table whose resource name is name with the suffix Keymap
(case is significant). The name None restores the original translation table.
- larger-vt-font()
- Set the font to the next larger one, based on the font dimensions.
See also set-vt-font().
- load-vt-fonts(name[,class])
- Load fontnames from the
given subresource name and class. That is, load the "*VT100.name.font", resource
as "*VT100.font" etc. If no name is given, the original set of fontnames
is restored.
- Unlike set-vt-font(), this does not affect the escape- and select-fonts,
- since those are not based on resource values. It does affect the fonts loosely
organized under the ``Default'' menu entry: font, boldFont, wideFont and wideBoldFont.
- maximize()
- Resizes the window to fill the screen.
- meta-sends-escape()
- This
action toggles the state of the metaSendsEscape resource.
- popup-menu(menuname)
- This action displays the specified popup menu. Valid names (case is significant)
include: mainMenu, vtMenu, fontMenu, and tekMenu.
- print()
- This action prints
the window and is also invoked by the print entry in mainMenu.
- print-redir()
- This action toggles the printerControlMode between 0 and 2. The corresponding
popup menu entry is useful for switching the printer off if you happen
to change your mind after deciding to print random binary files on the
terminal.
- quit()
- This action sends a SIGHUP to the subprogram and exits.
It is also invoked by the quit entry in mainMenu.
- redraw()
- This action redraws
the window and is also invoked by the redraw entry in mainMenu.
- restore()
- Restores the window to the size before it was last maximized.
- scroll-back(count
[,units [,mouse] ])
- This action scrolls the text window backward so that
text that had previously scrolled off the top of the screen is now visible.
- The count argument
- indicates the number of units (which may be page, halfpage,
pixel, or line) by which to scroll.
- An adjustment can be specified for these
values by appending a "+" or "-"
- sign followed by a number, e.g., page-2 to
specify 2 lines less than a page.
- If the third parameter mouse is given,
the action is ignored when
- mouse reporting is enabled.
- scroll-forw(count
[,units [,mouse] ])
- This action is similar to scroll-back except that it
scrolls in the other direction.
- secure()
- This action toggles the Secure
Keyboard mode described in the section named SECURITY, and is invoked from
the securekbd entry in mainMenu.
- select-cursor-end(destname [, ...])
- This action
is similar to select-end except that it should be used with select-cursor-start.
- select-cursor-start()
- This action is similar to select-start except that it
begins the selection at the current text cursor position.
- select-end(destname
[, ...])
- This action puts the currently selected text into all of the selections
or cutbuffers specified by destname.
- select-extend()
- This action tracks the
pointer and extends the selection. It should only be bound to Motion events.
- select-set()
- This action stores text that corresponds to the current selection,
without affecting the selection mode.
- select-start()
- This action begins text
selection at the current pointer location. See the section on POINTER USAGE
for information on making selections.
- send-signal(signame)
- This action sends
the signal named by signame to the xterm subprocess (the shell or program
specified with the -e command line option) and is also invoked by the suspend,
continue, interrupt, hangup, terminate, and kill entries in mainMenu. Allowable
signal names are (case is not significant): tstp (if supported by the operating
system), suspend (same as tstp), cont (if supported by the operating system),
int, hup, term, quit, alrm, alarm (same as alrm) and kill.
- set-allow132(on/off/toggle)
- This action toggles the c132 resource and is also invoked from the allow132
entry in vtMenu.
- set-altscreen(on/off/toggle)
- This action toggles between
the alternate and current screens.
- set-appcursor(on/off/toggle)
- This action
toggles the handling Application Cursor Key mode and is also invoked by
the appcursor entry in vtMenu.
- set-appkeypad(on/off/toggle)
- This action toggles
the handling of Application Keypad mode and is also invoked by the appkeypad
entry in vtMenu.
- set-autolinefeed(on/off/toggle)
- This action toggles automatic
insertion of linefeeds and is also invoked by the autolinefeed entry in
vtMenu.
- set-autowrap(on/off/toggle)
- This action toggles automatic wrapping
of long lines and is also invoked by the autowrap entry in vtMenu.
- set-backarrow(on/off/toggle)
- This action toggles the backarrowKey resource and is also invoked from
the backarrow key entry in vtMenu.
- set-cursorblink(on/off/toggle)
- This action
toggles the cursorBlink resource and is also invoked from the cursorblink
entry in vtMenu.
- set-cursesemul(on/off/toggle)
- This action toggles the curses
resource and is also invoked from the cursesemul entry in vtMenu.
- set-font-doublesize(on/off/toggle)
- This action toggles the fontDoublesize resource and is also invoked by
the font-doublesize entry in fontMenu.
- set-hp-function-keys(on/off/toggle)
- This
action toggles the hpFunctionKeys resource and is also invoked by the hpFunctionKeys
entry in mainMenu.
- set-jumpscroll(on/off/toggle)
- This action toggles the
jumpscroll resource and is also invoked by the jumpscroll entry in vtMenu.
- set-font-linedrawing(on/off/toggle)
- This action toggles the xterm's state
regarding whether the current font has line-drawing characters and whether
it should draw them directly. It is also invoked by the font-linedrawing
entry in fontMenu.
- set-logging()
- This action toggles the state of the logging
option.
- set-old-function-keys(on/off/toggle)
- This action toggles the state
of legacy function keys and is also invoked by the oldFunctionKeys entry
in mainMenu.
- set-marginbell(on/off/toggle)
- This action toggles the marginBell
resource and is also invoked from the marginbell entry in vtMenu.
- set-num-lock()
- This action toggles the state of the numLock resource.
- set-pop-on-bell(on/off/toggle)
- This action toggles the popOnBell resource and is also invoked by the poponbell
entry in vtMenu.
- set-render-font(on/off/toggle)
- This action toggles the renderFont
resource and is also invoked by the render-font entry in fontMenu.
- set-reverse-video(on/off/toggle)
- This action toggles the reverseVideo resource and is also invoked by the
reversevideo entry in vtMenu.
- set-reversewrap(on/off/toggle)
- This action
toggles the reverseWrap resource and is also invoked by the reversewrap
entry in vtMenu.
- set-scroll-on-key(on/off/toggle)
- This action toggles the scrollKey
resource and is also invoked from the scrollkey entry in vtMenu.
- set-scroll-on-tty-output(on/off/toggle)
- This action toggles the scrollTtyOutput resource and is also invoked from
the scrollttyoutput entry in vtMenu.
- set-scrollbar(on/off/toggle)
- This action
toggles the scrollbar resource and is also invoked by the scrollbar entry
in vtMenu.
- set-sco-function-keys(on/off/toggle)
- This action toggles the scoFunctionKeys
resource and is also invoked by the scoFunctionKeys entry in mainMenu.
- set-sun-function-keys(on/off/toggle)
- This action toggles the sunFunctionKeys resource and is also invoked by
the sunFunctionKeys entry in mainMenu.
- set-sun-keyboard(on/off/toggle)
- This
action toggles the sunKeyboard resource and is also invoked by the sunKeyboard
entry in mainMenu.
- set-tek-text(large/2/3/small)
- This action sets font used
in the Tektronix window to the value of the resources tektextlarge, tektext2,
tektext3, and tektextsmall according to the argument. It is also by the
entries of the same names as the resources in tekMenu.
- set-terminal-type(type)
- This action directs output to either the vt or tek windows, according to
the type string. It is also invoked by the tekmode entry in vtMenu and the
vtmode entry in tekMenu.
- set-titeInhibit(on/off/toggle)
- This action toggles
the titeInhibit resource, which controls switching between the alternate
and current screens.
- set-toolbar(on/off/toggle)
- This action toggles the
toolbar feature and is also invoked by the toolbar entry in mainMenu.
- set-utf8-mode(on/off/toggle)
- This action toggles the utf8 resource and is also invoked by the utf8-mode
entry in fontMenu.
- set-visibility(vt/tek,on/off/toggle)
- This action controls
whether or not the vt or tek windows are visible. It is also invoked from
the tekshow and vthide entries in vtMenu and the vtshow and tekhide entries
in tekMenu.
- set-visual-bell(on/off/toggle)
- This action toggles the visualBell
resource and is also invoked by the visualbell entry in vtMenu.
- set-vt-font(d/1/2/3/4/5/6/e/s
[,normalfont [, boldfont]])
- This action sets the font or fonts currently
being used in the VT102 window. The first argument is a single character
that specifies the font to be used:
- d or D indicate the default font (the
font initially
- used when xterm was started),
- 1 through 6 indicate the fonts
- specified by the font1 through font6 resources,
- e or E
- indicate the normal
and bold fonts that have been set through escape codes (or specified as
the second and third action arguments, respectively), and
- s or S indicate
the font selection (as made by programs such as
- xfontsel(1)
) indicated
by the second action argument.
- If xterm is configured to support wide characters,
an
- additional two optional parameters are recognized for the e argument:
wide font and wide bold font.
- smaller-vt-font()
- Set the font to the next smaller
one, based on the font dimensions. See also set-vt-font().
- soft-reset()
- This
action resets the scrolling region and is also invoked from the softreset
entry in vtMenu. The effect is identical to a soft reset (DECSTR) control
sequence.
- start-extend()
- This action is similar to select-start except that
the selection is extended to the current pointer location.
- start-cursor-extend()
- This action is similar to select-extend except that the selection is extended
to the current text cursor position.
- string(string)
- This action inserts
the specified text string as if it had been typed. Quotation is necessary
if the string contains whitespace or non-alphanumeric characters. If the
string argument begins with the characters ``0x'', it is interpreted as a hex
character constant.
- tek-copy()
- This action copies the escape codes used to
generate the current window contents to a file in the current directory
beginning with the name COPY. It is also invoked from the tekcopy entry
in tekMenu.
- tek-page()
- This action clears the Tektronix window and is also
invoked by the tekpage entry in tekMenu.
- tek-reset()
- This action resets the
Tektronix window and is also invoked by the tekreset entry in tekMenu.
- vi-button()
- Handles a button event (other than press and release) by echoing a control
sequence computed from the event's line number in the screen relative to
the current line:
ESC ^P or ESC ^N
according to whether the event is
before, or after the current line, respectively. The ^N (or ^P) is repeated
once for each line that the event differs from the current line. The control
sequence is omitted altogether if the button event is on the current line.
- visual-bell()
- This action flashes the window quickly.
The Tektronix window
also has the following action:
- gin-press(l/L/m/M/r/R)
- This action sends
the indicated graphics input code.
The default bindings in the VT102 window
are:
Shift <KeyPress> Prior:scroll-back(1,halfpage) \n\
Shift <KeyPress> Next:scroll-forw(1,halfpage) \n\
Shift <KeyPress> Select:select-cursor-start() \
select-cursor-end(PRIMARY, CUT_BUFFER0)
\n\
Shift <KeyPress> Insert:insert-selection(PRIMARY, CUT_BUFFER0) \n\
Shift~Ctrl <KeyPress> KP_Add:larger-vt-font() \n\
Shift Ctrl <KeyPress> KP_Add:smaller-vt-font() \n\
Shift <KeyPress> KP_Subtract:smaller-vt-font() \n\
~Meta <KeyPress>:insert-seven-bit() \n\
Meta <KeyPress>:insert-eight-bit() \n\
!Ctrl <Btn1Down>:popup-menu(mainMenu) \n\
!Lock Ctrl <Btn1Down>:popup-menu(mainMenu) \n\
!Lock Ctrl @Num_Lock <Btn1Down>:popup-menu(mainMenu) \n\
! @Num_Lock Ctrl <Btn1Down>:popup-menu(mainMenu) \n\
~Meta <Btn1Down>:select-start() \n\
~Meta <Btn1Motion>:select-extend() \n\
!Ctrl <Btn2Down>:popup-menu(vtMenu) \n\
!Lock Ctrl <Btn2Down>:popup-menu(vtMenu) \n\
!Lock Ctrl @Num_Lock <Btn2Down>:popup-menu(vtMenu) \n\
! @Num_Lock Ctrl <Btn2Down>:popup-menu(vtMenu) \n\
~Ctrl ~Meta <Btn2Down>:ignore() \n\
Meta <Btn2Down>:clear-saved-lines() \n\
~Ctrl ~Meta <Btn2Up>:insert-selection(PRIMARY, CUT_BUFFER0) \n\
!Ctrl <Btn3Down>:popup-menu(fontMenu) \n\
!Lock Ctrl <Btn3Down>:popup-menu(fontMenu) \n\
!Lock Ctrl @Num_Lock <Btn3Down>:popup-menu(fontMenu) \n\
! @Num_Lock Ctrl <Btn3Down>:popup-menu(fontMenu) \n\
~Ctrl ~Meta <Btn3Down>:start-extend() \n\
~Meta <Btn3Motion>:select-extend() \n\
Ctrl <Btn4Down>:scroll-back(1,halfpage,m) \n\
Lock Ctrl <Btn4Down>:scroll-back(1,halfpage,m) \n\
Lock @Num_Lock Ctrl <Btn4Down>:scroll-back(1,halfpage,m) \n\
@Num_Lock Ctrl <Btn4Down>:scroll-back(1,halfpage,m) \n\
<Btn4Down>:scroll-back(5,line,m) \n\
Ctrl <Btn5Down>:scroll-forw(1,halfpage,m) \n\
Lock Ctrl <Btn5Down>:scroll-forw(1,halfpage,m) \n\
Lock @Num_Lock Ctrl <Btn5Down>:scroll-forw(1,halfpage,m) \n\
@Num_Lock Ctrl <Btn5Down>:scroll-forw(1,halfpage,m) \n\
<Btn5Down>:scroll-forw(5,line,m) \n\
<BtnUp>:select-end(PRIMARY, CUT_BUFFER0) \n\
<BtnDown>:ignore()
The default bindings in the Tektronix window are:
~Meta<KeyPress>: insert-seven-bit() \n\
Meta<KeyPress>: insert-eight-bit() \n\
!Ctrl <Btn1Down>: popup-menu(mainMenu) \n\
!Lock Ctrl <Btn1Down>: popup-menu(mainMenu) \n\
!Lock Ctrl @Num_Lock <Btn1Down>: popup-menu(mainMenu) \n\
!Ctrl @Num_Lock <Btn1Down>: popup-menu(mainMenu) \n\
!Ctrl <Btn2Down>: popup-menu(tekMenu) \n\
!Lock Ctrl <Btn2Down>: popup-menu(tekMenu) \n\
!Lock Ctrl @Num_Lock <Btn2Down>: popup-menu(tekMenu) \n\
!Ctrl @Num_Lock <Btn2Down>: popup-menu(tekMenu) \n\
Shift ~Meta<Btn1Down>: gin-press(L) \n\
~Meta<Btn1Down>: gin-press(l) \n\
Shift ~Meta<Btn2Down>: gin-press(M) \n\
~Meta<Btn2Down>: gin-press(m) \n\
Shift ~Meta<Btn3Down>: gin-press(R) \n\
~Meta<Btn3Down>: gin-press(r)
Here is an example which uses shifted select/paste to copy to the clipboard,
and unshifted select/paste for the primary selection. In each case, a (different)
cut buffer is also a target or source of the select/paste operation. It
is important to remember however, that cut buffers store data in ISO-8859-1
encoding, while selections can store data in a variety of formats and encodings.
While xterm owns the selection, it highlights it. When it loses the selection,
it removes the corresponding highlight. But you can still paste from the
corresponding cut buffer.
*VT100*translations: #override \n\
~Shift~Ctrl<Btn2Up>: insert-selection(PRIMARY, CUT_BUFFER0) \n\
Shift~Ctrl<Btn2Up>: insert-selection(CLIPBOARD, CUT_BUFFER1) \n\
~Shift<BtnUp>: select-end(PRIMARY, CUT_BUFFER0) \n\
Shift<BtnUp>: select-end(CLIPBOARD, CUT_BUFFER1)
Below is a sample how of the keymap() action is used to add special keys
for entering commonly-typed works:
*VT100.Translations: #override <Key>F13: keymap(dbx)
*VT100.dbxKeymap.translations: \
<Key>F14: keymap(None) \n\
<Key>F17: string("next") string(0x0d) \n\
<Key>F18: string("step") string(0x0d) \n\
<Key>F19: string("continue") string(0x0d) \n\
<Key>F20: string("print ") insert-selection(PRIMARY, CUT_BUFFER0)
The Xterm Control Sequences document lists
the control sequences which an application can send xterm to make it perform
various operations. Most of these operations are standardized, from either
the DEC or Tektronix terminals, or from more widely used standards such
as ISO 6429.
Xterm sets the environment variables ``TERM'' for
the window you have created. It also uses and sets the environment variable
``DISPLAY'' to specify which bit map display terminal to use. The environment
variable ``WINDOWID'' is set to the X window id number of the xterm window.
Depending on your system configuration, xterm may also set the following:
- COLUMNS
- the width of the xterm in characters (cf: "stty columns").
- HOME
- when xterm is configured to update utmp.
- LINES
- the height of the xterm in
characters (cf: "stty rows").
- LOGNAME
- when xterm is configured to update
utmp.
- SHELL
- when xterm is configured to update utmp.
- TERMCAP
- the contents
of the termcap entry corresponding to $TERM, with lines and columns values
substituted for the actual size window you have created.
- TERMINFO
- may be
defined to a nonstandard location in the configure script.
The actual
pathnames given may differ on your system.
- /etc/utmp
- the system logfile,
which records user logins.
- /etc/wtmp
- the system logfile, which records user
logins and logouts.
- /usr/X11R6/lib/X11/app-defaults/XTerm
- the xterm default
application resources.
- /usr/X11R6/lib/X11/app-defaults/XTerm-color
- the xterm
color application resources. If your display supports color, use this *customization:
-color in your .Xdefaults file to automatically turn on color in xterm and
similar applications.
Most of the fatal error messages from
xterm use the following format: xterm: Error XXX, errno YYY: ZZZ
The XXX
codes (which are used by xterm as its exit-code) are listed below, with
a brief explanation.
- is used for miscellaneous errors, usually accompanied
by a specific message,
- ERROR_FIONBIO
main: ioctl() failed on FIONBIO - ERROR_F_GETFL
main: ioctl() failed on F_GETFL - ERROR_F_SETFL
main: ioctl() failed on F_SETFL - ERROR_OPDEVTTY
spawn: open() failed on /dev/tty - ERROR_TIOCGETP
spawn: ioctl() failed on TIOCGETP - ERROR_PTSNAME
spawn: ptsname() failed - ERROR_OPPTSNAME
spawn: open() failed on ptsname - ERROR_PTEM
spawn: ioctl() failed on I_PUSH/"ptem" - ERROR_CONSEM
spawn: ioctl() failed on I_PUSH/"consem" - ERROR_LDTERM
spawn: ioctl() failed on I_PUSH/"ldterm" - ERROR_TTCOMPAT
spawn: ioctl() failed on I_PUSH/"ttcompat" - ERROR_TIOCSETP
spawn: ioctl() failed on TIOCSETP - ERROR_TIOCSETC
spawn: ioctl() failed on TIOCSETC - ERROR_TIOCSETD
spawn: ioctl() failed on TIOCSETD - ERROR_TIOCSLTC
spawn: ioctl() failed on TIOCSLTC - ERROR_TIOCLSET
spawn: ioctl() failed on TIOCLSET - ERROR_INIGROUPS
spawn: initgroups() failed - ERROR_FORK
spawn: fork() failed - ERROR_EXEC
spawn: exec() failed - ERROR_PTYS
get_pty: not enough ptys - ERROR_PTY_EXEC
waiting for initial map - ERROR_SETUID
spawn: setuid() failed - ERROR_INIT
spawn: can't initialize window - ERROR_TIOCKSET
spawn: ioctl() failed on TIOCKSET - ERROR_TIOCKSETC
spawn: ioctl() failed on TIOCKSETC - ERROR_SPREALLOC
spawn: realloc of ttydev failed - ERROR_LUMALLOC
luit: command-line malloc failed - ERROR_SELECT
in_put: select() failed - ERROR_VINIT
VTInit: can't initialize window - ERROR_KMMALLOC1
HandleKeymapChange: malloc failed - ERROR_TSELECT
Tinput: select() failed - ERROR_TINIT
TekInit: can't initialize window - ERROR_BMALLOC2
SaltTextAway: malloc() failed - ERROR_LOGEXEC
StartLog: exec() failed - ERROR_XERROR
xerror: XError event - ERROR_XIOERROR
xioerror: X I/O error - ERROR_SCALLOC
Alloc: calloc() failed on base - ERROR_SCALLOC2
Alloc: calloc() failed on rows - ERROR_SREALLOC
ScreenResize: realloc() failed on alt base - ERROR_RESIZE
ScreenResize: malloc() or realloc() failed - ERROR_SAVE_PTR
ScrnPointers: malloc/realloc() failed - ERROR_SBRALLOC
ScrollBarOn: realloc() failed on base - ERROR_SBRALLOC2
ScrollBarOn: realloc() failed on rows - ERROR_MMALLOC
my_memmove: malloc/realloc failed
Large pastes do not work on some
systems. This is not a bug in xterm; it is a bug in the pseudo terminal
driver of those systems. xterm feeds large pastes to the pty only as fast
as the pty will accept data, but some pty drivers do not return enough
information to know if the write has succeeded.
Many of the options are
not resettable after xterm starts.
This program still needs to be rewritten.
It should be split into very modular sections, with the various emulators
being completely separate widgets that do not know about each other. Ideally,
you'd like to be able to pick and choose emulator widgets and stick them
into a single control widget.
There needs to be a dialog box to allow entry
of the Tek COPY file name.
resize(1)
, luit(1)
, X(7)
, pty(4)
, tty(4)
Xterm Control Sequences (this is the file ctlseqs.ms).
http://invisible-island.net/xterm/xterm.html
Far too many people, including:
Loretta Guarino Reid (DEC-UEG-WSL),
Joel McCormack (DEC-UEG-WSL), Terry Weissman (DEC-UEG-WSL), Edward Moy (Berkeley),
Ralph R. Swick (MIT-Athena), Mark Vandevoorde (MIT-Athena), Bob McNamara (DEC-MAD),
Jim Gettys (MIT-Athena), Bob Scheifler (MIT X Consortium), Doug Mink (SAO),
Steve Pitschke (Stellar), Ron Newman (MIT-Athena), Jim Fulton (MIT X Consortium),
Dave Serisky (HP), Jonathan Kamens (MIT-Athena), Jason Bacon, Stephen P.
Wall, David Wexelblat, and Thomas Dickey (XFree86 Project).
Table of Contents