[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: