neulab/tldr huggingface dataset:
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 selection when the button is released:
<BtnUp>:select-end(SELECT, CUT_BUFFER0) \n
Normally (but see the discussion of on2Clicks, etc):
•   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 given selection, if any, otherwise from the cut buffer, inserting it as keyboard input:
~Ctrl ~Meta <Btn2Up>:insert-selection(SELECT, CUT_BUFFER0)
Pointer button three (usually right) extends the current selection.
~Ctrl ~Meta <Btn3Down>:start-extend()
(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.
Scrolling 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.
Tektronix Pointer Unlike the VTxxx 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).
SELECT/PASTE X clients provide select and paste support by responding to requests conveyed by the X server.  The X server holds data in “atoms” which correspond to the different types of selection (PRIMARY, SECONDARY, CLIPBOARD) as well as the similar cut buffer mechanism (CUT_BUFFER0 to CUT_BUFFER7).  Those are documented in the ICCCM.
The ICCCM deals with the underlying mechanism for select/paste.  It does not mention highlighting.  The selection is not the same as highlighting. Xterm (like many applications) uses highlighting to show you the currently selected text.  An X application may own a selection, which allows it to be the source of data copied using a given selection atom Xterm may continue owning a selection after it stops highlighting (see keepSelection).
PRIMARY When configured to use the primary selection (the default), xterm can provide the selection data in ways which help to retain character encoding information as it is pasted.
The PRIMARY token is a standard X feature, documented in the ICCCM (Inter-Client Communication Conventions Manual), which states
The selection named by the atom PRIMARY is used for all commands that take only a single argument and is the principal means of communication between clients that use the selection mechanism.
A user “selects” text on xterm, which highlights the selected text.  A subsequent “paste” to another client forwards a request to the client owning the selection.  If xterm owns the primary selection, it makes the data available in the form of one or more “selection targets”.  If it does not own the primary selection, e.g., if it has released it or another client has asserted ownership, it relies on cut-buffers to pass the data.  But cut-buffers handle only ISO-8859-1 data (officially - some clients ignore the rules).
CLIPBOARD When configured to use the clipboard (using the selectToClipboard resource), the problem with persistence of ownership is bypassed. Otherwise, there is no difference regarding the data which can be passed via selection.
The selectToClipboard resource is a compromise, allowing CLIPBOARD to be treated almost like PRIMARY, unlike the ICCCM, which describes CLIPBOARD in different terms than PRIMARY or SECONDARY.  Its lengthy explanation begins with the essential points:
The selection named by the atom CLIPBOARD is used to hold data that is being transferred between clients, that is, data that usually is being cut and then pasted or copied and then pasted.  Whenever a client wants to transfer data to the clipboard:
•   It should assert ownership of the CLIPBOARD.
•   If it succeeds in acquiring ownership, it should be prepared to respond to a request for the contents of the CLIPBOARD in the usual way (retaining the data to be able to return it).  The request may be generated by the clipboard client described below.
SELECT However, many applications use CLIPBOARD in imitation of other windowing systems.  The selectToClipboard resource (and corresponding menu entry Select to Clipboard) introduce the SELECT token (known only to xterm) which chooses between the PRIMARY and CLIPBOARD tokens.
Without using this feature, one can use workarounds such as the xclip program to show the contents of the X clipboard within an xterm window.
SECONDARY This is used less often than PRIMARY or CLIPBOARD.  According to the ICCCM, it is used
•   As the second argument to commands taking two arguments (for example, “exchange primary and secondary selections”)
•   As a means of obtaining data when there is a primary selection and the user does not want to disturb it
Selection Targets The different types of data which are passed depend on what the receiving client asks for.  These are termed selection targets.
When asking for the selection data, xterm tries the following types in this order:
UTF8_STRING This is an XFree86 extension, which denotes that the data is encoded in UTF-8.  When xterm is built with wide-character support, it both accepts and provides this type.
TEXT the text is in the encoding which corresponds to your current locale.
COMPOUND_TEXT this is a format for multiple character set data, such as multi-lingual text.  It can store UTF-8 data as a special case.
STRING This is Latin 1 (ISO-8859-1) data.
The middle two (TEXT and COMPOUND_TEXT) are added if xterm is configured with the i18nSelections resource set to “true”.
UTF8_STRING is preferred (therefore first in the list) since xterm stores text as Unicode data when running in wide-character mode, and no translation is needed.  On the other hand, TEXT and COMPOUND_TEXT may require translation.  If the translation is incomplete, they will insert X's “defaultString” whose value cannot be set, and may simply be empty. Xterm's defaultString resource specifies the string to use for incomplete translations of the UTF8_STRING.
You can alter the types which xterm tries using the eightBitSelectTypes or utf8SelectTypes resources.  For instance, you might have some specific locale setting which does not use UTF-8 encoding.  The resource value is a comma-separated list of the selection targets, which consist of the names shown.  You can use the special name I18N to denote the optional inclusion of TEXT and COMPOUND_TEXT.  The names are matched ignoring case, and can be abbreviated.  The default list can be expressed in several ways, e.g.,
UTF8_STRING,I18N,STRING utf8,i18n,string u,i,s
Mouse Protocol Applications can send escape sequences to xterm to cause it to send escape sequences back to the computer when you press a pointer button, or even (depending on which escape sequence) send escape sequences back to the computer as you move the pointer.
These escape sequences and the responses, called the mouse protocol, are documented in XTerm Control Sequences.  They do not appear in the actions invoked by the translations resource because the resource does not change while you run xterm, whereas applications can change the mouse prototol (i.e., enable, disable, use different modes).
However, the mouse protocol is interpreted within the actions that are usually associated with the pointer buttons.  Xterm ignores the mouse protocol in the insert-selection action if the shift-key is pressed at the same time.  It also modifies a few other actions if the shift-key is pressed, e.g., suppressing the response with the pointer position, though not eliminating changes to the selected text.
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.
Main Options 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 VTxxx and Tektronix windows.  There are several sections:
Commands for managing X events:
Toolbar (resource toolbar) Clicking on the “Toolbar” menu entry hides the toolbar if it is visible, and shows it if it is not.
Secure Keyboard (resource 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 (resource 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 (resource redraw) Forces the X display to repaint; useful in some environments.
Commands for capturing output:
Log to File (resource logging) Captures text sent to the screen in a log file, as in the -l logging option.
Print-All Immediately (resource print-immediate) Invokes the print-immediate action, sending the text of the current window directly to a file, as specified by the printFileImmediate, printModeImmediate and printOptsImmediate resources.
Print-All on Error (resource print-on-error) Invokes the print-on-error action, which toggles a flag telling xterm that if it exits with an X error, to send the text of the current window directly to a file, as specified by the printFileOnXError, printModeOnXError and printOptsOnXError resources.
Print Window (resource print) Sends the text of the current window to the program given in the printerCommand resource.
Redirect to Printer (resource 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.
XHTML Screen Dump (resource dump-html) Available only when compiled with screen dump support. Invokes the dump-html action.  This creates an XHTML file matching the contents of the current screen, including the border, internal border, colors and most attributes: bold, italic, underline, faint, strikeout, reverse; blink is rendered as white-on-red; double underline is rendered the same as underline since there is no portable equivalent in CSS 2.2.
The font is whatever your browser uses for preformatted (<pre>) elements.  The XHTML file references a cascading style sheet (CSS) named “xterm.css” that you can create to select a font or override properties.
The following CSS selectors are used with the expected default behavior in the XHTML file:
.ul for underline, .bd for bold, .it for italic, .st for strikeout, .lu for strikeout combined with underline.
In addition you may use
.ev to affect even numbered lines and .od to affect odd numbered lines.
Attributes faint, reverse and blink are implemented as style attributes setting color properties.  All colors are specified as RGB percentages in order to support displays with 10 bits per RGB.
The name of the file will be
xterm.yyyy.MM.dd.hh.mm.ss.xhtml
where yyyy, MM, dd, hh, mm and ss are the year, month, day, hour, minute and second when the screen dump was performed (the file is created in the directory xterm is started in, or the home directory for a login xterm).
The dump-html action can also be triggered using the Media Copy control sequence CSI 1 0 i, for example from a shell script with
printf '\033[10i'
Only the UTF-8 encoding is supported.
SVG Screen Dump (resource dump-svg) Available only when compiled with screen dump support. Invokes the dump-svg action.  This creates a Scalable Vector Graphics (SVG) file matching the contents of the current screen, including the border, internal border, colors and most attributes: bold, italic, underline, double underline, faint, strikeout, reverse; blink is rendered as white-on-red.  The font is whatever your renderer uses for the monospace font-family.  All colors are specified as RGB percentages in order to support displays with 10 bits per RGB.
xterm.yyyy.MM.dd.hh.mm.ss.svg
The dump-svg action can also be triggered using the Media Copy control sequence CSI 1 1 i, for example from a shell script with
printf '\033[11i'
Modes for setting keyboard style:
8-Bit Controls (resource 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 Xterm Control Sequences).  This corresponds to the eightBitControl resource.
Backarrow Key (BS/DEL) (resource 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 (resource num-lock) Controls the treatment of Alt- and NumLock-key modifiers. This corresponds to the numLock resource.
Meta Sends Escape (resource 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 (resource 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 (resource oldFunctionKeys)
HP Function-Keys (resource hpFunctionKeys)
SCO Function-Keys (resource scoFunctionKeys)
Sun Function-Keys (resource sunFunctionKeys)
VT220 Keyboard (resource sunKeyboard) These act as a radio-button, selecting one style for the keyboard layout.  The layout corresponds to more than one resource setting: sunKeyboard, sunFunctionKeys, scoFunctionKeys and hpFunctionKeys.
Commands for process signalling:
Send STOP Signal (resource suspend)
Send CONT Signal (resource continue)
Send INT Signal (resource interrupt)
Send HUP Signal (resource hangup)
Send TERM Signal (resource terminate)
Send KILL Signal (resource 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 (resource quit) Stop processing X events except to support the -hold option, and then send a SIGHUP signal to the process group of the process running under xterm (usually the shell).
VT Options The xterm vtMenu sets various modes in the VTxxx emulation, and is popped up when the “control” key and pointer button two are pressed in the VTxxx window.
VTxxx Modes:
Enable Scrollbar (resource scrollbar) Enable (or disable) the scrollbar.  This corresponds to the -sb option and the scrollBar resource.
Enable Jump Scroll (resource jumpscroll) Enable (or disable) jump scrolling.  This corresponds to the -j option and the jumpScroll resource.
Enable Reverse Video (resource reversevideo) Enable (or disable) reverse-video.  This corresponds to the -rv option and the reverseVideo resource.
Enable Auto Wraparound (resource autowrap) Enable (or disable) auto-wraparound.  This corresponds to the -aw option and the autoWrap resource.
Enable Reverse Wraparound (resource reversewrap) Enable (or disable) reverse wraparound.  This corresponds to the -rw option and the reverseWrap resource.
Enable Auto Linefeed (resource autolinefeed) Enable (or disable) auto-linefeed.  This is the VT102 NEL function, which causes the emulator to emit a line feed after each carriage return.  There is no corresponding command-line option or resource setting.
Enable Application Cursor Keys (resource appcursor) Enable (or disable) application cursor keys.  This corresponds to the appcursorDefault resource.  There is no corresponding command-line option.
Enable Application Keypad (resource 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 (resource 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.
As a special case, the XON / XOFF keys (control/S and control/Q) are ignored.
Scroll to Bottom on Tty Output (resource 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 (resource allow132) Enable (or disable) switching between 80 and 132 columns. This corresponds to the -132 option and the c132 resource.
Keep Selection (resource keepSelection) Tell xterm whether to disown the selection when it stops highlighting it, e.g., when an application modifies the display so that it no longer matches the text which has been highlighted.  As long as xterm continues to own the selection for a given atom, it can provide the corresponding text to other clients which request the selection using that atom.
This corresponds to the keepSelection resource.  There is no corresponding command-line option.
Telling xterm to not disown the selection does not prevent other applications from taking ownership of the selection. When that happens, xterm receives notification that this has happened, and removes its highlighting.
See SELECT/PASTE for more information.
Select to Clipboard (resource selectToClipboard) Tell xterm whether to use the PRIMARY or CLIPBOARD for SELECT tokens in the translations resource which maps keyboard and mouse actions to select/paste actions.
This corresponds to the selectToClipboard resource.  There is no corresponding command-line option.
The keepSelection resource setting applies to CLIPBOARD selections just as it does for PRIMARY selections.  However some window managers treat the clipboard specially.  For instance, XQuartz's synchronization between the OSX pasteboard and the X11 clipboard causes applications to lose the selection ownership for that atom when a selection is copied to the clipboard.
Enable Visual Bell (resource 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 Bell Urgency (resource bellIsUrgent) Enable (or disable) Urgency window manager hint when Control-G is received.  This corresponds to the bellIsUrgent resource.
Enable Pop on Bell (resource poponbell) Enable (or disable) raising of the window when Control-G is received.  This corresponds to the -pop option and the popOnBell resource.
Enable Blinking Cursor (resource cursorblink) Enable (or disable) the blinking-cursor feature.  This corresponds to the -bc option and the cursorBlink resource. There are also escape sequences (see Xterm Control Sequences):
•   If the cursorBlinkXOR resource is set, the menu entry and the escape sequence states will be XOR'd: if both are enabled, the cursor will not blink, if only one is enabled, the cursor will blink.
•   If the cursorBlinkXOR is not set; if either the menu entry or the escape sequence states are set, the cursor will blink.
In either case, the checkbox for the menu shows the state of the cursorBlink resource, which may not correspond to what the cursor is actually doing.
Enable Alternate Screen Switching (resource 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 (resource activeicon) Enable (or disable) the active-icon feature.  This corresponds to the -ai option and the activeIcon resource.
Sixel Scrolling (resource sixelScrolling) When enabled, sixel graphics are positioned at the current text cursor location, scroll the image vertically if larger than the screen, and leave the text cursor at the start of the next complete line after the image when returning to text mode (this is the default).  When disabled, sixel graphics are positioned at the upper left of the screen, are cropped to fit the screen, and do not affect the text cursor location.  This corresponds to the sixelScrolling resource.  There is no corresponding command-line option.
Private Color Registers (resource privateColorRegisters) If xterm is configured to support ReGIS graphics, this controls whether a private color palette can be used.
When enabled, each graphic image uses a separate set of color registers, so that it essentially has a private palette (this is the default).  If it is not set, all graphics images share a common set of registers which is how sixel and ReGIS graphics worked on actual hardware. The default is likely a more useful mode on modern TrueColor hardware.
This corresponds to the privateColorRegisters resource. There is no corresponding command-line option.
VTxxx Commands:
Do Soft Reset (resource 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 (resource 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 (resource clearsavedlines) Perform a full reset, and also clear the saved lines.
Commands for setting the current screen:
Show Tek Window (resource tekshow) When enabled, pops the Tektronix 4014 window up (makes it visible).  When disabled, hides the Tektronix 4014 window.
Switch to Tek Mode (resource 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 (resource 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 (resource 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.
VT Fonts The xterm fontMenu pops up when the “control” key and pointer button three are pressed in a window.  It sets the font used in the VTxxx window, or modifies the way the font is specified or displayed.  There are several sections.
The first section allows you to select the font from a set of alternatives:
Default (resource fontdefault) Set the font to the default, i.e., that given by the *VT100.font resource.
Unreadable (resource font1) Set the font to that given by the *VT100.font1 resource.
Tiny (resource font2) Set the font to that given by the *VT100.font2 resource.
Small (resource font3) Set the font to that given by the *VT100.font3 resource.
Medium (resource font4) Set the font to that given by the *VT100.font4 resource.
Large (resource font5) Set the font to that given by the *VT100.font5 resource.
Huge (resource font6) Set the font to that given by the *VT100.font6 resource.
Enormous (resource font7) Set the font to that given by the *VT100.font7 resource.
Escape Sequence (resource fontescape) This allows you to set the font last specified by the Set Font escape sequence (see Xterm Control Sequences).
Selection (resource 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:
Bold Fonts (resource allow-bold-fonts) This is normally checked (enabled).  When unchecked, xterm will not use bold fonts.  The setting corresponds to the allowBoldFonts resource.
Line-Drawing Characters (resource font-linedrawing) When set, tells xterm to draw its own line-drawing characters.  Otherwise it relies on the font containing these.  Compare to the forceBoxChars resource.
Packed Font (resource font-packed) When set, tells xterm to use the minimum glyph-width from a font when displaying characters.  Use the maximum width (unchecked) to help display proportional fonts.  Compare to the forcePackedFont resource.
Doublesized Characters (resource 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 (resource 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 Encoding (resource 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.  It corresponds to the utf8 resource.
UTF-8 Fonts (resource utf8-fonts) This controls whether xterm uses UTF-8 fonts for display. It is useful for temporarily switching xterm to display text from an application which does not follow the locale settings.  It combines the utf8 and utf8Fonts resources, subject to the locale resource.
UTF-8 Titles (resource utf8-title) This controls whether xterm accepts UTF-8 encoding for title control sequences.  It corresponds to the utf8Fonts resource.
Initially the checkmark is set according to both the utf8 and utf8Fonts resource values.  If the latter is set to “always”, the checkmark is disabled.  Likewise, if there are no fonts given in the utf8Fonts subresources, then the checkmark also is disabled.
The standard XTerm app-defaults file defines both sets of fonts, while the UXTerm app-defaults file defines only one set.  Assuming the standard app-defaults files, this command will launch xterm able to switch between UTF-8 and ISO-8859-1 encoded fonts:
uxterm -class XTerm
The fourth section allows you to enable or disable special operations which can be controlled by writing escape sequences to the terminal. These are disabled if the SendEvents feature is enabled:
Allow Color Ops (resource allow-font-ops) This corresponds to the allowColorOps resource.  Enable or disable control sequences that set/query the colors.
Allow Font Ops (resource allow-font-ops) This corresponds to the allowFontOps resource.  Enable or disable control sequences that set/query the font.
Allow Mouse Ops (resource allow-mouse-ops) Enable or disable control sequences that cause the terminal to send escape sequences on pointer-clicks and movement. This corresponds to the allowMouseOps resource.
Allow Tcap Ops (resource allow-tcap-ops) Enable or disable control sequences that query the terminal's notion of its function-key strings, as termcap or terminfo capabilities.  This corresponds to the allowTcapOps resource.
Allow Title Ops (resource allow-title-ops) Enable or disable control sequences that modify the window title or icon name.  This corresponds to the allowTitleOps resource.
Allow Window Ops (resource allow-window-ops) Enable or disable extended window control sequences (as used in dtterm).  This corresponds to the allowWindowOps resource.
Tek Options The xterm 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 (resource tektextlarge)
#2 Size Characters (resource tektext2)
#3 Size Characters (resource tektext3)
Small Characters (resource tektextsmall)
PAGE (resource tekpage) Simulates the Tektronix “PAGE” button by
•   clearing the window,
•   cancelling the graphics input-mode, and
•   moving the cursor to the home position.
RESET (resource tekreset) Unlike the similarly-named Tektronix “RESET” button, this does everything that PAGE does as well as resetting the line-type and font-size to their default values.
COPY (resource tekcopy) Simulates the Tektronix “COPY” button (which makes a hard- copy of the screen) by writing the information to a text file.
Show VT Window (resource vtshow)
Switch to VT Mode (resource vtmode)
Hide Tek Window (resource 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 X input extension for instance allows an application to bypass all of the other (limited) authorization and security features, including the GrabKeyboard protocol.
•   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.
Subject to 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 Enable 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 pointer button twice in rapid succession (double- clicking) causes all characters of the same class (e.g., letters, white space, punctuation) to be selected as a “word”.  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 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.  For example, 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 entries 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    !    "    #    $    %    &    ' */ 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.
Actions The following actions are provided for use within the vt100 or tek4014 translations resources:
allow-bold-fonts(on/off/toggle) This action sets, unsets or toggles the allowBoldFonts resource and is also invoked by the allow-bold-fonts entry in fontMenu.
allow-color-ops(on/off/toggle) This action sets, unsets or toggles the allowColorOps resource and is also invoked by the allow-color-ops entry in fontMenu.
allow-font-ops(on/off/toggle) This action sets, unsets or toggles the allowFontOps resource and is also invoked by the allow-font-ops entry in fontMenu.
allow-mouse-ops(on/off/toggle) This action sets, unsets or toggles the allowMousepOps resource and is also invoked by the allow-mouse-ops entry in fontMenu.
allow-send-events(on/off/toggle) This action sets, unsets or toggles the allowSendEvents resource and is also invoked by the allowsends entry in mainMenu.
allow-tcap-ops(on/off/toggle) This action sets, unsets or toggles the allowTcapOps resource and is also invoked by the allow-tcap-ops entry in fontMenu.
allow-title-ops(on/off/toggle) This action sets, unsets or toggles the allowTitleOps resource and is also invoked by the allow-title-ops entry in fontMenu.
allow-window-ops(on/off/toggle) This action sets, unsets or toggles the allowWindowOps resource and is also invoked by the allow-window-ops entry in fontMenu.
alt-sends-escape() This action toggles the state of the altSendsEscape resource.
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() 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.
copy-selection(destname [, ...]) This action puts the currently selected text into all of the selections or cutbuffers specified by destname.  Unlike select-end, it does not send a mouse position or otherwise modify the internal selection state.
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.  Repeating dabbrev-expand() several times in sequence searches for an alternative expansion by looking farther back.  Lack of more matches is signaled by a bell. 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 (bound there to M-/).  Here is a resource setting for xterm which will do the same thing:
*VT100*translations:    #override \n\ Meta <KeyPress> /:dabbrev-expand()
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+“ ”>
dump-html() Invokes the XHTML Screen Dump feature.
dump-svg() Invokes the SVG Screen Dump feature.
exec-formatted(format, sourcename [, ...]) Execute an external command, using the current selection for part of the command's parameters.  The first parameter, format gives the basic command.  Succeeding parameters specify the selection source as in insert-selection.
The format parameter allows these substitutions:
%%   inserts a "%".
%P   the screen-position at the beginning of the highlighted region, as a semicolon-separated pair of integers using the values that the CUP control sequence would use.
%p   the screen-position after the beginning of the highlighted region, using the same convention as “%P”.
%S   the length of the string that “%s” would insert.
%s   the content of the selection, unmodified.
%T   the length of the string that “%t” would insert.
%t   the selection, trimmed of leading/trailing whitespace. Embedded spaces (and newlines) are copied as is.
%R   the length of the string that “%r” would insert.
%r   the selection, trimmed of trailing whitespace.
%V   the video attributes at the beginning of the highlighted region, as a semicolon-separated list of integers using the values that the SGR control sequence would use.
%v   the video attributes after the end of the highlighted region, using the same convention as “%V”.
After constructing the command-string, xterm forks a subprocess and executes the command, which completes independently of xterm.
For example, this translation would invoke a new xterm process to view a file whose name is selected while holding the shift key down.  The new process is started when the mouse button is released:
*VT100*translations: #override Shift \ <Btn1Up>:exec-formatted("xterm -e view '%t'", SELECT)
exec-selectable(format, onClicks) Execute an external command, using data copied from the screen for part of the command's parameters.  The first parameter, format gives the basic command as in exec-formatted.  The second parameter specifies the method for copying the data as in the on2Clicks resource.
fullscreen(on/off/toggle) This action sets, unsets or toggles the fullscreen resource.
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.
iconify() Iconifies the window.
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.  Only single- byte values are treated specially.  The exact action depends on the value of the altSendsEscape and the metaSendsEscape and the eightBitInput resources.  The metaSendsEscape resource is tested first.  See the eightBitInput resource for a full discussion.
The term “eight-bit” is misleading: xterm checks if the key is in the range 128 to 255 (the eighth bit is set).  If the value is in that range, depending on the resource values, xterm may then do one of the following:
•   add 128 to the value, setting its eighth bit,
•   send an ESC byte before the key, or
•   send the key unaltered.
insert-formatted(format, sourcename [, ...]) Insert the current selection or data related to it, formatted. The first parameter, format gives the template for the data as in exec-formatted.  Succeeding parameters specify the selection source as in insert-selection.
insert-selectable(format, onClicks) Insert data copied from the screen, formatted.  The first parameter, format gives the template for the data as in exec-formatted.  The second parameter specifies the method for copying the data as in the on2Clicks resource.
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().  The term “seven-bit” is misleading: it only implies that xterm does not try to add 128 to the key's value as in insert-eight-bit().
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” (i.e., nameKeymap, where 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, including 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.
pointer-button() Use this action as a fall-back to handle button press- and release-events for the mouse control sequence protocol when the selection-related translations are suppressed with the omitTranslation resource.
pointer-motion() Use this action as a fall-back to handle motion-events for the mouse control sequence protocol when the selection-related translations are suppressed with the omitTranslation resource.
popup-menu(menuname) This action displays the specified popup menu.  Valid names (case is significant) include:  mainMenu, vtMenu, fontMenu, and tekMenu.
print(printer-flags) This action prints the window.  It is also invoked by the print entry in mainMenu.
The action accepts optional parameters, which temporarily override resource settings.  The parameter values are matched ignoring case:
noFormFeed no form feed will be sent at the end of the last line printed (i.e., printerFormFeed is “false”).