X Strike Force X.Org X11 SVN commit: r3890 - in trunk/app/xterm: . vttests
Author: julien
Date: 2006-10-23 17:02:47 -0400 (Mon, 23 Oct 2006)
New Revision: 3890
Added:
trunk/app/xterm/ctlseqs.txt
trunk/app/xterm/run-tic.sh
trunk/app/xterm/vttests/dynamic2.sh
Log:
Add new files missing from previous commit
Copied: trunk/app/xterm/ctlseqs.txt (from rev 3888, tags/app/xterm/xterm-222/ctlseqs.txt)
===================================================================
--- trunk/app/xterm/ctlseqs.txt (rev 0)
+++ trunk/app/xterm/ctlseqs.txt 2006-10-23 21:02:47 UTC (rev 3890)
@@ -0,0 +1,1234 @@
+
+
+
+
+
+
+
+
+
+ Xterm Control Sequences
+
+ Edward Moy
+ University of California, Berkeley
+
+ Revised by
+
+ Stephen Gildea
+ X Consortium (1994)
+
+ Thomas Dickey
+ XFree86 Project (1996-2006)
+
+
+
+Definitions
+
+c The literal character c.
+
+C A single (required) character.
+
+Ps A single (usually optional) numeric parameter, composed of one of
+ more digits.
+
+Pm A multiple numeric parameter composed of any number of single
+ numeric parameters, separated by ; character(s). Individual val-
+ ues for the parameters are listed with Ps .
+
+Pt A text parameter composed of printable characters.
+
+C1 (8-Bit) Control Characters
+
+The xterm program recognizes both 8-bit and 7-bit control characters.
+It generates 7-bit controls (by default) or 8-bit if S8C1T is enabled.
+The following pairs of 7-bit and 8-bit control characters are equiva-
+lent:
+
+ESC D
+ Index (IND is 0x84)
+ESC E
+ Next Line (NEL is 0x85)
+ESC H
+ Tab Set (HTS is 0x88)
+ESC M
+ Reverse Index (RI is 0x8d)
+ESC N
+ Single Shift Select of G2 Character Set (SS2 is 0x8e): affects
+ next character only
+ESC O
+ Single Shift Select of G3 Character Set (SS3 is 0x8f): affects
+ next character only
+ESC P
+ Device Control String (DCS is 0x90)
+ESC V
+ Start of Guarded Area (SPA is 0x96)
+ESC W
+ End of Guarded Area (EPA is 0x97)
+ESC X
+ Start of String (SOS is 0x98)
+ESC Z
+ Return Terminal ID (DECID is 0x9a). Obsolete form of CSI c (DA).
+ESC [
+ Control Sequence Introducer (CSI is 0x9b)
+ESC \
+ String Terminator (ST is 0x9c)
+ESC ]
+ Operating System Command (OSC is 0x9d)
+ESC ^
+ Privacy Message (PM is 0x9e)
+ESC _
+ Application Program Command (APC is 0x9f)
+
+These control characters are used in the vtXXX emulation.
+
+VT100 Mode
+Most of these control sequences are standard VT102 control sequences,
+but there is support for later DEC VT terminals (i.e., VT220, VT320,
+VT420), as well as ISO 6429 and aixterm color controls. The only VT102
+features not supported is auto-repeat, since the only way X provides for
+this will affect all windows. There are additional control sequences to
+provide xterm-dependent functions, such as the scrollbar or window size.
+Where the function is specified by DEC or ISO 6429, the code assigned to
+it is given in parentheses. The escape codes to designate and invoke
+character sets are specified by ISO 2022; see that document for a dis-
+cussion of character sets.
+
+Single-character functions
+BEL Bell (Ctrl-G)
+BS Backspace (Ctrl-H)
+CR Carriage Return (Ctrl-M)
+ENQ Return Terminal Status (Ctrl-E). Default response is an
+ empty string, but may be overridden by a resource answer-
+ backString.
+FF Form Feed or New Page (NP) (Ctrl-L) same as LF
+LF Line Feed or New Line (NL) (Ctrl-J)
+SO Shift Out (Ctrl-N) -> Switch to Alternate Character Set:
+ invokes the G1 character set.
+SP Space.
+TAB Horizontal Tab (HT) (Ctrl-I)
+VT Vertical Tab (Ctrl-K) same as LF
+SI Shift In (Ctrl-O) -> Switch to Standard Character Set:
+ invokes the G0 character set (the default).
+
+Controls beginning with ESC (other than those where ESC is part of a
+7-bit equivalent to 8-bit C1 controls), ordered by the final charac-
+ter(s).
+ESC SP F 7-bit controls (S7C1T).
+ESC SP G 8-bit controls (S8C1T).
+ESC SP L Set ANSI conformance level 1 (dpANS X3.134.1).
+ESC SP M Set ANSI conformance level 2 (dpANS X3.134.1).
+ESC SP N Set ANSI conformance level 3 (dpANS X3.134.1).
+ESC # 3 DEC double-height line, top half (DECDHL)
+ESC # 4 DEC double-height line, bottom half (DECDHL)
+ESC # 5 DEC single-width line (DECSWL)
+ESC # 6 DEC double-width line (DECDWL)
+ESC # 8 DEC Screen Alignment Test (DECALN)
+ESC % @ Select default character set, ISO 8859-1 (ISO 2022)
+ESC % G Select UTF-8 character set (ISO 2022)
+ESC ( C Designate G0 Character Set (ISO 2022)
+ESC ) C Designate G1 Character Set (ISO 2022)
+ESC * C Designate G2 Character Set (ISO 2022)
+ESC + C Designate G3 Character Set (ISO 2022)
+ Final character C for designating character sets (0 , A
+ and B apply to VT100 and up, the remainder to VT220 and
+ up):
+ C = 0 -> DEC Special Character and Line Drawing Set
+ C = A -> United Kingdom (UK)
+ C = B -> United States (USASCII)
+ C = 4 -> Dutch
+ C = C or 5 -> Finnish
+ C = R -> French
+ C = Q -> French Canadian
+ C = K -> German
+ C = Y -> Italian
+ C = E or 6 -> Norwegian/Danish
+ C = Z -> Spanish
+ C = H or 7 -> Swedish
+ C = = -> Swiss
+ESC 7 Save Cursor (DECSC)
+ESC 8 Restore Cursor (DECRC)
+ESC = Application Keypad (DECPAM)
+ESC > Normal Keypad (DECPNM)
+ESC F Cursor to lower left corner of screen (if enabled by the
+ hpLowerleftBugCompat resource).
+ESC c Full Reset (RIS)
+ESC l Memory Lock (per HP terminals). Locks memory above the
+ cursor.
+ESC m Memory Unlock (per HP terminals)
+ESC n Invoke the G2 Character Set as GL (LS2).
+ESC o Invoke the G3 Character Set as GL (LS3).
+ESC | Invoke the G3 Character Set as GR (LS3R).
+ESC } Invoke the G2 Character Set as GR (LS2R).
+ESC ~ Invoke the G1 Character Set as GR (LS1R).
+
+Application Program-Control functions
+APC Pt ST xterm implements no APC functions; Pt is ignored. Pt
+ need not be printable characters.
+
+Device-Control functions
+DCS Ps; Ps| Pt ST
+ User-Defined Keys (DECUDK). The first parameter:
+ Ps = 0 -> Clear all UDK definitions before starting
+ (default)
+ Ps = 1 -> Erase Below (default)
+ The second parameter:
+ Ps = 0 -> Lock the keys (default)
+ Ps = 1 -> Do not lock.
+ The third parameter is a ';'-separated list of strings
+ denoting the key-code separated by a '/' from the hex-
+ encoded key value. The key codes correspond to the DEC
+ function-key codes (e.g., F6=17).
+DCS $ q Pt ST Request Status String (DECRQSS). The string following
+ the "q" is one of the following:
+ " q -> DECSCA
+ " p -> DECSCL
+ r -> DECSTBM
+ m -> SGR
+ xterm responds with DCS 1 $ r Pt ST for valid requests,
+ replacing the Pt with the corresponding CSI string, or
+ DCS 0 $ r Pt ST for invalid requests.
+DCS + q Pt ST Request Termcap/Terminfo String (xterm, experimental).
+ The string following the "q" is a list of names encoded
+ in hexadecimal (2 digits per character) separated by ;
+ which correspond to termcap or terminfo key names.
+ xterm responds with DCS 1 + r Pt ST for valid requests,
+ adding to Pt an = , and the value of the corresponding
+ string that xterm would send, or DCS 0 + r Pt ST for
+ invalid requests. The strings are encoded in hexadecimal
+ (2 digits per character).
+
+Functions using CSI , ordered by the final character(s)
+CSI Ps @ Insert Ps (Blank) Character(s) (default = 1) (ICH)
+CSI Ps A Cursor Up Ps Times (default = 1) (CUU)
+CSI Ps B Cursor Down Ps Times (default = 1) (CUD)
+CSI Ps C Cursor Forward Ps Times (default = 1) (CUF)
+CSI Ps D Cursor Backward Ps Times (default = 1) (CUB)
+CSI Ps E Cursor Next Line Ps Times (default = 1) (CNL)
+CSI Ps F Cursor Preceding Line Ps Times (default = 1) (CPL)
+CSI Ps G Cursor Character Absolute [column] (default = [row,1])
+ (CHA)
+CSI Ps ; Ps H Cursor Position [row;column] (default = [1,1]) (CUP)
+CSI Ps I Cursor Forward Tabulation Ps tab stops (default = 1)
+ (CHT)
+CSI Ps J Erase in Display (ED)
+ Ps = 0 -> Erase Below (default)
+ Ps = 1 -> Erase Above
+ Ps = 2 -> Erase All
+ Ps = 3 -> Erase Saved Lines (xterm)
+CSI ? Ps J Erase in Display (DECSED)
+ Ps = 0 -> Selective Erase Below (default)
+ Ps = 1 -> Selective Erase Above
+ Ps = 2 -> Selective Erase All
+CSI Ps K Erase in Line (EL)
+ Ps = 0 -> Erase to Right (default)
+ Ps = 1 -> Erase to Left
+ Ps = 2 -> Erase All
+CSI ? Ps K Erase in Line (DECSEL)
+ Ps = 0 -> Selective Erase to Right (default)
+ Ps = 1 -> Selective Erase to Left
+ Ps = 2 -> Selective Erase All
+CSI Ps L Insert Ps Line(s) (default = 1) (IL)
+CSI Ps M Delete Ps Line(s) (default = 1) (DL)
+CSI Ps P Delete Ps Character(s) (default = 1) (DCH)
+CSI Ps S Scroll up Ps lines (default = 1) (SU)
+CSI Ps T Scroll down Ps lines (default = 1) (SD)
+CSI Ps ; Ps ; Ps ; Ps ; Ps T
+ Initiate highlight mouse tracking. Parameters are
+ [func;startx;starty;firstrow;lastrow]. See the section
+ Mouse Tracking.
+CSI Ps X Erase Ps Character(s) (default = 1) (ECH)
+CSI Ps Z Cursor Backward Tabulation Ps tab stops (default = 1)
+ (CBT)
+CSI Pm ` Character Position Absolute [column] (default = [row,1])
+ (HPA)
+CSI Ps b Repeat the preceding graphic character Ps times (REP)
+CSI Ps c Send Device Attributes (Primary DA)
+ Ps = 0 or omitted -> request attributes from terminal.
+ The response depends on the decTerminalID resource set-
+ ting.
+ -> CSI ? 1 ; 2 c (``VT100 with Advanced Video
+ Option'')
+ -> CSI ? 1 ; 0 c (``VT101 with No Options'')
+ -> CSI ? 6 c (``VT102'')
+ -> CSI ? 6 0 ; 1 ; 2 ; 6 ; 8 ; 9 ; 1 5 ; c (``VT220'')
+ The VT100-style response parameters do not mean anything
+ by themselves. VT220 parameters do, telling the host
+ what features the terminal supports:
+ -> 1 132-columns
+ -> 2 Printer
+ -> 6 Selective erase
+ -> 8 User-defined keys
+ -> 9 National replacement character sets
+ -> 1 5 Technical characters
+ -> 2 2 ANSI color, e.g., VT525
+ -> 2 9 ANSI text locator (i.e., DEC Locator mode)
+CSI > Ps c Send Device Attributes (Secondary DA)
+ Ps = 0 or omitted -> request the terminal's identifi-
+ cation code. The response depends on the decTerminalID
+ resource setting. It should apply only to VT220 and up,
+ but xterm extends this to VT100.
+ -> CSI > Pp ; Pv ; Pc c
+ where Pp denotes the terminal type
+ -> 0 (``VT100'')
+ -> 1 (``VT220'')
+ and Pv is the firmware version (for xterm, this is the
+ XFree86 patch number, starting with 95). In a DEC termi-
+ nal, Pc indicates the ROM cartridge registration number
+ and is always zero.
+CSI Pm d Line Position Absolute [row] (default = [1,column])
+ (VPA)
+CSI Ps ; Ps f Horizontal and Vertical Position [row;column] (default =
+ [1,1]) (HVP)
+CSI Ps g Tab Clear (TBC)
+ Ps = 0 -> Clear Current Column (default)
+ Ps = 3 -> Clear All
+CSI Pm h Set Mode (SM)
+ Ps = 2 -> Keyboard Action Mode (AM)
+ Ps = 4 -> Insert Mode (IRM)
+ Ps = 1 2 -> Send/receive (SRM)
+ Ps = 2 0 -> Automatic Newline (LNM)
+CSI ? Pm h DEC Private Mode Set (DECSET)
+ Ps = 1 -> Application Cursor Keys (DECCKM)
+ Ps = 2 -> Designate USASCII for character sets G0-G3
+ (DECANM), and set VT100 mode.
+ Ps = 3 -> 132 Column Mode (DECCOLM)
+ Ps = 4 -> Smooth (Slow) Scroll (DECSCLM)
+ Ps = 5 -> Reverse Video (DECSCNM)
+ Ps = 6 -> Origin Mode (DECOM)
+ Ps = 7 -> Wraparound Mode (DECAWM)
+ Ps = 8 -> Auto-repeat Keys (DECARM)
+ Ps = 9 -> Send Mouse X & Y on button press. See the
+ section Mouse Tracking.
+ Ps = 1 0 -> Show toolbar (rxvt)
+ Ps = 1 2 -> Start Blinking Cursor (att610)
+ Ps = 1 8 -> Print form feed (DECPFF)
+ Ps = 1 9 -> Set print extent to full screen (DECPEX)
+ Ps = 2 5 -> Show Cursor (DECTCEM)
+ Ps = 3 0 -> Show scrollbar (rxvt).
+ Ps = 3 5 -> Enable font-shifting functions (rxvt).
+ Ps = 3 8 -> Enter Tektronix Mode (DECTEK)
+ Ps = 4 0 -> Allow 80 -> 132 Mode
+ Ps = 4 1 -> more(1) fix (see curses resource)
+ Ps = 4 2 -> Enable Nation Replacement Character sets
+ (DECNRCM)
+ Ps = 4 4 -> Turn On Margin Bell
+ Ps = 4 5 -> Reverse-wraparound Mode
+ Ps = 4 6 -> Start Logging (normally disabled by a com-
+ pile-time option)
+ Ps = 4 7 -> Use Alternate Screen Buffer (unless dis-
+ abled by the titeInhibit resource)
+ Ps = 6 6 -> Application keypad (DECNKM)
+ Ps = 6 7 -> Backarrow key sends backspace (DECBKM)
+ Ps = 1 0 0 0 -> Send Mouse X & Y on button press and
+ release. See the section Mouse Tracking.
+ Ps = 1 0 0 1 -> Use Hilite Mouse Tracking.
+ Ps = 1 0 0 2 -> Use Cell Motion Mouse Tracking.
+ Ps = 1 0 0 3 -> Use All Motion Mouse Tracking.
+ Ps = 1 0 1 0 -> Scroll to bottom on tty output (rxvt).
+ Ps = 1 0 1 1 -> Scroll to bottom on key press (rxvt).
+ Ps = 1 0 3 4 -> Interpret "meta" key, sets eighth bit.
+ (enables the eightBitInput resource).
+ Ps = 1 0 3 5 -> Enable special modifiers for Alt and
+ NumLock keys.
+ Ps = 1 0 3 6 -> Send ESC when Meta modifies a key
+ (enables the metaSendsEscape resource).
+ Ps = 1 0 3 7 -> Send DEL from the editing-keypad
+ Delete key
+ Ps = 1 0 4 7 -> Use Alternate Screen Buffer (unless
+ disabled by the titeInhibit resource)
+ Ps = 1 0 4 8 -> Save cursor as in DECSC (unless dis-
+ abled by the titeInhibit resource)
+ Ps = 1 0 4 9 -> Save cursor as in DECSC and use Alter-
+ nate Screen Buffer, clearing it first (unless disabled by
+ the titeInhibit resource). This combines the effects of
+ the 1 0 4 7 and 1 0 4 8 modes. Use this with terminfo-
+ based applications rather than the 4 7 mode.
+ Ps = 1 0 5 1 -> Set Sun function-key mode.
+ Ps = 1 0 5 2 -> Set HP function-key mode.
+ Ps = 1 0 5 3 -> Set SCO function-key mode.
+ Ps = 1 0 6 0 -> Set legacy keyboard emulation (X11R6).
+ Ps = 1 0 6 1 -> Set VT220 keyboard emulation.
+ Ps = 2 0 0 4 -> Set bracketed paste mode.
+CSI Pm i Media Copy (MC)
+ Ps = 0 -> Print screen (default)
+ Ps = 4 -> Turn off printer controller mode
+ Ps = 5 -> Turn on printer controller mode
+CSI ? Pm i Media Copy (MC, DEC-specific)
+ Ps = 1 -> Print line containing cursor
+ Ps = 4 -> Turn off autoprint mode
+ Ps = 5 -> Turn on autoprint mode
+ Ps = 1 0 -> Print composed display, ignores DECPEX
+ Ps = 1 1 -> Print all pages
+CSI Pm l Reset Mode (RM)
+ Ps = 2 -> Keyboard Action Mode (AM)
+ Ps = 4 -> Replace Mode (IRM)
+ Ps = 1 2 -> Send/receive (SRM)
+ Ps = 2 0 -> Normal Linefeed (LNM)
+CSI ? Pm l DEC Private Mode Reset (DECRST)
+ Ps = 1 -> Normal Cursor Keys (DECCKM)
+ Ps = 2 -> Designate VT52 mode (DECANM).
+ Ps = 3 -> 80 Column Mode (DECCOLM)
+ Ps = 4 -> Jump (Fast) Scroll (DECSCLM)
+ Ps = 5 -> Normal Video (DECSCNM)
+ Ps = 6 -> Normal Cursor Mode (DECOM)
+ Ps = 7 -> No Wraparound Mode (DECAWM)
+ Ps = 8 -> No Auto-repeat Keys (DECARM)
+ Ps = 9 -> Don't Send Mouse X & Y on button press
+ Ps = 1 0 -> Hide toolbar (rxvt)
+ Ps = 1 2 -> Stop Blinking Cursor (att610)
+ Ps = 1 8 -> Don't print form feed (DECPFF)
+ Ps = 1 9 -> Limit print to scrolling region (DECPEX)
+ Ps = 2 5 -> Hide Cursor (DECTCEM)
+ Ps = 3 0 -> Don't show scrollbar (rxvt).
+ Ps = 3 5 -> Disable font-shifting functions (rxvt).
+ Ps = 4 0 -> Disallow 80 -> 132 Mode
+ Ps = 4 1 -> No more(1) fix (see curses resource)
+ Ps = 4 2 -> Disable Nation Replacement Character sets
+ (DECNRCM)
+ Ps = 4 4 -> Turn Off Margin Bell
+ Ps = 4 5 -> No Reverse-wraparound Mode
+ Ps = 4 6 -> Stop Logging (normally disabled by a com-
+ pile-time option)
+ Ps = 4 7 -> Use Normal Screen Buffer
+ Ps = 6 6 -> Numeric keypad (DECNKM)
+ Ps = 6 7 -> Backarrow key sends delete (DECBKM)
+ Ps = 1 0 0 0 -> Don't Send Mouse X & Y on button press
+ and release. See the section Mouse Tracking.
+ Ps = 1 0 0 1 -> Don't Use Hilite Mouse Tracking
+ Ps = 1 0 0 2 -> Don't Use Cell Motion Mouse Tracking
+ Ps = 1 0 0 3 -> Don't Use All Motion Mouse Tracking
+ Ps = 1 0 1 0 -> Don't scroll to bottom on tty output
+ (rxvt).
+ Ps = 1 0 1 1 -> Don't scroll to bottom on key press
+ (rxvt).
+ Ps = 1 0 3 4 -> Don't interpret "meta" key (disables
+ the eightBitInput resource).
+ Ps = 1 0 3 5 -> Disable special modifiers for Alt and
+ NumLock keys.
+ Ps = 1 0 3 6 -> Don't send ESC when Meta modifies a
+ key (disables the metaSendsEscape resource).
+ Ps = 1 0 3 7 -> Send VT220 Remove from the editing-
+ keypad Delete key
+ Ps = 1 0 4 7 -> Use Normal Screen Buffer, clearing
+ screen first if in the Alternate Screen (unless disabled
+ by the titeInhibit resource)
+ Ps = 1 0 4 8 -> Restore cursor as in DECRC (unless
+ disabled by the titeInhibit resource)
+ Ps = 1 0 4 9 -> Use Normal Screen Buffer and restore
+ cursor as in DECRC (unless disabled by the titeInhibit
+ resource). This combines the effects of the 1 0 4 7 and
+ 1 0 4 8 modes. Use this with terminfo-based applica-
+ tions rather than the 4 7 mode.
+ Ps = 1 0 5 1 -> Reset Sun function-key mode.
+ Ps = 1 0 5 2 -> Reset HP function-key mode.
+ Ps = 1 0 5 3 -> Reset SCO function-key mode.
+ Ps = 1 0 6 0 -> Reset legacy keyboard emulation
+ (X11R6).
+ Ps = 1 0 6 1 -> Reset keyboard emulation to Sun/PC
+ style.
+ Ps = 2 0 0 4 -> Reset bracketed paste mode.
+CSI Pm m Character Attributes (SGR)
+ Ps = 0 -> Normal (default)
+ Ps = 1 -> Bold
+ Ps = 4 -> Underlined
+ Ps = 5 -> Blink (appears as Bold)
+ Ps = 7 -> Inverse
+ Ps = 8 -> Invisible, i.e., hidden (VT300)
+ Ps = 2 2 -> Normal (neither bold nor faint)
+ Ps = 2 4 -> Not underlined
+ Ps = 2 5 -> Steady (not blinking)
+ Ps = 2 7 -> Positive (not inverse)
+ Ps = 2 8 -> Visible, i.e., not hidden (VT300)
+ Ps = 3 0 -> Set foreground color to Black
+ Ps = 3 1 -> Set foreground color to Red
+ Ps = 3 2 -> Set foreground color to Green
+ Ps = 3 3 -> Set foreground color to Yellow
+ Ps = 3 4 -> Set foreground color to Blue
+ Ps = 3 5 -> Set foreground color to Magenta
+ Ps = 3 6 -> Set foreground color to Cyan
+ Ps = 3 7 -> Set foreground color to White
+ Ps = 3 9 -> Set foreground color to default (original)
+ Ps = 4 0 -> Set background color to Black
+ Ps = 4 1 -> Set background color to Red
+ Ps = 4 2 -> Set background color to Green
+ Ps = 4 3 -> Set background color to Yellow
+ Ps = 4 4 -> Set background color to Blue
+ Ps = 4 5 -> Set background color to Magenta
+ Ps = 4 6 -> Set background color to Cyan
+ Ps = 4 7 -> Set background color to White
+ Ps = 4 9 -> Set background color to default (origi-
+ nal).
+
+ If 16-color support is compiled, the following apply.
+ Assume that xterm's resources are set so that the ISO
+ color codes are the first 8 of a set of 16. Then the
+ aixterm colors are the bright versions of the ISO colors:
+ Ps = 9 0 -> Set foreground color to Black
+ Ps = 9 1 -> Set foreground color to Red
+ Ps = 9 2 -> Set foreground color to Green
+ Ps = 9 3 -> Set foreground color to Yellow
+ Ps = 9 4 -> Set foreground color to Blue
+ Ps = 9 5 -> Set foreground color to Magenta
+ Ps = 9 6 -> Set foreground color to Cyan
+ Ps = 9 7 -> Set foreground color to White
+ Ps = 1 0 0 -> Set background color to Black
+ Ps = 1 0 1 -> Set background color to Red
+ Ps = 1 0 2 -> Set background color to Green
+ Ps = 1 0 3 -> Set background color to Yellow
+ Ps = 1 0 4 -> Set background color to Blue
+ Ps = 1 0 5 -> Set background color to Magenta
+ Ps = 1 0 6 -> Set background color to Cyan
+ Ps = 1 0 7 -> Set background color to White
+
+ If xterm is compiled with the 16-color support disabled,
+ it supports the following, from rxvt:
+ Ps = 1 0 0 -> Set foreground and background color to
+ default
+
+ If 88- or 256-color support is compiled, the following
+ apply.
+ Ps = 3 8 ; 5 ; Ps -> Set foreground color to the sec-
+ ond Ps
+ Ps = 4 8 ; 5 ; Ps -> Set background color to the sec-
+ ond Ps
+
+CSI > Ps; Ps m Set or reset resource-values used by xterm to decide
+ whether to construct escape sequences holding information
+ about the modifiers pressed with a given key. The first
+ parameter identifies the resource to set/reset. The sec-
+ ond parameter is the value to assign to the resource. If
+ the second parameter is omitted, the resource is reset to
+ its initial value.
+ -> 1 modifyCursorKeys
+ -> 2 modifyFunctionKeys
+ -> 4 modifyOtherKeys
+ If no parameters are given, all resources are reset to
+ their initial values.
+CSI Ps n Device Status Report (DSR)
+ Ps = 5 -> Status Report CSI 0 n (``OK'')
+ Ps = 6 -> Report Cursor Position (CPR) [row;column] as
+ CSI r ; c R
+CSI > n Set resource-value modifyFunctionKeys used by xterm to
+ allow user to construct extended-numbering function keys
+ using shift- and control-modifiers.
+CSI ? Ps n Device Status Report (DSR, DEC-specific)
+ Ps = 6 -> Report Cursor Position (CPR) [row;column] as
+ CSI ? r ; c R (assumes page is zero).
+ Ps = 1 5 -> Report Printer status as CSI ? 1 0 n
+ (ready) or CSI ? 1 1 n (not ready)
+ Ps = 2 5 -> Report UDK status as CSI ? 2 0 n
+ (unlocked) or CSI ? 2 1 n (locked)
+ Ps = 2 6 -> Report Keyboard status as
+ CSI ? 2 7 ; 1 ; 0 ; 0 n (North American)
+ The last two parameters apply to VT400 & up, and denote
+ keyboard ready and LK01 respectively.
+ Ps = 5 3 -> Report Locator status as
+ CSI ? 5 3 n Locator available, if compiled-in, or
+ CSI ? 5 0 n No Locator, if not.
+CSI ! p Soft terminal reset (DECSTR)
+CSI Ps ; Ps " p
+ Set conformance level (DECSCL) Valid values for the first
+ parameter:
+ Ps = 6 1 -> VT100
+ Ps = 6 2 -> VT200
+ Ps = 6 3 -> VT300
+ Valid values for the second parameter:
+ Ps = 0 -> 8-bit controls
+ Ps = 1 -> 7-bit controls (always set for VT100)
+ Ps = 2 -> 8-bit controls
+CSI Ps " q Select character protection attribute (DECSCA). Valid
+ values for the parameter:
+ Ps = 0 -> DECSED and DECSEL can erase (default)
+ Ps = 1 -> DECSED and DECSEL cannot erase
+ Ps = 2 -> DECSED and DECSEL can erase
+CSI Ps ; Ps r Set Scrolling Region [top;bottom] (default = full size of
+ window) (DECSTBM)
+CSI ? Pm r Restore DEC Private Mode Values. The value of Ps previ-
+ ously saved is restored. Ps values are the same as for
+ DECSET.
+CSI Pt; Pl; Pb; Pr; Ps$ r
+ Change Attributes in Rectangular Area (DECCARA).
+ Pt; Pl; Pb; Pr denotes the rectangle.
+ Ps denotes the SGR attributes to change: 0, 1, 4, 5, 7
+CSI s Save cursor (ANSI.SYS)
+CSI ? Pm s Save DEC Private Mode Values. Ps values are the same as
+ for DECSET.
+CSI Ps ; Ps ; Ps t
+ Window manipulation (from dtterm, as well as extensions).
+ These controls may be disabled using the allowWindowOps
+ resource. Valid values for the first (and any additional
+ parameters) are:
+ Ps = 1 -> De-iconify window.
+ Ps = 2 -> Iconify window.
+ Ps = 3 ; x ; y -> Move window to [x, y].
+ Ps = 4 ; height ; width -> Resize the xterm window to
+ height and width in pixels.
+ Ps = 5 -> Raise the xterm window to the front of the
+ stacking order.
+ Ps = 6 -> Lower the xterm window to the bottom of the
+ stacking order.
+ Ps = 7 -> Refresh the xterm window.
+ Ps = 8 ; height ; width -> Resize the text area to
+ [height;width] in characters.
+ Ps = 9 ; 0 -> Restore maximized window.
+ Ps = 9 ; 1 -> Maximize window (i.e., resize to screen
+ size).
+ Ps = 1 1 -> Report xterm window state. If the xterm
+ window is open (non-iconified), it returns CSI 1 t . If
+ the xterm window is iconified, it returns CSI 2 t .
+ Ps = 1 3 -> Report xterm window position as CSI 3 ; x;
+ yt
+ Ps = 1 4 -> Report xterm window in pixels as CSI 4 ;
+ height ; width t
+ Ps = 1 8 -> Report the size of the text area in char-
+ acters as CSI 8 ; height ; width t
+ Ps = 1 9 -> Report the size of the screen in charac-
+ ters as CSI 9 ; height ; width t
+ Ps = 2 0 -> Report xterm window's icon label as OSC L
+ label ST
+ Ps = 2 1 -> Report xterm window's title as OSC l
+ title ST
+ Ps >= 2 4 -> Resize to Ps lines (DECSLPP)
+CSI Pt; Pl; Pb; Pr; Ps$ t
+ Reverse Attributes in Rectangular Area (DECRARA).
+ Pt; Pl; Pb; Pr denotes the rectangle.
+ Ps denotes the attributes to reverse. 1, 4, 5, 7
+CSI u Save cursor (ANSI.SYS)
+CSI Pt; Pl; Pb; Pr; Pp; Pt; Pl; Pp$ v
+ Copy Rectangular Area (DECCRA)
+ Pt; Pl; Pb; Pr denotes the rectangle.
+ Pp denotes the source page.
+ Pt; Pl denotes the target location.
+ Pp denotes the target page.
+CSI Pt ; Pl ; Pb ; Pr ' w
+ Enable Filter Rectangle (DECEFR)
+ Parameters are [top;left;bottom;right].
+ Defines the coordinates of a filter rectangle and acti-
+ vates it. Anytime the locator is detected outside of the
+ filter rectangle, an outside rectangle event is generated
+ and the rectangle is disabled. Filter rectangles are
+ always treated as "one-shot" events. Any parameters that
+ are omitted default to the current locator position. If
+ all parameters are omitted, any locator motion will be
+ reported. DECELR always cancels any prevous rectangle
+ definition.
+CSI Ps x Request Terminal Parameters (DECREQTPARM)
+ if Ps is a "0" (default) or "1", and xterm is emulating
+ VT100, the control sequence elicits a response of the
+ same form whose parameters describe the terminal:
+ Ps -> the given Ps incremented by 2.
+ 1 -> no parity
+ 1 -> eight bits
+ 1 2 8 -> transmit 38.4k baud
+ 1 2 8 -> receive 38.4k baud
+ 1 -> clock multiplier
+ 0 -> STP flags
+CSI Ps x Select Attribute Change Extent (DECSACE).
+ Ps = 0 -> from start to end position, wrapped
+ Ps = 1 -> from start to end position, wrapped
+ Ps = 2 -> rectangle (exact).
+CSI Pc; Pt; Pl; Pb; Pr$ x
+ Fill Rectangular Area (DECFRA).
+ Pc is the character to use.
+ Pt; Pl; Pb; Pr denotes the rectangle.
+CSI Ps ; Pu ' z
+ Enable Locator Reporting (DECELR)
+ Valid values for the first parameter:
+ Ps = 0 -> Locator disabled (default)
+ Ps = 1 -> Locator enabled
+ Ps = 2 -> Locator enabled for one report, then dis-
+ abled
+ The second parameter specifies the coordinate unit for
+ locator reports.
+ Valid values for the second parameter:
+ Pu = 0 or omitted -> default to character cells
+ Pu = 1 -> device physical pixels
+ Pu = 2 -> character cells
+CSI Pt; Pl; Pb; Pr$ z
+ Erase Rectangular Area (DECERA).
+ Pt; Pl; Pb; Pr denotes the rectangle.
+CSI Pm ' { Select Locator Events (DECSLE)
+ Valid values for the first (and any additional parame-
+ ters) are:
+ Ps = 0 -> only respond to explicit host requests
+ (DECRQLP)
+ (default) also cancels any filter rectangle
+ Ps = 1 -> report button down transitions
+ Ps = 2 -> do not report button down transitions
+ Ps = 3 -> report button up transitions
+ Ps = 4 -> do not report button up transitions
+CSI Pt; Pl; Pb; Pr$ {
+ Selective Erase Rectangular Area (DECSERA).
+ Pt; Pl; Pb; Pr denotes the rectangle.
+CSI Ps ' | Request Locator Position (DECRQLP)
+ Valid values for the parameter are:
+ Ps = 0 , 1 or omitted -> transmit a single DECLRP loca-
+ tor report
+
+ If Locator Reporting has been enabled by a DECELR, xterm
+ will respond with a DECLRP Locator Report. This report
+ is also generated on button up and down events if they
+ have been enabled with a DECSLE, or when the locator is
+ detected outside of a filter rectangle, if filter rectan-
+ gles have been enabled with a DECEFR.
+
+ -> CSI Pe ; Pb ; Pr ; Pc ; Pp & w
+
+ Parameters are [event;button;row;column;page].
+ Valid values for the event:
+ Pe = 0 -> locator unavailable - no other parameters
+ sent
+ Pe = 1 -> request - xterm received a DECRQLP
+ Pe = 2 -> left button down
+ Pe = 3 -> left button up
+ Pe = 4 -> middle button down
+ Pe = 5 -> middle button up
+ Pe = 6 -> right button down
+ Pe = 7 -> right button up
+ Pe = 8 -> M4 button down
+ Pe = 9 -> M4 button up
+ Pe = 1 0 -> locator outside filter rectangle
+ ``button'' parameter is a bitmask indicating which but-
+ tons are pressed:
+ Pb = 0 -> no buttons down
+ Pb & 1 -> right button down
+ Pb & 2 -> middle button down
+ Pb & 4 -> left button down
+ Pb & 8 -> M4 button down
+ ``row'' and ``column'' parameters are the coordinates of
+ the locator position in the xterm window, encoded as
+ ASCII decimal.
+ The ``page'' parameter is not used by xterm, and will be
+ omitted.
+
+Operating System Controls
+OSC Ps ; Pt ST
+OSC Ps ; Pt BEL
+ Set Text Parameters. For colors and font, if Pt is a
+ "?", the control sequence elicits a response which con-
+ sists of the control sequence which would set the corre-
+ sponding value. The dtterm control sequences allow you
+ to determine the icon name and window title.
+ Ps = 0 -> Change Icon Name and Window Title to Pt
+ Ps = 1 -> Change Icon Name to Pt
+ Ps = 2 -> Change Window Title to Pt
+ Ps = 3 -> Set X property on top-level window. Pt
+ should be in the form "prop=value", or just "prop" to
+ delete the property
+ Ps = 4 ; c ; spec -> Change Color Number c to the
+ color specified by spec, i.e., a name or RGB specifica-
+ tion as per XParseColor. Any number of c name pairs may
+ be given. The color numbers correspond to the ANSI col-
+ ors 0-7, their bright versions 8-15, and if supported,
+ the remainder of the 88-color or 256-color table.
+
+ If a "?" is given rather than a name or RGB specifica-
+ tion, xterm replies with a control sequence of the same
+ form which can be used to set the corresponding color.
+ Because more than one pair of color number and specifica-
+ tion can be given in one control sequence, xterm can make
+ more than one reply.
+
+ The 8 colors which may be set using 1 0 through 1 7 are
+ denoted dynamic colors, since the corresponding control
+ sequences were the first means for setting xterm's colors
+ dynamically, i.e., after it was started. They are not
+ the same as the ANSI colors. One or more parameters is
+ expected for Pt. Each successive parameter changes the
+ next color in the list. The value of Ps tells the start-
+ ing point in the list. The colors are specified by name
+ or RGB specification as per XParseColor.
+
+ If a "?" is given rather than a name or RGB specifica-
+ tion, xterm replies with a control sequence of the same
+ form which can be used to set the corresponding dynamic
+ color. Because more than one pair of color number and
+ specification can be given in one control sequence, xterm
+ can make more than one reply.
+
+ Ps = 1 0 -> Change VT100 text foreground color to Pt
+ Ps = 1 1 -> Change VT100 text background color to Pt
+ Ps = 1 2 -> Change text cursor color to Pt
+ Ps = 1 3 -> Change mouse foreground color to Pt
+ Ps = 1 4 -> Change mouse background color to Pt
+ Ps = 1 5 -> Change Tektronix foreground color to Pt
+ Ps = 1 6 -> Change Tektronix background color to Pt
+ Ps = 1 7 -> Change highlight color to Pt
+ Ps = 1 8 -> Change Tektronix cursor color to Pt
+
+ Ps = 4 6 -> Change Log File to Pt (normally disabled
+ by a compile-time option)
+
+ Ps = 5 0 -> Set Font to Pt If Pt begins with a "#",
+ index in the font menu, relative (if the next character
+ is a plus or minus sign) or absolute. A number is
+ expected but not required after the sign (the default is
+ the current entry for relative, zero for absolute index-
+ ing).
+
+ Ps = 5 1 (reserved for Emacs shell)
+
+ Ps = 5 2 -> Manipulate Selection Data. These controls
+ may be disabled using the allowWindowOps resource. The
+ parameter Pt is parsed as
+ Pc; Pd
+ The first, Pc, may contain any character from the set c
+ p s 0 1 2 3 4 5 6 7 . It is used to construct a
+ list of selection parameters for clipboard, primary,
+ select, or cut buffers 0 through 8 respectively, in the
+ order given. If the parameter is empty, xterm uses s 0 ,
+ to specify the configurable primary/clipboard selection
+ and cut buffer 0.
+ The second parameter, Pd, gives the selection data. Nor-
+ mally this is a string encoded in base64. The data
+ becomes the new selection, which is then available for
+ pasting by other applications.
+ If the second parameter is a ? , xterm replies to the
+ host with the selection data encoded using the same pro-
+ tocol.
+
+Privacy Message
+PM Pt ST xterm implements no PM functions; Pt is ignored. Pt
+ need not be printable characters.
+
+PC-Style Function Keys
+If xterm does minimal translation of the function keys, it usually does
+this with a PC-style keyboard, so PC-style function keys result. Sun
+keyboards are similar to PC keyboards. Both have cursor and scrolling
+operations printed on the keypad, which duplicate the smaller cursor and
+scrolling keypads.
+X does not predefine NumLock (used for VT220 keyboards) or Alt (used as
+an extension for the Sun/PC keyboards) as modifiers. These keys are
+recognized as modifiers when enabled by the numLock resource, or by the
+DECSET 1 0 3 5 control sequence.
+The cursor keys transmit the following escape sequences depending on the
+mode specified via the DECCKM escape sequence.
+
+ Key Normal Application
+ --------------------------------------
+ Cursor Up CSI A SS3 A
+ Cursor Down CSI B SS3 B
+ Cursor Right CSI C SS3 C
+ Cursor Left CSI D SS3 D
+ --------------------------------------
+
+The home- and end-keys (unlike PageUp and other keys also on the 6-key
+editing keypad) are considered "cursor keys" by xterm. Their mode is
+also controlled by the DECCKM escape sequence:
+
+ Key Normal Application
+ ----------------------------------
+ Home CSI H SS3 H
+ End CSI F SS3 F
+ ----------------------------------
+
+The application keypad transmits the following escape sequences depend-
+ing on the mode specified via the DECPNM and DECPAM escape sequences.
+Use the NumLock key to override the application mode.
+Not all keys are present on the Sun/PC keypad (e.g., PF1, Tab), but are
+supported by the program.
+
+ Key Numeric Application Terminfo Termcap
+ --------------------------------------------------------------
+ Space SP SS3 SP - -
+ Tab TAB SS3 I - -
+ Enter CR SS3 M kent @8
+ PF1 SS3 P SS3 P kf1 k1
+ PF2 SS3 Q SS3 Q kf2 k2
+ PF3 SS3 R SS3 R kf3 k3
+ PF4 SS3 S SS3 S kf4 k4
+ * (multiply) * SS3 j - -
+ + (add) + SS3 k - -
+ , (comma) , SS3 l - -
+ - (minus) - SS3 m - -
+ . (Delete) . CSI 3 ~ - -
+ / (divide) / SS3 o - -
+ 0 (Insert) 0 CSI 2 ~ - -
+ 1 (End) 1 SS3 F kc1 K4
+ 2 (DownArrow) 2 CSI B - -
+ 3 (PageDown) 3 CSI 6 ~ kc3 K5
+ 4 (LeftArrow) 4 CSI D - -
+ 5 (Begin) 5 CSI E kb2 K2
+ 6 (RightArrow) 6 CSI C - -
+ 7 (Home) 7 SS3 H ka1 K1
+ 8 (UpArrow) 8 CSI A - -
+ 9 (PageUp) 9 CSI 5 ~ ka3 K3
+ = (equal) = SS3 X - -
+ --------------------------------------------------------------
+
+They also provide 12 function keys, as well as a few other special-pur-
+pose keys.
+
+ Key Escape Sequence
+ ---------------------------
+ F1 SS3 P
+ F2 SS3 Q
+ F3 SS3 R
+ F4 SS3 S
+ F5 CSI 1 5 ~
+ F6 CSI 1 7 ~
+ F7 CSI 1 8 ~
+ F8 CSI 1 9 ~
+ F9 CSI 2 0 ~
+ F10 CSI 2 1 ~
+ F11 CSI 2 3 ~
+ F12 CSI 2 4 ~
+ ---------------------------
+
+Older versions of xterm implement different escape sequences for F1
+through F4. These can be activated by setting the oldXtermFKeys
+resource. However, since they do not correspond to any hardware termi-
+nal, they have been deprecated. (The DEC VT220 reserves F1 through F5
+for local functions such as Setup).
+
+ Key Escape Sequence
+ ---------------------------
+ F1 CSI 1 1 ~
+ F2 CSI 1 2 ~
+ F3 CSI 1 3 ~
+ F4 CSI 1 4 ~
+ ---------------------------
+
+In normal mode, i.e., a Sun/PC keyboard when the sunKeyboard resource is
+false, xterm recognizes function key modifiers which are parameters
+appended before the final character of the control sequence.
+
+ Code Modifiers
+ ---------------------------------
+ 2 Shift
+ 3 Alt
+ 4 Shift + Alt
+ 5 Control
+ 6 Shift + Control
+ 7 Alt + Control
+ 8 Shift + Alt + Control
+ ---------------------------------
+
+For example, shift-F5 would be sent as CSI 1 5 ; 2 ~
+If the alwaysUseMods resource is set, the Meta modifier also is recog-
+nized, making parameters 9 through 16.
+
+VT220-Style Function Keys
+However, xterm is most useful as a DEC VT102 or VT220 emulator. Set the
+sunKeyboard resource to true to force a Sun/PC keyboard to act like a
+VT220 keyboard.
+
+The VT102/VT220 application keypad transmits unique escape sequences in
+application mode, which are distinct from the cursor and scrolling key-
+pad:
+
+ Key Numeric Application
+ --------------------------------------
+ Space SP SS3 SP
+ Tab TAB SS3 I
+ Enter CR SS3 M
+ PF1 SS3 P SS3 P
+ PF2 SS3 Q SS3 Q
+ PF3 SS3 R SS3 R
+ PF4 SS3 S SS3 S
+ * (multiply) * SS3 j
+ + (add) + SS3 k
+ , (comma) , SS3 l
+ - (minus) - SS3 m
+ . (period) . SS3 n
+ / (divide) / SS3 o
+ 0 0 SS3 p
+ 1 1 SS3 q
+ 2 2 SS3 r
+ 3 3 SS3 s
+ 4 4 SS3 t
+ 5 5 SS3 u
+ 6 6 SS3 v
+ 7 7 SS3 w
+ 8 8 SS3 x
+ 9 9 SS3 y
+ = (equal) = SS3 X
+ --------------------------------------
+
+The VT220 provides a 6-key editing keypad, which is analogous to that on
+the PC keyboard. It is not affected by DECCKM or DECPNM/DECPAM:
+
+ Key Normal Application
+ ----------------------------------
+ Insert CSI 2 ~ CSI 2 ~
+ Delete CSI 3 ~ CSI 3 ~
+ Home CSI 1 ~ CSI 1 ~
+ End CSI 4 ~ CSI 4 ~
+ PageUp CSI 5 ~ CSI 5 ~
+ PageDown CSI 6 ~ CSI 6 ~
+ ----------------------------------
+
+The VT220 provides 8 additional function keys. With a Sun/PC keyboard,
+access these keys by Control/F1 for F13, etc.
+
+ Key Escape Sequence
+ ---------------------------
+ F13 CSI 2 5 ~
+ F14 CSI 2 6 ~
+ F15 CSI 2 8 ~
+ F16 CSI 2 9 ~
+ F17 CSI 3 1 ~
+ F18 CSI 3 2 ~
+ F19 CSI 3 3 ~
+ F20 CSI 3 4 ~
+ ---------------------------
+
+
+VT52-Style Function Keys
+A VT52 does not have function keys, but it does have a numeric keypad
+and cursor keys. They differ from the other emulations by the prefix.
+Also, the cursor keys do not change:
+
+ Key Normal/Application
+ ----------------------------------
+ Cursor Up ESC A
+ Cursor Down ESC B
+ Cursor Right ESC C
+ Cursor Left ESC D
+ ----------------------------------
+
+The keypad is similar:
+
+ Key Numeric Application
+ --------------------------------------
+ Space SP ESC ? SP
+ Tab TAB ESC ? I
+ Enter CR ESC ? M
+ PF1 ESC P ESC P
+ PF2 ESC Q ESC Q
+ PF3 ESC R ESC R
+ PF4 ESC S ESC S
+ * (multiply) * ESC ? j
+ + (add) + ESC ? k
+ , (comma) , ESC ? l
+ - (minus) - ESC ? m
+ . (period) . ESC ? n
+ / (divide) / ESC ? o
+ 0 0 ESC ? p
+ 1 1 ESC ? q
+ 2 2 ESC ? r
+ 3 3 ESC ? s
+ 4 4 ESC ? t
+ 5 5 ESC ? u
+ 6 6 ESC ? v
+ 7 7 ESC ? w
+ 8 8 ESC ? x
+ 9 9 ESC ? y
+ = (equal) = ESC ? X
+ --------------------------------------
+
+
+Sun-Style Function Keys
+The xterm program provides support for Sun keyboards more directly, by a
+menu toggle that causes it to send Sun-style function key codes rather
+than VT220. Note, however, that the sun and VT100 emulations are not
+really compatible. For example, their wrap-margin behavior differs.
+Only function keys are altered; keypad and cursor keys are the same.
+The emulation responds identically. See the xterm-sun terminfo entry
+for details.
+
+HP-Style Function Keys
+Similarly, xterm can be compiled to support HP keyboards. See the
+xterm-hp terminfo entry for details.
+
+The Alternate Screen Buffer
+Xterm maintains two screen buffers. The normal screen buffer allows you
+to scroll back to view saved lines of output up to the maximum set by
+the saveLines resource. The alternate screen buffer is exactly as large
+as the display, contains no additional saved lines. When the alternate
+screen buffer is active, you cannot scroll back to view saved lines.
+Xterm provides control sequences and menu entries for switching between
+the two.
+
+Most full-screen applications use terminfo or termcap to obtain strings
+used to start/stop full-screen mode, i.e., smcup and rmcup for terminfo,
+or the corresponding ti and te for termcap. The titeInhibit resource
+removes the ti and te strings from the TERMCAP string which is set in
+the environment for some platforms. That is not done when xterm is
+built with terminfo libraries because terminfo does not provide the
+whole text of the termcap data in one piece. It would not work for ter-
+minfo anyway, since terminfo data is not passed in environment vari-
+ables; setting an environment variable in this manner would have no
+effect on the application's ability to switch between normal and alter-
+nate screen buffers. Instead, the newer private mode controls (such as
+1 0 4 9 ) for switching between normal and alternate screen buffers sim-
+ply disable the switching. They add other features such as clearing the
+display for the same reason: to make the details of switching indepen-
+dent of the application that requests the switch.
+
+Bracketed Paste Mode
+When bracketed paste mode is set, pasted text is bracketed with control
+sequences so that the program can differentiate pasted text from typed-
+in text. When bracketed paste mode is set, the program will receive:
+ESC [ 200 ~, followed by the pasted text, followed by ESC [ 201 ~.
+
+Mouse Tracking
+The VT widget can be set to send the mouse position and other informa-
+tion on button presses. These modes are typically used by editors and
+other full-screen applications that want to make use of the mouse.
+
+There are six mutually exclusive modes. One is DEC Locator mode,
+enabled by the DECELR CSI Ps ; Ps ' z control sequence, and is not
+described here (control sequences are summarized above). The remaining
+five modes are each enabled (or disabled) by a different parameter in
+DECSET CSI ? Pm h or DECRST CSI ? Pm l control sequence.
+
+Manifest constants for the parameter values are defined in xcharmouse.h
+as follows:
+
+ #define SET_X10_MOUSE 9
+ #define SET_VT200_MOUSE 1000
+ #define SET_VT200_HIGHLIGHT_MOUSE 1001
+ #define SET_BTN_EVENT_MOUSE 1002
+ #define SET_ANY_EVENT_MOUSE 1003
+
+The motion reporting modes are strictly xterm extensions, and are not
+part of any standard, though they are analogous to the DEC VT200 DECELR
+locator reports.
+
+Parameters (such as pointer position and button number) for all mouse
+tracking escape sequences generated by xterm encode numeric parameters
+in a single character as value+32. For example, ! specifies the value
+1. The upper left character position on the terminal is denoted as 1,1.
+
+X10 compatibility mode sends an escape sequence only on button press,
+encoding the location and the mouse button pressed. It is enabled by
+specifying parameter 9 to DECSET. On button press, xterm sends CSI M
+CbCxCy (6 characters). Cb is button-1. Cx and Cy are the x and y coor-
+dinates of the mouse when the button was pressed.
+
+Normal tracking mode sends an escape sequence on both button press and
+release. Modifier key (shift, ctrl, meta) information is also sent. It
+is enabled by specifying parameter 1000 to DECSET. On button press or
+release, xterm sends CSI M CbCxCy. The low two bits of Cb encode button
+information: 0=MB1 pressed, 1=MB2 pressed, 2=MB3 pressed, 3=release.
+The next three bits encode the modifiers which were down when the button
+was pressed and are added together: 4=Shift, 8=Meta, 16=Control. Note
+however that the shift and control bits are normally unavailable because
+xterm uses the control modifier with mouse for popup menus, and the
+shift modifier is used in the default translations for button events.
+The Meta modifier recognized by xterm is the mod1 mask, and is not nec-
+essarily the "Meta" key (see xmodmap). Cx and Cy are the x and y coor-
+dinates of the mouse event, encoded as in X10 mode.
+
+Wheel mice may return buttons 4 and 5. Those buttons are represented by
+the same event codes as buttons 1 and 2 respectively, except that 64 is
+added to the event code. Release events for the wheel buttons are not
+reported.
+
+Mouse highlight tracking notifies a program of a button press, receives
+a range of lines from the program, highlights the region covered by the
+mouse within that range until button release, and then sends the program
+the release coordinates. It is enabled by specifying parameter 1001 to
+DECSET. Highlighting is performed only for button 1, though other but-
+ton events can be received. Warning: use of this mode requires a coop-
+erating program or it will hang xterm. On button press, the same infor-
+mation as for normal tracking is generated; xterm then waits for the
+program to send mouse tracking information. All X events are ignored
+until the proper escape sequence is received from the pty: CSI Ps ; Ps ;
+Ps ; Ps ; Ps T . The parameters are func, startx, starty, firstrow, and
+lastrow. func is non-zero to initiate highlight tracking and zero to
+abort. startx and starty give the starting x and y location for the
+highlighted region. The ending location tracks the mouse, but will
+never be above row firstrow and will always be above row lastrow. (The
+top of the screen is row 1.) When the button is released, xterm reports
+the ending position one of two ways: if the start and end coordinates
+are valid text locations: CSI t CxCy. If either coordinate is past the
+end of the line: CSI T CxCyCxCyCxCy. The parameters are startx, starty,
+endx, endy, mousex, and mousey. startx, starty, endx, and endy give the
+starting and ending character positions of the region. mousex and
+mousey give the location of the mouse at button up, which may not be
+over a character.
+
+Button-event tracking is essentially the same as normal tracking, but
+xterm also reports button-motion events. Motion events are reported
+only if the mouse pointer has moved to a different character cell. It
+is enabled by specifying parameter 1002 to DECSET. On button press or
+release, xterm sends the same codes used by normal tracking mode. On
+button-motion events, xterm adds 32 to the event code (the third charac-
+ter, Cb). The other bits of the event code specify button and modifier
+keys as in normal mode. For example, motion into cell x,y with button 1
+down is reported as CSI M @ CxCy. ( @ = 32 + 0 (button 1) + 32 (motion
+indicator) ). Similarly, motion with button 3 down is reported as CSI M
+B CxCy. ( B = 32 + 2 (button 3) + 32 (motion indicator) ).
+
+Any-event mode is the same as button-event mode, except that all motion
+events are reported, even if no mouse button is down. It is enabled by
+specifying 1003 to DECSET.
+
+Tektronix 4014 Mode
+Most of these sequences are standard Tektronix 4014 control sequences.
+Graph mode supports the 12-bit addressing of the Tektronix 4014. The
+major features missing are the write-through and defocused modes. This
+document does not describe the commands used in the various Tektronix
+plotting modes but does describe the commands to switch modes.
+
+BEL Bell (Ctrl-G)
+BS Backspace (Ctrl-H)
+TAB Horizontal Tab (Ctrl-I)
+LF Line Feed or New Line (Ctrl-J)
+VT Cursor up (Ctrl-K)
+FF Form Feed or New Page (Ctrl-L)
+CR Carriage Return (Ctrl-M)
+ESC ETX Switch to VT100 Mode (ESC Ctrl-C)
+ESC ENQ Return Terminal Status (ESC Ctrl-E)
+ESC FF PAGE (Clear Screen) (ESC Ctrl-L)
+ESC SO Begin 4015 APL mode (ignored by xterm) (ESC Ctrl-N)
+ESC SI End 4015 APL mode (ignored by xterm) (ESC Ctrl-O)
+ESC ETB COPY (Save Tektronix Codes to file COPYyyyy-mm-
+ dd.hh:mm:ss) (ESC Ctrl-W)
+ESC CAN Bypass Condition (ESC Ctrl-X)
+ESC SUB GIN mode (ESC Ctrl-Z)
+ESC FS Special Point Plot Mode (ESC Ctrl-\)
+ESC 8 Select Large Character Set
+ESC 9 Select #2 Character Set
+ESC : Select #3 Character Set
+ESC ; Select Small Character Set
+OSC Ps ; Pt BEL
+ Set Text Parameters of VT window
+ Ps = 0 -> Change Icon Name and Window Title to Pt
+ Ps = 1 -> Change Icon Name to Pt
+ Ps = 2 -> Change Window Title to Pt
+ Ps = 4 6 -> Change Log File to Pt (normally disabled
+ by a compile-time option)
+ESC ` Normal Z Axis and Normal (solid) Vectors
+ESC a Normal Z Axis and Dotted Line Vectors
+ESC b Normal Z Axis and Dot-Dashed Vectors
+ESC c Normal Z Axis and Short-Dashed Vectors
+ESC d Normal Z Axis and Long-Dashed Vectors
+ESC h Defocused Z Axis and Normal (solid) Vectors
+ESC i Defocused Z Axis and Dotted Line Vectors
+ESC j Defocused Z Axis and Dot-Dashed Vectors
+ESC k Defocused Z Axis and Short-Dashed Vectors
+ESC l Defocused Z Axis and Long-Dashed Vectors
+ESC p Write-Thru Mode and Normal (solid) Vectors
+ESC q Write-Thru Mode and Dotted Line Vectors
+ESC r Write-Thru Mode and Dot-Dashed Vectors
+ESC s Write-Thru Mode and Short-Dashed Vectors
+ESC t Write-Thru Mode and Long-Dashed Vectors
+FS Point Plot Mode (Ctrl-\)
+GS Graph Mode (Ctrl-])
+RS Incremental Plot Mode (Ctrl-^)
+US Alpha Mode (Ctrl-_)
+
+VT52 Mode
+Parameters for cursor movement are at the end of the ESC Y escape
+sequence. Each ordinate is encoded in a single character as value+32.
+For example, ! is 1. The screen coordinate system is 0-based.
+
+ESC A Cursor up.
+ESC B Cursor down.
+ESC C Cursor right.
+ESC D Cursor left.
+ESC F Enter graphics mode.
+ESC G Exit graphics mode.
+ESC H Move the cursor to the home position.
+ESC I Reverse line feed.
+ESC J Erase from the cursor to the end of the screen.
+ESC K Erase from the cursor to the end of the line.
+ESC Y Ps Ps Move the cursor to given row and column.
+ESC Z Identify
+ -> ESC / Z (``I am a VT52.'')
+ESC = Enter alternate keypad mode.
+ESC > Exit alternate keypad mode.
+ESC < Exit VT52 mode (Enter VT100 mode).
Copied: trunk/app/xterm/run-tic.sh (from rev 3888, tags/app/xterm/xterm-222/run-tic.sh)
===================================================================
--- trunk/app/xterm/run-tic.sh (rev 0)
+++ trunk/app/xterm/run-tic.sh 2006-10-23 21:02:47 UTC (rev 3890)
@@ -0,0 +1,25 @@
+#!/bin/sh
+# $XTermId: run-tic.sh,v 1.1 2006/08/10 21:42:07 tom Exp $
+#
+# Run tic, either using ncurses' extension feature or filtering out harmless
+# messages for the extensions which are otherwise ignored by other versions of
+# tic.
+
+TMP=run-tic$$.log
+VER=`tic -V 2>/dev/null`
+OPT=
+
+case .$VER in
+.ncurses*)
+ OPT="-x"
+ ;;
+esac
+
+echo "** tic $OPT" "$@"
+tic $OPT "$@" 2>$TMP
+RET=$?
+
+fgrep -v 'Unknown Capability' $TMP >&2
+rm -f $TMP
+
+exit $RET
Copied: trunk/app/xterm/vttests/dynamic2.sh (from rev 3888, tags/app/xterm/xterm-222/vttests/dynamic2.sh)
===================================================================
--- trunk/app/xterm/vttests/dynamic2.sh (rev 0)
+++ trunk/app/xterm/vttests/dynamic2.sh 2006-10-23 21:02:47 UTC (rev 3890)
@@ -0,0 +1,85 @@
+#!/bin/sh
+# $XTermId: dynamic2.sh,v 1.1 2006/10/17 20:37:21 tom Exp $
+#
+# -- Thomas Dickey (2006/10/17)
+# Demonstrate the use of dynamic colors by setting each dynamic color
+# successively to different values.
+
+ESC=""
+CMD='echo'
+OPT='-n'
+SUF=''
+TMP=/tmp/xterm$$
+eval '$CMD $OPT >$TMP || echo fail >$TMP' 2>/dev/null
+( test ! -f $TMP || test -s $TMP ) &&
+for verb in printf print ; do
+ rm -f $TMP
+ eval '$verb "\c" >$TMP || echo fail >$TMP' 2>/dev/null
+ if test -f $TMP ; then
+ if test ! -s $TMP ; then
+ CMD="$verb"
+ OPT=
+ SUF='\c'
+ break
+ fi
+ fi
+done
+rm -f $TMP
+
+LIST="00 30 80 d0 ff"
+FULL="10 11 12 13 14 15 16 17 18"
+
+echo "reading current color settings"
+
+exec </dev/tty
+old=`stty -g`
+stty raw -echo min 0 time 5
+
+original=
+for N in $FULL
+do
+ $CMD $OPT "${ESC}]$N;?${SUF}" > /dev/tty
+ read reply
+ eval original$N='${reply}${SUF}'
+ original=${original}${reply}${SUF}
+done
+stty $old
+
+if ( trap "echo exit" EXIT 2>/dev/null ) >/dev/null
+then
+ trap '$CMD $OPT "$original" >/dev/tty; exit' EXIT HUP INT TRAP TERM
+else
+ trap '$CMD $OPT "$original" >/dev/tty; exit' 0 1 2 5 15
+fi
+
+while true
+do
+ for N in $FULL
+ do
+ case $N in
+ 10) echo "coloring text foreground";;
+ 11) echo "coloring text background";;
+ 12) echo "coloring text cursor";;
+ 13) echo "coloring mouse foreground";;
+ 14) echo "coloring mouse background";;
+ 15) echo "coloring tektronix foreground";;
+ 16) echo "coloring tektronix background";;
+ 17) echo "coloring highlight background";;
+ 18) echo "coloring tektronix cursor";;
+ esac
+ for R in $LIST
+ do
+ for G in $LIST
+ do
+ for B in $LIST
+ do
+ $CMD $OPT "${ESC}]$N;rgb:$R/$G/$B${SUF}" >/dev/tty
+ sleep 1
+ done
+ done
+ done
+ eval 'restore=$'original$N
+ $CMD $OPT "$restore" >/dev/tty
+ sleep 1
+ done
+done
Reply to: