diff options
Diffstat (limited to 'ctlseqs.ms')
-rw-r--r-- | ctlseqs.ms | 2420 |
1 files changed, 2420 insertions, 0 deletions
diff --git a/ctlseqs.ms b/ctlseqs.ms new file mode 100644 index 0000000..6d5956f --- /dev/null +++ b/ctlseqs.ms @@ -0,0 +1,2420 @@ +.\"#! troff -ms $1 -*- Nroff -*- +.\" "Xterm Control Sequences" document +.\" $XTermId: ctlseqs.ms,v 1.267 2012/06/11 09:10:57 tom Exp $ +.\" +.\" +.\" Copyright 1996-2011,2012 by Thomas E. Dickey +.\" +.\" All Rights Reserved +.\" +.\" Permission is hereby granted, free of charge, to any person obtaining a +.\" copy of this software and associated documentation files (the +.\" "Software"), to deal in the Software without restriction, including +.\" without limitation the rights to use, copy, modify, merge, publish, +.\" distribute, sublicense, and/or sell copies of the Software, and to +.\" permit persons to whom the Software is furnished to do so, subject to +.\" the following conditions: +.\" +.\" The above copyright notice and this permission notice shall be included +.\" in all copies or substantial portions of the Software. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +.\" IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY +.\" CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +.\" TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +.\" SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +.\" +.\" Except as contained in this notice, the name(s) of the above copyright +.\" holders shall not be used in advertising or otherwise to promote the +.\" sale, use or other dealings in this Software without prior written +.\" authorization. +.\" +.\" +.\" Copyright 1991, 1994 X Consortium +.\" +.\" Permission is hereby granted, free of charge, to any person obtaining +.\" a copy of this software and associated documentation files (the +.\" "Software"), to deal in the Software without restriction, including +.\" without limitation the rights to use, copy, modify, merge, publish, +.\" distribute, sublicense, and/or sell copies of the Software, and to +.\" permit persons to whom the Software is furnished to do so, subject to +.\" the following conditions: +.\" +.\" The above copyright notice and this permission notice shall be +.\" included in all copies or substantial portions of the Software. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +.\" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR +.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +.\" OTHER DEALINGS IN THE SOFTWARE. +.\" +.\" Except as contained in this notice, the name of the X Consortium shall +.\" not be used in advertising or otherwise to promote the sale, use or +.\" other dealings in this Software without prior written authorization +.\" from the X Consortium. +.\" +.\" X Window System is a trademark of X Consortium, Inc. +.\" +.\" Originally written by Edward Moy, University of California, +.\" Berkeley, edmoy@violet.berkeley.edu, for the X.V10R4 xterm. +.\" The X Consortium staff has since updated it for X11. +.\" Updated by Thomas E. Dickey for XFree86 3.2 - XFree86 4.3, and afterward. +.\" +.\" Run this file through troff and use the -ms macro package. +.\" +.if n .pl 9999v \" no page breaks in nroff +.ND +.\" Start a list of controls +.de St +.sp +.nr PD 0 +.nr PI 1.0i +.nr VS 16 +.. +.\" End a list of controls +.de Ed +.nr PD .3v +.nr VS 12 +.. +.\" Bulleted paragraph +.de bP +.IP \(bu 4 +.. +.\" Normal leading paragraph +.de lP +.if n .sp +.LP +.. +.\" Normal internal paragraph +.de sP +.if n .sp +.if t .sp 0.5 +.. +.\" Section header +.de Sh +.ds RH \\$1 +.br +.SH +\\$1 +.. +.\" Subsection header +.de Ss +.LP +.B +.. +.ds CH \" as nothing +.ds LH Xterm Control Sequences +.nr s 6*\n(PS/10 +.ds L \s\nsBEL\s0 +.ds E \s\nsESC\s0 +.ds T \s\nsTAB\s0 +.ds X \s\nsETX\s0 +.ds N \s\nsENQ\s0 +.ds ET \s\nsETB\s0 +.ds C \s\nsCAN\s0 +.ds S \s\nsSUB\s0 +.\" space between chars +.ie t .ds s \| +.el .ds s " \" +.nr [W \w'\*L'u +.nr w \w'\*E'u +.if \nw>\n([W .nr [W \nw +.nr w \w'\*T'u +.if \nw>\n([W .nr [W \nw +.nr w \w'\*X'u +.if \nw>\n([W .nr [W \nw +.nr w \w'\*N'u +.if \nw>\n([W .nr [W \nw +.nr w \w'\*(ET'u +.if \nw>\n([W .nr [W \nw +.nr w \w'\*C'u +.if \nw>\n([W .nr [W \nw +.nr w \w'\*S'u +.if \nw>\n([W .nr [W \nw +.nr [W +\w'\|\|'u +.de [] +.nr w \w'\\$2' +.nr H \\n([Wu-\\nwu +.nr h \\nHu/2u +.\" do fancy box in troff +.ie t .ds \\$1 \(br\v'-1p'\(br\v'1p'\h'\\nhu'\\$2\h'\\nHu-\\nhu'\(br\l'-\\n([Wu\(ul'\v'-1p'\(br\l'-\\n([Wu\(rn'\v'1p'\*s +.el .ds \\$1 \\$2\*s +.. +.[] Et \v'-1p'\*X\v'1p' +.[] En \v'-1p'\*N\v'1p' +.[] Be \v'-1p'\*L\v'1p' +.[] AP \v'-1p'\s\nsAPC\s0\v'1p' +.[] Bs \v'-1p'\s\nsBS\s0\v'1p' +.[] Cs \v'-1p'\s\nsCSI\s0\v'1p' +.[] S2 \v'-1p'\s\nsSS2\s0\v'1p' +.[] S3 \v'-1p'\s\nsSS3\s0\v'1p' +.[] SS \v'-1p'\s\nsSOS\s0\v'1p' +.[] Eg \v'-1p'\s\nsEPA\s0\v'1p' +.[] Sg \v'-1p'\s\nsSPA\s0\v'1p' +.[] Dc \v'-1p'\s\nsDCS\s0\v'1p' +.[] Ht \v'-1p'\s\nsHTS\s0\v'1p' +.[] ID \v'-1p'\s\nsIND\s0\v'1p' +.[] Nl \v'-1p'\s\nsNEL\s0\v'1p' +.[] Os \v'-1p'\s\nsOSC\s0\v'1p' +.[] RI \v'-1p'\s\nsRI\s0\v'1p' +.[] PM \v'-1p'\s\nsPM\s0\v'1p' +.[] ST \v'-1p'\s\nsST\s0\v'1p' +.[] Ta \v'-1p'\*T\v'1p' +.[] Lf \v'-1p'\s\nsLF\s0\v'1p' +.[] Vt \v'-1p'\s\nsVT\s0\v'1p' +.[] Ff \v'-1p'\s\nsFF\s0\v'1p' +.[] Cr \v'-1p'\s\nsCR\s0\v'1p' +.[] So \v'-1p'\s\nsSO\s0\v'1p' +.[] Sp \v'-1p'\s\nsSP\s0\v'1p' +.[] Si \v'-1p'\s\nsSI\s0\v'1p' +.[] Eb \v'-1p'\*(ET\v'1p' +.[] Ca \v'-1p'\*C\v'1p' +.[] Su \v'-1p'\*S\v'1p' +.[] Es \v'-1p'\*E\v'1p' +.[] Fs \v'-1p'\s\nsFS\s0\v'1p' +.[] Gs \v'-1p'\s\nsGS\s0\v'1p' +.[] Rs \v'-1p'\s\nsRS\s0\v'1p' +.[] Us \v'-1p'\s\nsUS\s0\v'1p' +.[] XX \v'-1p'\s\nsXX\s0\v'1p' +.[] $ $ +.[] # # +.[] % % +.[] (( ( +.[] ) ) +.[] * * +.[] + + +.[] , , +.[] - - +.[] . . +.[] 0 0 +.[] 1 1 +.[] 2 2 +.[] 3 3 +.[] 4 4 +.[] 5 5 +.[] 6 6 +.[] 7 7 +.[] 8 8 +.[] 9 9 +.[] : : +.[] ; ; +.[] = = +.[] / / +.[] < < +.[] > > +.[] ? ? +.[] @ @ +.[] A A +.[] cB B +.[] C C +.[] D D +.[] E E +.[] F F +.[] G G +.[] H H +.[] I I +.[] J J +.[] K K +.[] L L +.[] M M +.[] N N +.[] O O +.[] P P +.[] Q Q +.[] R R +.[] S S +.[] T T +.[] V V +.[] W W +.[] XX X +.[] Y Y +.[] Z Z +.[] [[ [ +.[] ]] ] +.[] bS \\e +.[] { { +.[] ~ ~ +.[] ] ] +.[] & & +.[] ^ ^ +.[] _ _ +.[] qu \&' +.[] ` \` +.[] a a +.[] b b +.[] c c +.[] d d +.[] e e +.[] f f +.[] g g +.[] h h +.[] i i +.[] j j +.[] k k +.[] l l +.[] m m +.[] n n +.[] o o +.[] p p +.[] q q +.[] r r +.[] cs s +.[] t t +.[] u u +.[] v v +.[] w w +.[] x x +.[] y y +.[] z z +.[] | | +.[] } } +.[] ! ! +.[] c" \(lq +.[] c~ ~ +.[] Sc \fIc\fP +.ds Cc \fIC\fP +.ds Cb \fIC\v'.3m'\h'-.2m'\s-2b\s0\v'-.3m'\fP +.ds Cx \fIC\v'.3m'\h'-.2m'\s-2x\s0\v'-.3m'\fP +.ds Cy \fIC\v'.3m'\h'-.2m'\s-2y\s0\v'-.3m'\fP +.ds Pb \fIP\v'.3m'\h'-.2m'\s-2b\s0\v'-.3m'\fP +.ds Pc \fIP\v'.3m'\h'-.2m'\s-2c\s0\v'-.3m'\fP +.ds Pd \fIP\v'.3m'\h'-.2m'\s-2d\s0\v'-.3m'\fP +.ds Pe \fIP\v'.3m'\h'-.2m'\s-2e\s0\v'-.3m'\fP +.ds Pg \fIP\v'.3m'\h'-.2m'\s-2g\s0\v'-.3m'\fP +.ds Pi \fIP\v'.3m'\h'-.2m'\s-2i\s0\v'-.3m'\fP +.ds Pl \fIP\v'.3m'\h'-.2m'\s-2l\s0\v'-.3m'\fP +.ds Pm \fIP\v'.3m'\h'-.2m'\s-2m\s0\v'-.3m'\fP +.ds Pn \fIP\v'.3m'\h'-.2m'\s-2n\s0\v'-.3m'\fP +.ds Pp \fIP\v'.3m'\h'-.2m'\s-2p\s0\v'-.3m'\fP +.ds Pr \fIP\v'.3m'\h'-.2m'\s-2r\s0\v'-.3m'\fP +.ds Ps \fIP\v'.3m'\h'-.2m'\s-2s\s0\v'-.3m'\fP +.ds Pt \fIP\v'.3m'\h'-.2m'\s-2t\s0\v'-.3m'\fP +.ds Pu \fIP\v'.3m'\h'-.2m'\s-2u\s0\v'-.3m'\fP +.ds Pv \fIP\v'.3m'\h'-.2m'\s-2v\s0\v'-.3m'\fP +.ds Ix \fIx\fP +.ds Iy \fIy\fP +.ds Iw \fIw\fP +.ds Ih \fIh\fP +.ds Ir \fIr\fP +.ds Ic \fIc\fP +.ie t .nr LL 6.5i +.el .nr LL 72m +.if n .na +.TL +Xterm Control Sequences +.AU +Edward Moy +.AI +University of California, Berkeley +.sp +Revised by +.AU +Stephen Gildea +.AI +X Consortium (1994) +.AU +Thomas Dickey +.AI +XFree86 Project (1996-2006) +invisible-island.net (2006-2012) +.AU +. +.am BT \" add page numbers after first page +.ds CF % +.. +.Sh "Definitions" +.IP \*(Sc +The literal character \fIc\fP. +.IP \*(Cc +A single (required) character. +.IP \*(Ps +A single (usually optional) numeric parameter, composed of one of more digits. +.IP \*(Pm +A multiple numeric parameter composed of any number of single numeric +parameters, separated by \*; character(s). +Individual values for the parameters are listed with \*(Ps . +.IP \*(Pt +A text parameter composed of printable characters. +. +.Sh "C1 (8-Bit) Control Characters" +.LP +The \fIxterm\fP 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 equivalent: +.St +.IP \\*(Es\\*D +Index (\*(ID is 0x84). +.IP \\*(Es\\*E +Next Line (\*(Nl is 0x85). +.IP \\*(Es\\*H +Tab Set (\*(Ht is 0x88). +.IP \\*(Es\\*M +Reverse Index (\*(RI is 0x8d). +.IP \\*(Es\\*N +Single Shift Select of G2 Character Set (\*(S2 is 0x8e). This affects next character only. +.IP \\*(Es\\*O +Single Shift Select of G3 Character Set (\*(S3 is 0x8f). This affects next character only. +.IP \\*(Es\\*P +Device Control String (\*(Dc is 0x90). +.IP \\*(Es\\*V +Start of Guarded Area (\*(Sg is 0x96). +.IP \\*(Es\\*W +End of Guarded Area (\*(Eg is 0x97). +.IP \\*(Es\\*(XX +Start of String (\*(SS is 0x98). +.IP \\*(Es\\*Z +Return Terminal ID (DECID is 0x9a). +Obsolete form of \*(Cs\*c (DA). +.IP \\*(Es\\*([[ +Control Sequence Introducer (\*(Cs is 0x9b). +.IP \\*(Es\\*(bS +String Terminator (\*(ST is 0x9c). +.IP \\*(Es\\*(]] +Operating System Command (\*(Os is 0x9d). +.IP \\*(Es\\*^ +Privacy Message (\*(PM is 0x9e). +.IP \\*(Es\\*_ +Application Program Command (\*(AP is 0x9f). +.Ed +.sp +.LP +These control characters are used in the vtXXX emulation. +. +.Sh "VT100 Mode" +.LP +Most of these control sequences are standard VT102 control sequences, +but there is support for later DEC VT terminals +(i.e., VT220, VT320, VT420, VT510), +as well as ISO 6429 and \fIaixterm\fP color controls. +The only VT102 feature not supported is auto-repeat, +since the only way X provides for this will affect all windows. +There are additional control sequences to provide +\fIxterm-\fPdependent 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 +discussion of character sets. +. +.St +.\" +.Ss +Single-character functions +.\" +.IP \\*(Be +Bell (Ctrl-G). +. +.IP \\*(Bs +Backspace (Ctrl-H). +. +.IP \\*(Cr +Carriage Return (Ctrl-M). +. +.IP \\*(En +Return Terminal Status (Ctrl-E). +Default response is an empty string, but may be overridden +by a resource \fBanswerbackString\fP. +. +.IP \\*(Ff +Form Feed or New Page (NP). Ctrl-L is treated the same as LF. +. +.IP \\*(Lf +Line Feed or New Line (NL). (LF is Ctrl-J). +. +.IP \\*(Si +Shift In (Ctrl-O) \(-> Switch to Standard Character Set. This invokes the +G0 character set (the default). +. +.IP \\*(So +Shift Out (Ctrl-N) \(-> Switch to Alternate Character Set. This invokes the +G1 character set. +. +.IP \\*(Sp +Space. +. +.IP \\*(Ta +Horizontal Tab (HT) (Ctrl-I). +. +.IP \\*(Vt +Vertical Tab (Ctrl-K). This is treated the same as LF. +.Ed +.\" +.\" +.\" +.St +.Ss +Controls beginning with \*(Es +.LP +This excludes controls where \*(Es is part of a 7-bit equivalent to 8-bit C1 controls, ordered by the final character(s). +.\" +.IP \\*(Es\\*(Sp\\*F +7-bit controls (S7C1T). +. +.IP \\*(Es\\*(Sp\\*G +8-bit controls (S8C1T). +. +.IP \\*(Es\\*(Sp\\*L +Set ANSI conformance level 1 (dpANS X3.134.1). +. +.IP \\*(Es\\*(Sp\\*M +Set ANSI conformance level 2 (dpANS X3.134.1). +. +.IP \\*(Es\\*(Sp\\*N +Set ANSI conformance level 3 (dpANS X3.134.1). +. +.IP \\*(Es\\*#\\*3 +DEC double-height line, top half (DECDHL). +. +.IP \\*(Es\\*#\\*4 +DEC double-height line, bottom half (DECDHL). +. +.IP \\*(Es\\*#\\*5 +DEC single-width line (DECSWL). +. +.IP \\*(Es\\*#\\*6 +DEC double-width line (DECDWL). +. +.IP \\*(Es\\*#\\*8 +DEC Screen Alignment Test (DECALN). +. +.IP \\*(Es\\*%\\*@ +Select default character set. That is ISO 8859-1 (ISO 2022). +. +.IP \\*(Es\\*%\\*G +Select UTF-8 character set (ISO 2022). +. +.IP \\*(Es\\*(((\\*(Cc +Designate G0 Character Set (ISO 2022, VT100). +.br +Final character \*(Cc for designating 94-character sets. +In this list, \*0, \*A and \*(cB apply to VT100 and up, the remainder to VT220 and up: + \*(Cc = \*0 \(-> DEC Special Character and Line Drawing Set. + \*(Cc = \*A \(-> United Kingdom (UK). + \*(Cc = \*(cB \(-> United States (USASCII). + \*(Cc = \*4 \(-> Dutch. + \*(Cc = \*C or \*5 \(-> Finnish. + \*(Cc = \*R \(-> French. + \*(Cc = \*Q \(-> French Canadian. + \*(Cc = \*K \(-> German. + \*(Cc = \*Y \(-> Italian. + \*(Cc = \*E or \*6 \(-> Norwegian/Danish. + \*(Cc = \*Z \(-> Spanish. + \*(Cc = \*H or \*7 \(-> Swedish. + \*(Cc = \*= \(-> Swiss. +.\" VT3xx and VT5xx (see vttest) add more selections, not implemented here. +.IP \\*(Es\\*)\\*(Cc +Designate G1 Character Set (ISO 2022, VT100). +.br +The same character sets apply as for \*(Es\*(((\*(Cc. +. +.IP \\*(Es\\**\\*(Cc +Designate G2 Character Set (ISO 2022, VT220). +.br +The same character sets apply as for \*(Es\*(((\*(Cc. +. +.IP \\*(Es\\*+\\*(Cc +Designate G3 Character Set (ISO 2022, VT220). +.br +The same character sets apply as for \*(Es\*(((\*(Cc. +. +.IP \\*(Es\\*-\\*(Cc +Designate G1 Character Set (VT300). +.br +The same character sets apply as for \*(Es\*(((\*(Cc. +. +.IP \\*(Es\\*.\\*(Cc +Designate G2 Character Set (VT300). +.br +The same character sets apply as for \*(Es\*(((\*(Cc. +. +.IP \\*(Es\\*/\\*(Cc +Designate G3 Character Set (VT300). +.br +These work for 96-character sets only. + \*(Cc = \*A \(-> ISO Latin-1 Supplemental. +.\" VT5xx would implement these: +.\" \*(Cc = \*F \(-> ISO Greek Supplemental +.\" \*(Cc = \*H \(-> ISO Hebrew Supplemental +.\" \*(Cc = \*M \(-> ISO Latin-5 Supplemental +.\" \*(Cc = \*L \(-> ISO Latin-Cyrillic +. +.IP \\*(Es\\*6 +Back Index (DECBI), VT420 and up. +. +.IP \\*(Es\\*7 +Save Cursor (DECSC). +. +.IP \\*(Es\\*8 +Restore Cursor (DECRC). +. +.IP \\*(Es\\*9 +Forward Index (DECFI), VT420 and up. +. +.IP \\*(Es\\*= +Application Keypad (DECKPAM). +. +.IP \\*(Es\\*> +Normal Keypad (DECKPNM). +. +.IP \\*(Es\\*F +Cursor to lower left corner of screen. This is +enabled by the \fBhpLowerleftBugCompat\fP resource. +. +.IP \\*(Es\\*c +Full Reset (RIS). +. +.IP \\*(Es\\*l +Memory Lock (per HP terminals). +Locks memory above the cursor. +. +.IP \\*(Es\\*m +Memory Unlock (per HP terminals). +. +.IP \\*(Es\\*n +Invoke the G2 Character Set as GL (LS2). +. +.IP \\*(Es\\*o +Invoke the G3 Character Set as GL (LS3). +. +.IP \\*(Es\\*| +Invoke the G3 Character Set as GR (LS3R). +. +.IP \\*(Es\\*} +Invoke the G2 Character Set as GR (LS2R). +. +.IP \\*(Es\\*(c~ +Invoke the G1 Character Set as GR (LS1R). +.Ed +. +.St +.Ss +Application Program-Control functions +.IP \\*(AP\\*(Pt\\*s\\*(ST +None. \fIxterm\fP implements no \*(AP functions; \*(Pt is ignored. +\*(Pt need not be printable characters. +.Ed +. +.St +.Ss +Device-Control functions +.IP \\*(Dc\\*(Ps\\*;\\*(Ps\\*|\\*(Pt\\*s\\*(ST +User-Defined Keys (DECUDK). +The first parameter: + \*(Ps = \*0 \(-> Clear all UDK definitions before starting (default). + \*(Ps = \*1 \(-> Erase Below (default). +.br +The second parameter: + \*(Ps = \*0 \(<- Lock the keys (default). + \*(Ps = \*1 \(<- Do not lock. +.br +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). +. +.IP \\*(Dc\\*$\\*q\\*(Pt\\*s\\*(ST +Request Status String (DECRQSS). +The string following the "q" is one of the following: + \*(c"\*q \(-> DECSCA + \*(c"\*p \(-> DECSCL + \*r \(-> DECSTBM + \*m \(-> SGR + \*(Sp\*q \(-> DECSCUSR +.br +\fIxterm\fP responds with +\*(Dc\*1\*$\*r\*(Pt\*s\*(ST +for valid requests, replacing the \*(Pt with the corresponding \*(Cs +string, +or +\*(Dc\*0\*$\*r\*(Pt\*s\*(ST +for invalid requests. +. +.IP \\*(Dc\\*+\\*p\\*(Pt\\*s\\*(ST +Set Termcap/Terminfo Data (xterm, experimental). +The string following the "p" is a name to use for retrieving data from +the terminal database. +The data will be used for the "tcap" keyboard +configuration's function- and special-keys, as well as by the +Request Termcap/Terminfo String control. +. +.IP \\*(Dc\\*+\\*q\\*(Pt\\*s\\*(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. +.br +Two special features are also recognized, which are not key names: +\fICo\fP for termcap colors (or \fIcolors\fP for terminfo colors), +and +\fITN\fP for termcap name (or \fIname\fP for terminfo name). +.br +\fIxterm\fP responds with +\*(Dc\*1\*+\*r\*(Pt\*s\*(ST +for valid requests, adding to \*(Pt an \*=, +and the value of the corresponding string that xterm would send, +or +\*(Dc\*0\*+\*r\*(Pt\*s\*(ST +for invalid requests. +The strings are encoded in hexadecimal (2 digits per character). +.Ed +.\" +.St +.Ss +Functions using \*(Cs, ordered by the final character(s) +.IP \\*(Cs\\*(Ps\\*s\\*@ +Insert \*(Ps (Blank) Character(s) (default = 1) (ICH). +. +.IP \\*(Cs\\*(Ps\\*s\\*A +Cursor Up \*(Ps Times (default = 1) (CUU). +. +.IP \\*(Cs\\*(Ps\\*s\\*(cB +Cursor Down \*(Ps Times (default = 1) (CUD). +. +.IP \\*(Cs\\*(Ps\\*s\\*C +Cursor Forward \*(Ps Times (default = 1) (CUF). +. +.IP \\*(Cs\\*(Ps\\*s\\*D +Cursor Backward \*(Ps Times (default = 1) (CUB). +. +.IP \\*(Cs\\*(Ps\\*s\\*E +Cursor Next Line \*(Ps Times (default = 1) (CNL). +. +.IP \\*(Cs\\*(Ps\\*s\\*F +Cursor Preceding Line \*(Ps Times (default = 1) (CPL). +. +.IP \\*(Cs\\*(Ps\\*s\\*G +Cursor Character Absolute [column] (default = [row,1]) (CHA). +. +.IP \\*(Cs\\*(Ps\\*s\\*;\\*(Ps\\*s\\*H +Cursor Position [row;column] (default = [1,1]) (CUP). +. +.IP \\*(Cs\\*(Ps\\*s\\*I +Cursor Forward Tabulation \*(Ps tab stops (default = 1) (CHT). +. +.IP \\*(Cs\\*(Ps\\*s\\*J +Erase in Display (ED). + \*(Ps = \*0 \(-> Erase Below (default). + \*(Ps = \*1 \(-> Erase Above. + \*(Ps = \*2 \(-> Erase All. + \*(Ps = \*3 \(-> Erase Saved Lines (xterm). +. +.IP \\*(Cs\\*?\\*(Ps\\*s\\*J +Erase in Display (DECSED). + \*(Ps = \*0 \(-> Selective Erase Below (default). + \*(Ps = \*1 \(-> Selective Erase Above. + \*(Ps = \*2 \(-> Selective Erase All. +. +.IP \\*(Cs\\*(Ps\\*s\\*K +Erase in Line (EL). + \*(Ps = \*0 \(-> Erase to Right (default). + \*(Ps = \*1 \(-> Erase to Left. + \*(Ps = \*2 \(-> Erase All. +. +.IP \\*(Cs\\*?\\*(Ps\\*s\\*K +Erase in Line (DECSEL). + \*(Ps = \*0 \(-> Selective Erase to Right (default). + \*(Ps = \*1 \(-> Selective Erase to Left. + \*(Ps = \*2 \(-> Selective Erase All. +. +.IP \\*(Cs\\*(Ps\\*s\\*L +Insert \*(Ps Line(s) (default = 1) (IL). +. +.IP \\*(Cs\\*(Ps\\*s\\*M +Delete \*(Ps Line(s) (default = 1) (DL). +. +.IP \\*(Cs\\*(Ps\\*s\\*P +Delete \*(Ps Character(s) (default = 1) (DCH). +. +.IP \\*(Cs\\*(Ps\\*s\\*S +Scroll up \*(Ps lines (default = 1) (SU). +. +.IP \\*(Cs\\*(Ps\\*s\\*T +Scroll down \*(Ps lines (default = 1) (SD). +. +.IP \\*(Cs\\*(Ps\\*s\\*;\\*(Ps\\*s\\*;\\*(Ps\\*s\\*;\\*(Ps\\*s\\*;\\*(Ps\\*s\\*T +Initiate highlight mouse tracking. +Parameters are [func;startx;starty;firstrow;lastrow]. +See the section \fBMouse Tracking\fP. +. +.IP \\*(Cs\\*>\\*(Ps\\*;\\*(Ps\\*s\\*T +Reset one or more features of the title modes to the default value. +Normally, "reset" disables the feature. +It is possible to disable the ability to reset features +by compiling a different default for the title modes into \fIxterm\fP. + \*(Ps = \*0 \(-> Do not set window/icon labels using hexadecimal. + \*(Ps = \*1 \(-> Do not query window/icon labels using hexadecimal. + \*(Ps = \*2 \(-> Do not set window/icon labels using UTF-8. + \*(Ps = \*3 \(-> Do not query window/icon labels using UTF-8. +(See discussion of "Title Modes"). +. +.IP \\*(Cs\\*(Ps\\*s\\*(XX +Erase \*(Ps Character(s) (default = 1) (ECH). +. +.IP \\*(Cs\\*(Ps\\*s\\*Z +Cursor Backward Tabulation \*(Ps tab stops (default = 1) (CBT). +. +.IP \\*(Cs\\*(Pm\\*s\\*` +Character Position Absolute [column] (default = [row,1]) (HPA). +. +.IP \\*(Cs\\*(Pm\\*s\\*a +Character Position Relative [columns] (default = [row,col+1]) (HPR). +. +.IP \\*(Cs\\*(Ps\\*s\\*b +Repeat the preceding graphic character \*(Ps times (REP). +. +.IP \\*(Cs\\*(Ps\\*s\\*c +Send Device Attributes (Primary DA). + \*(Ps = \*0 or omitted \(-> request attributes from terminal. +The response depends on the \fBdecTerminalID\fP resource setting. + \(-> \*(Cs\*?\*1\*;\*2\*c (``VT100 with Advanced Video Option'') + \(-> \*(Cs\*?\*1\*;\*0\*c (``VT101 with No Options'') + \(-> \*(Cs\*?\*6\*c (``VT102'') + \(-> \*(Cs\*?\*6\*0\*;\*1\*;\*2\*;\*6\*;\*8\*;\*9\*;\*1\*5\*;\*c (``VT220'') +.br +The VT100-style response parameters do not mean anything by themselves. +VT220 parameters do, telling the host what features the terminal supports: + \*(Ps = \*1 \(-> 132-columns. + \*(Ps = \*2 \(-> Printer. + \*(Ps = \*6 \(-> Selective erase. + \*(Ps = \*8 \(-> User-defined keys. + \*(Ps = \*9 \(-> National replacement character sets. + \*(Ps = \*1\*5 \(-> Technical characters. + \*(Ps = \*1\*8 \(-> User windows. + \*(Ps = \*2\*1 \(-> Horizontal scrolling. + \*(Ps = \*2\*2 \(-> ANSI color, e.g., VT525. + \*(Ps = \*2\*9 \(-> ANSI text locator (i.e., DEC Locator mode). +. +.IP \\*(Cs\\*>\\*(Ps\\*s\\*c +Send Device Attributes (Secondary DA). + \*(Ps = \*0 or omitted \(-> request the terminal's identification code. +The response depends on the \fBdecTerminalID\fP resource setting. +It should apply only to VT220 and up, but \fIxterm\fP extends this to VT100. + \(-> \*(Cs\*s\*>\*(Pp\*s\*;\*(Pv\*s\*;\*(Pc\*s\*c +.br +where \*(Pp denotes the terminal type + \*(Pp = \*0 \(-> ``VT100''. + \*(Pp = \*1 \(-> ``VT220''. + \*(Pp = \*2 \(-> ``VT240''. + \*(Pp = \*18 \(-> ``VT330''. + \*(Pp = \*19 \(-> ``VT340''. + \*(Pp = \*24 \(-> ``VT320''. + \*(Pp = \*41 \(-> ``VT420''. + \*(Pp = \*61 \(-> ``VT510''. + \*(Pp = \*64 \(-> ``VT520''. + \*(Pp = \*65 \(-> ``VT525''. +.br +and \*(Pv is the firmware version (for \fIxterm\fP, this was originally +the XFree86 patch number, starting with 95). +In a DEC terminal, \*(Pc indicates the ROM cartridge +registration number and is always zero. +. +.IP \\*(Cs\\*(Pm\\*s\\*d +Line Position Absolute [row] (default = [1,column]) (VPA). +. +.IP \\*(Cs\\*(Pm\\*s\\*e +Line Position Relative [rows] (default = [row+1,column]) (VPR). +. +.IP \\*(Cs\\*(Ps\\*s\\*;\\*(Ps\\*s\\*f +Horizontal and Vertical Position [row;column] (default = [1,1]) (HVP). +. +.IP \\*(Cs\\*(Ps\\*s\\*g +Tab Clear (TBC). + \*(Ps = \*0 \(-> Clear Current Column (default). + \*(Ps = \*3 \(-> Clear All. +. +.IP \\*(Cs\\*(Pm\\*s\\*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). +. +.IP \\*(Cs\\*?\\*(Pm\\*s\\*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 \fBMouse Tracking\fP. + \*(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 \z\(<-\(-> 132 Mode. + \*(Ps = \*4\*1 \(-> \fImore\fP(1) fix (see \fBcurses\fP 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. +This is normally disabled by a compile-time option. + \*(Ps = \*4\*7 \(-> Use Alternate Screen Buffer. (This may be +disabled by the \fBtiteInhibit\fP resource). + \*(Ps = \*6\*6 \(-> Application keypad (DECNKM). + \*(Ps = \*6\*7 \(-> Backarrow key sends backspace (DECBKM). + \*(Ps = \*6\*9 \(-> Enable left and right margin mode (DECLRMM), VT420 and up. + \*(Ps = \*9\*5 \(-> Do not clear screen when DECCOLM is set/reset (DECNCSM), VT510 and up. + \*(Ps = \*1\*0\*0\*0 \(-> Send Mouse X & Y on button press and release. +See the section \fBMouse Tracking\fP. + \*(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\*0\*4 \(-> Send FocusIn/FocusOut events. + \*(Ps = \*1\*0\*0\*5 \(-> Enable UTF-8 Mouse Mode. + \*(Ps = \*1\*0\*0\*6 \(-> Enable SGR Mouse Mode. + \*(Ps = \*1\*0\*1\*0 \(-> Scroll to bottom on tty output (rxvt). + \*(Ps = \*1\*0\*1\*5 \(-> Enable urxvt Mouse Mode. + \*(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 \fBeightBitInput\fP resource). + \*(Ps = \*1\*0\*3\*5 \(-> Enable special modifiers for Alt and NumLock keys. +(This enables the \fBnumLock\fP resource). + \*(Ps = \*1\*0\*3\*6 \(-> Send \*(Es when Meta modifies a key. +(This enables the \fBmetaSendsEscape\fP resource). + \*(Ps = \*1\*0\*3\*7 \(-> Send DEL from the editing-keypad Delete key. + \*(Ps = \*1\*0\*3\*9 \(-> Send \*(Es when Alt modifies a key. +(This enables the \fBaltSendsEscape\fP resource). + \*(Ps = \*1\*0\*4\*0 \(-> Keep selection even if not highlighted. +(This enables the \fBkeepSelection\fP resource). + \*(Ps = \*1\*0\*4\*1 \(-> Use the CLIPBOARD selection. +(This enables the \fBselectToClipboard\fP resource). + \*(Ps = \*1\*0\*4\*2 \(-> Enable Urgency window manager hint when Control-G is received. +(This enables the \fBbellIsUrgent\fP resource). + \*(Ps = \*1\*0\*4\*3 \(-> Enable raising of the window when Control-G is received. +(enables the \fBpopOnBell\fP resource). + \*(Ps = \*1\*0\*4\*7 \(-> Use Alternate Screen Buffer. (This may be +disabled by the \fBtiteInhibit\fP resource). + \*(Ps = \*1\*0\*4\*8 \(-> Save cursor as in DECSC. (This may be +disabled by the \fBtiteInhibit\fP resource). + \*(Ps = \*1\*0\*4\*9 \(-> Save cursor as in DECSC +and use Alternate Screen Buffer, clearing it first. (This may be +disabled by the \fBtiteInhibit\fP 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\*0 \(-> Set terminfo/termcap function-key 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. +. +.IP \\*(Cs\\*(Pm\\*s\\*i +Media Copy (MC). + \*(Ps = \*0 \(-> Print screen (default). + \*(Ps = \*4 \(-> Turn off printer controller mode. + \*(Ps = \*5 \(-> Turn on printer controller mode. +. +.IP \\*(Cs\\*?\\*(Pm\\*s\\*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. +. +.IP \\*(Cs\\*(Pm\\*s\\*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). +. +.IP \\*(Cs\\*?\\*(Pm\\*s\\*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 \z\(<-\(-> 132 Mode. + \*(Ps = \*4\*1 \(-> No \fImore\fP(1) fix (see \fBcurses\fP 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. +(This is normally disabled by a compile-time option). + \*(Ps = \*4\*7 \(-> Use Normal Screen Buffer. + \*(Ps = \*6\*6 \(-> Numeric keypad (DECNKM). + \*(Ps = \*6\*7 \(-> Backarrow key sends delete (DECBKM). + \*(Ps = \*6\*9 \(-> Disable left and right margin mode (DECLRMM), VT420 and up. + \*(Ps = \*9\*5 \(-> Clear screen when DECCOLM is set/reset (DECNCSM), VT510 and up. + \*(Ps = \*1\*0\*0\*0 \(-> Don't send Mouse X & Y on button press and +release. +See the section \fBMouse Tracking\fP. + \*(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\*0\*4 \(-> Don't send FocusIn/FocusOut events. + \*(Ps = \*1\*0\*0\*5 \(-> Disable UTF-8 Mouse Mode. + \*(Ps = \*1\*0\*0\*6 \(-> Disable SGR Mouse Mode. + \*(Ps = \*1\*0\*1\*0 \(-> Don't scroll to bottom on tty output (rxvt). + \*(Ps = \*1\*0\*1\*5 \(-> Disable urxvt Mouse Mode. + \*(Ps = \*1\*0\*1\*1 \(-> Don't scroll to bottom on key press (rxvt). + \*(Ps = \*1\*0\*3\*4 \(-> Don't interpret "meta" key. +(This disables the \fBeightBitInput\fP resource). + \*(Ps = \*1\*0\*3\*5 \(-> Disable special modifiers for Alt and NumLock keys. +(This disables the \fBnumLock\fP resource). + \*(Ps = \*1\*0\*3\*6 \(-> Don't send \*(Es when Meta modifies a key. +(This disables the \fBmetaSendsEscape\fP resource). + \*(Ps = \*1\*0\*3\*7 \(-> Send VT220 Remove from the editing-keypad Delete key. + \*(Ps = \*1\*0\*3\*9 \(-> Don't send \*(Es when Alt modifies a key. +(This disables the \fBaltSendsEscape\fP resource). + \*(Ps = \*1\*0\*4\*0 \(-> Do not keep selection when not highlighted. +(This disables the \fBkeepSelection\fP resource). + \*(Ps = \*1\*0\*4\*1 \(-> Use the PRIMARY selection. +(This disables the \fBselectToClipboard\fP resource). + \*(Ps = \*1\*0\*4\*2 \(-> Disable Urgency window manager hint when Control-G is received. +(This disables the \fBbellIsUrgent\fP resource). + \*(Ps = \*1\*0\*4\*3 \(-> Disable raising of the window when Control-G is received. +(This disables the \fBpopOnBell\fP resource). + \*(Ps = \*1\*0\*4\*7 \(-> Use Normal Screen Buffer, clearing screen +first if in the Alternate Screen. (This may be +disabled by the \fBtiteInhibit\fP resource). + \*(Ps = \*1\*0\*4\*8 \(-> Restore cursor as in DECRC. (This may be +disabled by the \fBtiteInhibit\fP resource). + \*(Ps = \*1\*0\*4\*9 \(-> Use Normal Screen Buffer and restore cursor +as in DECRC. (This may be disabled by the \fBtiteInhibit\fP 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\*0 \(-> Reset terminfo/termcap function-key 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. +. +.IP \\*(Cs\\*(Pm\\*s\\*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 (original). +.sP +If 16-color support is compiled, the following apply. +Assume that \fIxterm\fP's resources +are set so that the ISO color codes are the first 8 of a set of 16. +Then the \fIaixterm\fP 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. +.sP +If \fIxterm\fP is compiled with the 16-color support disabled, it supports +the following, from \fIrxvt\fP: + \*(Ps = \*1\*0\*0 \(-> Set foreground and background color to default. +.sP +If 88- or 256-color support is compiled, the following apply. + \*(Ps = \*3\*8 ; \*5 ; \*(Ps \(-> Set foreground color to the second \*(Ps. + \*(Ps = \*4\*8 ; \*5 ; \*(Ps \(-> Set background color to the second \*(Ps. +.sp +. +.IP \\*(Cs\\*>\\*(Ps\\*;\\*(Ps\\*s\\*m +Set or reset resource-values used by \fIxterm\fP 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 second parameter is the value to assign to the resource. +If the second parameter is omitted, the resource is reset to its initial value. + \*(Ps = \*0 \(-> modifyKeyboard. + \*(Ps = \*1 \(-> modifyCursorKeys. + \*(Ps = \*2 \(-> modifyFunctionKeys. + \*(Ps = \*4 \(-> modifyOtherKeys. +.br +If no parameters are given, all resources are reset to their initial values. +. +.IP \\*(Cs\\*(Ps\\*s\\*n +Device Status Report (DSR). + \*(Ps = \*5 \(-> Status Report. Result (``OK'') is +.br +\*(Cs\*0\*n + \*(Ps = \*6 \(-> Report Cursor Position (CPR) [row;column]. Result is +.br +\*(Cs\*(Ir\*s\*;\*(Ic\*s\*R +. +.IP \\*(Cs\\*>\\*(Ps\\*s\\*n +Disable modifiers which may be enabled via the +\*(Cs\*>\*(Ps\*;\*(Ps\*s\*m +sequence. +This corresponds to a resource value of "-1", which cannot be set with +the other sequence. +The parameter identifies the resource to be disabled: + \*(Ps = \*0 \(-> modifyKeyboard. + \*(Ps = \*1 \(-> modifyCursorKeys. + \*(Ps = \*2 \(-> modifyFunctionKeys. + \*(Ps = \*4 \(-> modifyOtherKeys. +.br +If the parameter is omitted, \fBmodifyFunctionKeys\fP is disabled. +When \fBmodifyFunctionKeys\fP is disabled, \fIxterm\fP uses the +modifier keys to make an extended sequence of functions rather +than adding a parameter to each function key to denote the modifiers. +. +.IP \\*(Cs\\*?\\*(Ps\\*s\\*n +Device Status Report (DSR, DEC-specific). + \*(Ps = \*6 \(-> Report Cursor Position (DECXCPR) [row;column] as +\*(Cs\*?\*(Ir\*s\*;\*(Ic\*s\*R +(assumes the default page, i.e., "1"). + \*(Ps = \*1\*5 \(-> Report Printer status as +\*(Cs\*?\*1\*0\*n (ready). +or +\*(Cs\*?\*1\*1\*n (not ready). + \*(Ps = \*2\*5 \(-> Report UDK status as +\*(Cs\*?\*2\*0\*n (unlocked) +or +\*(Cs\*?\*2\*1\*n (locked). + \*(Ps = \*2\*6 \(-> Report Keyboard status as +.br +\*(Cs\*?\*2\*7\*;\*1\*;\*0\*;\*0\*n (North American). +.br +The last two parameters apply to VT400 & up, and denote keyboard ready and LK01 respectively. + \*(Ps = \*5\*3 \(-> Report Locator status as +\*(Cs\*?\*5\*3\*n Locator available, if compiled-in, or +\*(Cs\*?\*5\*0\*n No Locator, if not. + \*(Ps = \*6\*2 \(-> Report macro space (DECMSR) as +\*(Cs\*(Pn\*s\\*\*s\*{ + \*(Ps = \*6\*3 \(-> Report memory checksum (DECCKSR) as +\*(Dc\*(Pt\*s\*!x\*sx\*sx\*sx\*s\*(ST +.br + \*(Pt is the request id (from an optional parameter to the request). + The x's are hexadecimal digits 0-9 and A-F. + \*(Ps = \*7\*5 \(-> Report data integrity as +\*(Cs\*?\*7\*0\*n (ready, no errors) + \*(Ps = \*8\*5 \(-> Report multi-session configuration as +\*(Cs\*?\*8\*3\*n (not configured for multiple-session operation). +. +.IP \\*(Cs\\*>\\*(Ps\\*s\\*p +Set resource value \fIpointerMode\fP. +This is used by \fIxterm\fP to decide whether to +hide the pointer cursor as the user types. +Valid values for the parameter: + \*(Ps = \*0 \(-> never hide the pointer. + \*(Ps = \*1 \(-> hide if the mouse tracking mode is not enabled. + \*(Ps = \*2 \(-> always hide the pointer. +If no parameter is given, \fIxterm\fP uses the default, +which is \*1. +. +.IP \\*(Cs\\*!\\*p +Soft terminal reset (DECSTR). +. +.IP \\*(Cs\\*(Ps\\*s\\*$\\*p +.br +Request ANSI mode (DECRQM). +For VT300 and up, reply is +.br + \*(Cs\*(Ps\*;\*(Pm\*$\*y +.br +where \*(Ps is the mode number as in RM, +and \*(Pm is the mode value: +.br + 0 - not recognized + 1 - set + 2 - reset + 3 - permanently set + 4 - permanently reset +. +.IP \\*(Cs\\*?\\*(Ps\\*$\\*p +Request DEC private mode (DECRQM). +For VT300 and up, reply is +.br + \*(Cs\*?\*(Ps\*;\*(Pm\*$\*p +.br +where \*(Ps is the mode number as in DECSET, +\*(Pm is the mode value as in the ANSI DECRQM. +. +.IP \\*(Cs\\*(Ps\\*s\\*;\\*(Ps\\*s\\*(c"\\*p +Set conformance level (DECSCL). +Valid values for the first parameter: + \*(Ps = \*6\*1 \(-> VT100. + \*(Ps = \*6\*2 \(-> VT200. + \*(Ps = \*6\*3 \(-> VT300. +.br +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. +. +.IP \\*(Cs\\*(Ps\\*s\\*q +Load LEDs (DECLL). + \*(Ps = \*0 \(-> Clear all LEDS (default). + \*(Ps = \*1 \(-> Light Num Lock. + \*(Ps = \*2 \(-> Light Caps Lock. + \*(Ps = \*3 \(-> Light Scroll Lock. + \*(Ps = \*2 \*1 \(-> Extinguish Num Lock. + \*(Ps = \*2 \*2 \(-> Extinguish Caps Lock. + \*(Ps = \*2 \*3 \(-> Extinguish Scroll Lock. +. +.IP \\*(Cs\\*(Ps\\*s\\*(Sp\\*q +Set cursor style (DECSCUSR, VT520). + \*(Ps = \*0 \(-> blinking block. + \*(Ps = \*1 \(-> blinking block (default). + \*(Ps = \*2 \(-> steady block. + \*(Ps = \*3 \(-> blinking underline. + \*(Ps = \*4 \(-> steady underline. +. +.IP \\*(Cs\\*(Ps\\*s\\*(c"\\*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. +. +.IP \\*(Cs\\*(Ps\\*s\\*;\\*(Ps\\*s\\*r +Set Scrolling Region [top;bottom] (default = full size of window) (DECSTBM). +. +.IP \\*(Cs\\*?\\*(Pm\\*s\\*r +Restore DEC Private Mode Values. +The value of \*(Ps previously saved is restored. +\*(Ps values are the same as for DECSET. +. +.IP \\*(Cs\\*(Pt\\*;\\*(Pl\\*;\\*(Pb\\*;\\*(Pr\\*;\\*(Ps\\*$\\*r +Change Attributes in Rectangular Area (DECCARA), VT400 and up. + \*(Pt\*;\*(Pl\*;\*(Pb\*;\*(Pr denotes the rectangle. + \*(Ps denotes the SGR attributes to change: 0, 1, 4, 5, 7. +. +.IP \\*(Cs\\*s\\*(Pl\\*s\\*;\\*(Pr\\*s\\*(cs +Set left and right margins (DECSLRM), available only when DECLRMM is enabled (VT420 and up). +. +.IP \\*(Cs\\*(cs +Save cursor (ANSI.SYS), available only when DECLRMM is disabled. +. +.IP \\*(Cs\\*?\\*(Pm\\*s\\*(cs +Save DEC Private Mode Values. +\*(Ps values are the same as for DECSET. +. +.IP \\*(Cs\\*(Ps\\*s\\*;\\*(Ps\\*s\\*;\\*(Ps\\*s\\*t +Window manipulation (from \fIdtterm\fP, as well as extensions). +These controls may be disabled using the \fIallowWindowOps\fP resource. +Valid values for the first (and any additional parameters) are: + \*(Ps = \*1 \(-> De-iconify window. + \*(Ps = \*2 \(-> Iconify window. + \*(Ps = \*3\*s\*;\*s\fIx\*s\*;\*sy\fP \(-> Move window to [x, y]. + \*(Ps = \*4\*s\*;\*s\fIheight\*s\*;\*swidth\fP \(-> Resize the \fIxterm\fP window to given height and width in pixels. +Omitted parameters reuse the current height or width. +Zero parameters use the display's height or width. + \*(Ps = \*5 \(-> Raise the \fIxterm\fP window to the front of the stacking order. + \*(Ps = \*6 \(-> Lower the \fIxterm\fP window to the bottom of the stacking order. + \*(Ps = \*7 \(-> Refresh the \fIxterm\fP window. + \*(Ps = \*8\*s\*;\*s\fIheight\*s\*;\*swidth\fP \(-> Resize the text area to given height and width in characters. +Omitted parameters reuse the current height or width. +Zero parameters use the display's height or width. + \*(Ps = \*9\*s\*;\*s\*0 \(-> Restore maximized window. + \*(Ps = \*9\*s\*;\*s\*1 \(-> Maximize window (i.e., resize to screen size). + \*(Ps = \*1\*0\*s\*;\*s\*0 \(-> Undo full-screen mode. + \*(Ps = \*1\*0\*s\*;\*s\*1 \(-> Change to full-screen. + \*(Ps = \*1\*1 \(-> Report \fIxterm\fP window state. +If the \fIxterm\fP window is open (non-iconified), it returns \*(Cs\*1\*t. +If the \fIxterm\fP window is iconified, it returns \*(Cs\*2\*t. + \*(Ps = \*1\*3 \(-> Report \fIxterm\fP window position. Result is +\*(Cs\*3\*;\*(Ix\*s\*;\*(Iy\*s\*t + \*(Ps = \*1\*4 \(-> Report \fIxterm\fP window in pixels. Result is +\*(Cs\*s\*4\*s\*;\*s\fIheight\fP\*s\*;\*s\fIwidth\fP\*s\*t + \*(Ps = \*1\*8 \(-> Report the size of the text area in characters. Result is +\*(Cs\*s\*8\*s\*;\*s\fIheight\fP\*s\*;\*s\fIwidth\fP\*s\*t + \*(Ps = \*1\*9 \(-> Report the size of the screen in characters. Result is +\*(Cs\*s\*9\*s\*;\*s\fIheight\fP\*s\*;\*s\fIwidth\fP\*s\*t + \*(Ps = \*2\*0 \(-> Report \fIxterm\fP window's icon label. Result is +\*(Os\*s\*L\*s\fIlabel\fP\*s\*(ST + \*(Ps = \*2\*1 \(-> Report \fIxterm\fP window's title. Result is +\*(Os\*s\*l\*s\fIlabel\fP\*s\*(ST + \*(Ps = \*2\*2\*s\*;\*s\*0 \(-> Save \fIxterm\fP icon and window title on stack. + \*(Ps = \*2\*2\*s\*;\*s\*1 \(-> Save \fIxterm\fP icon title on stack. + \*(Ps = \*2\*2\*s\*;\*s\*2 \(-> Save \fIxterm\fP window title on stack. + \*(Ps = \*2\*3\*s\*;\*s\*0 \(-> Restore \fIxterm\fP icon and window title from stack. + \*(Ps = \*2\*3\*s\*;\*s\*1 \(-> Restore \fIxterm\fP icon title from stack. + \*(Ps = \*2\*3\*s\*;\*s\*2 \(-> Restore \fIxterm\fP window title from stack. + \*(Ps >= \*2\*4 \(-> Resize to \*(Ps lines (DECSLPP). +. +.IP \\*(Cs\\*(Pt\\*;\\*(Pl\\*;\\*(Pb\\*;\\*(Pr\\*;\\*(Ps\\*$\\*t +Reverse Attributes in Rectangular Area (DECRARA), VT400 and up. + \*(Pt\*;\*(Pl\*;\*(Pb\*;\*(Pr denotes the rectangle. + \*(Ps denotes the attributes to reverse, i.e., 1, 4, 5, 7. +. +.IP \\*(Cs\\*>\\*(Ps\\*;\\*(Ps\\*s\\*t +Set one or more features of the title modes. +Each parameter enables a single feature. + \*(Ps = \*0 \(-> Set window/icon labels using hexadecimal. + \*(Ps = \*1 \(-> Query window/icon labels using hexadecimal. + \*(Ps = \*2 \(-> Set window/icon labels using UTF-8. + \*(Ps = \*3 \(-> Query window/icon labels using UTF-8. +(See discussion of "Title Modes") +. +.IP \\*(Cs\\*(Ps\\*s\\*(Sp\\*t +Set warning-bell volume (DECSWBV, VT520). + \*(Ps = \*0 or \*1 \(-> off. + \*(Ps = \*2, \*3 or \*4 \(-> low. + \*(Ps = \*5, \*6, \*7, or \*8 \(-> high. +. +.IP \\*(Cs\\*u +Restore cursor (ANSI.SYS). +. +.IP \\*(Cs\\*(Ps\\*s\\*(Sp\\*u +Set margin-bell volume (DECSMBV, VT520). + \*(Ps = \*1 \(-> off. + \*(Ps = \*2, \*3 or \*4 \(-> low. + \*(Ps = \*0, \*5, \*6, \*7, or \*8 \(-> high. +. +.IP \\*(Cs\\*(Pt\\*;\\*(Pl\\*;\\*(Pb\\*;\\*(Pr\\*;\\*(Pp\\*;\\*(Pt\\*;\\*(Pl\\*;\\*(Pp\\*$\\*v +Copy Rectangular Area (DECCRA, VT400 and up). + \*(Pt\*;\*(Pl\*;\*(Pb\*;\*(Pr denotes the rectangle. + \*(Pp denotes the source page. + \*(Pt\*;\*(Pl denotes the target location. + \*(Pp denotes the target page. +. +.IP \\*(Cs\\*(Pt\\*s\\*;\\*(Pl\\*s\\*;\\*(Pb\\*s\\*;\\*(Pr\\*s\\*(qu\\*w +Enable Filter Rectangle (DECEFR), VT420 and up. +.br +Parameters are [top;left;bottom;right]. +.br +Defines the coordinates of a filter rectangle and activates 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. +. +.IP \\*(Cs\\*(Ps\\*s\\*x +Request Terminal Parameters (DECREQTPARM). +.br +if \*(Ps is a "0" (default) or "1", and \fIxterm\fR 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. + \*(Pn = \*1 \(<- no parity. + \*(Pn = \*1 \(<- eight bits. + \*(Pn = \*1 \(<- \*2 \*8 transmit 38.4k baud. + \*(Pn = \*1 \(<- \*2 \*8 receive 38.4k baud. + \*(Pn = \*1 \(<- clock multiplier. + \*(Pn = \*0 \(<- STP flags. +. +.IP \\*(Cs\\*(Ps\\*s\\**\\*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). +. +.IP \\*(Cs\\*(Pi\\*s\\*;\\*(Pg\\*s\\*;\\*(Pt\\*;\\*(Pl\\*;\\*(Pb\\*;\\*(Pr\\*s\\**\\*y +Request Checksum of Rectangular Area (DECRQCRA), VT420 and up. +Response is +.br +\*(Dc\*(Pt\*s\*!x\*sx\*sx\*sx\*s\*(ST +.br + \*(Pi is the request id. + \*(Pg is the page number. + \*(Pt\*;\*(Pl\*;\*(Pb\*;\*(Pr denotes the rectangle. + The x's are hexadecimal digits 0-9 and A-F. +. +.IP \\*(Cs\\*(Pc\\*s\\*;\\*(Pt\\*s\\*;\\*(Pl\\*s\\*;\\*(Pb\\*s\\*;\\*(Pr\\*s\\*$\\*x +Fill Rectangular Area (DECFRA), VT420 and up. + \*(Pc is the character to use. + \*(Pt\*;\*(Pl\*;\*(Pb\*;\*(Pr denotes the rectangle. +. +.IP \\*(Cs\\*(Ps\\*s\\*;\\*(Pu\\*s\\*(qu\\*z +Enable Locator Reporting (DECELR). +.br +Valid values for the first parameter: + \*(Ps = \*0 \(-> Locator disabled (default). + \*(Ps = \*1 \(-> Locator enabled. + \*(Ps = \*2 \(-> Locator enabled for one report, then disabled. +.br +The second parameter specifies the coordinate unit for locator reports. +.br +Valid values for the second parameter: + \*(Pu = \*0 \(<- or omitted \(-> default to character cells. + \*(Pu = \*1 \(<- device physical pixels. + \*(Pu = \*2 \(<- character cells. +. +.IP \\*(Cs\\*(Pt\\*;\\*(Pl\\*;\\*(Pb\\*;\\*(Pr\\*$\\*z +Erase Rectangular Area (DECERA), VT400 and up. + \*(Pt\*;\*(Pl\*;\*(Pb\*;\*(Pr denotes the rectangle. +. +.IP \\*(Cs\\*(Pm\\*s\\*(qu\\*{ +Select Locator Events (DECSLE). +.br +Valid values for the first (and any additional parameters) are: + \*(Ps = \*0 \(-> only respond to explicit host requests (DECRQLP). + (This is default). It 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. +. +.IP \\*(Cs\\*(Pt\\*;\\*(Pl\\*;\\*(Pb\\*;\\*(Pr\\*s\\*$\\*{ +Selective Erase Rectangular Area (DECSERA), VT400 and up. + \*(Pt\*;\*(Pl\*;\*(Pb\*;\*(Pr denotes the rectangle. +. +.IP \\*(Cs\\*(Ps\\*s\\*(qu\\*| +Request Locator Position (DECRQLP). +.br +Valid values for the parameter are: + \*(Ps = \*0, 1 or omitted \(-> transmit a single DECLRP locator report. +.sP +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 rectangles +have been enabled with a DECEFR. +.sP + \(-> \*(Cs\*(Pe\*s\*;\*(Pb\*s\*;\*(Pr\*s\*;\*(Pc\*s\*;\*(Pp\*s\*&\*s\*w +.sP +Parameters are [event;button;row;column;page]. +.br +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. +.br +``button'' parameter is a bitmask indicating which buttons 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. +.br +``row'' and ``column'' parameters are the coordinates of the locator +position in the xterm window, encoded as ASCII decimal. +.br +The ``page'' parameter is not used by xterm, and will be omitted. +. +.IP \\*(Cs\\*(Pm\\*s\\*(Sp\\*} +Insert \*(Ps Column(s) (default = 1) (DECIC), VT420 and up. +. +.IP \\*(Cs\\*(Pm\\*s\\*(Sp\\*~ +Delete \*(Ps Column(s) (default = 1) (DECDC), VT420 and up. +. +.Ed +. +.St +.Ss +Operating System Controls +. +.IP \\*(Os\\*(Ps\\*s\\*;\\*(Pt\\*s\\*(ST +.IP \\*(Os\\*(Ps\\*s\\*;\\*(Pt\\*s\\*(Be +Set Text Parameters. +For colors and font, +if \*(Pt is a "?", the control sequence elicits a response which consists +of the control sequence which would set the corresponding value. +The \fIdtterm\fP 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 +"\fIprop=value\fP", or just "\fIprop\fP" to delete the property + \*(Ps = \*4 ; \fIc ; spec\fP \(-> Change Color Number \fIc\fP to +the color specified by \fIspec\fP. +This can be a name or RGB specification as per \fIXParseColor\fP. +Any number of \fIc name\fP pairs may be given. +The color numbers correspond to the ANSI colors 0-7, +their bright versions 8-15, +and if supported, the remainder of the 88-color or 256-color table. +.sP +If a "?" is given rather than a name or RGB specification, +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 specification can +be given in one control sequence, \fIxterm\fR can make more than one reply. +.sP + \*(Ps = \*5 ; \fIc ; spec\fP \(-> Change Special Color Number \fIc\fP to +the color specified by \fIspec\fP. +This can be a name or RGB specification as per \fIXParseColor\fP. +Any number of \fIc name\fP pairs may be given. +The special colors can also be set by adding the maximum number of colors +to these codes in an \*(Os\*4 control: +.sP + \*(Pc = \*0 \(<- resource \fBcolorBD\fP (BOLD). + \*(Pc = \*1 \(<- resource \fBcolorUL\fP (UNDERLINE). + \*(Pc = \*2 \(<- resource \fBcolorBL\fP (BLINK). + \*(Pc = \*3 \(<- resource \fBcolorRV\fP (REVERSE). +.sP +The 10 colors (below) which may be set or queried +using \*1\*0 through \*1\*9 are +denoted \fIdynamic colors\fR, since the corresponding control sequences +were the first means for setting \fIxterm\fR's colors dynamically, +i.e., after it was started. +They are not the same as the ANSI colors. +These controls may be disabled using the \fIallowColorOps\fP resource. +At least one parameter is expected for \*(Pt. +Each successive parameter changes the next color in the list. +The value of \*(Ps tells the starting point in the list. +The colors are specified by name or RGB specification as per \fIXParseColor\fP. +.sP +If a "?" is given rather than a name or RGB specification, +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, \fIxterm\fR can make more than one reply. +.sP + \*(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 background color to \*(Pt. + \*(Ps = \*1\*8 \(-> Change Tektronix cursor color to \*(Pt. + \*(Ps = \*1\*9 \(-> Change highlight foreground color to \*(Pt. +.sP + \*(Ps = \*4\*6 \(-> Change Log File to \*(Pt. (This is normally disabled by a +compile-time option). +.sP + \*(Ps = \*5\*0 \(-> Set Font to \*(Pt. +These controls may be disabled using the \fIallowFontOps\fP resource. +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 indexing). +.br +The same rule (plus or minus sign, optional number) is used when +querying the font. +The remainder of \*(Pt is ignored. +.br +A font can be specified after a "#" index expression, +by adding a space and then the font specifier. +.br +If the "TrueType Fonts" menu entry is set (the \fBrenderFont\fP resource), +then this control sets/queries the \fBfaceName\fP resource. +.sP + \*(Ps = \*5\*1 (reserved for Emacs shell). +.sP + \*(Ps = \*5\*2 \(-> Manipulate Selection Data. +These controls may be disabled using the \fIallowWindowOps\fP resource. +The parameter \*(Pt is parsed as +.br + \*(Pc\*;\*(Pd +.br +The first, \*(Pc, may contain zero or more characters from the +set \*c \*p \*(cs \*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 7 respectively, +in the order given. +If the parameter is empty, \fIxterm\fP uses \*(cs\*0, +to specify the configurable primary/clipboard selection and cut buffer 0. +.br +The second parameter, \*(Pd, gives the selection data. +Normally this is a string encoded in base64. +The data becomes the new selection, +which is then available for pasting by other applications. +.br +If the second parameter is a \*?, +\fIxterm\fP replies to the host with the selection +data encoded using the same protocol. +.br +If the second parameter is neither a base64 string nor \*?, +then the selection is cleared. +.Ed +.sP + \*(Ps = \*1\*0\*4 ; \fIc\fP \(-> Reset Color Number \fIc\fP. It is reset to +the color specified by the corresponding X resource. +Any number of \fIc\fP parameters may be given. +These parameters correspond to the ANSI colors 0-7, +their bright versions 8-15, +and if supported, the remainder of the 88-color or 256-color table. +If no parameters are given, the entire table will be reset. +.sP + \*(Ps = \*1\*0\*5 ; \fIc\fP \(-> Reset Special Color Number \fIc\fP. It is reset to +the color specified by the corresponding X resource. +Any number of \fIc\fP parameters may be given. +These parameters correspond to the special colors which can be set +using an \*(Os\*5 control (or by adding the maximum number of colors +using an \*(Os\*4 control). +.sP +The \fIdynamic colors\fR can also be reset to their default (resource) values: + \*(Ps = \*1\*1\*0 \(-> Reset VT100 text foreground color. + \*(Ps = \*1\*1\*1 \(-> Reset VT100 text background color. + \*(Ps = \*1\*1\*2 \(-> Reset text cursor color. + \*(Ps = \*1\*1\*3 \(-> Reset mouse foreground color. + \*(Ps = \*1\*1\*4 \(-> Reset mouse background color. + \*(Ps = \*1\*1\*5 \(-> Reset Tektronix foreground color. + \*(Ps = \*1\*1\*6 \(-> Reset Tektronix background color. + \*(Ps = \*1\*1\*7 \(-> Reset highlight color. + \*(Ps = \*1\*1\*8 \(-> Reset Tektronix cursor color. +. +.St +.Ss +Privacy Message +.IP \\*(PM\\*(Pt\\*s\\*(ST +\fIxterm\fP implements no \*(PM functions; \*(Pt is ignored. +\*(Pt need not be printable characters. +.Ed +. +.Sh "Alt and Meta Keys" +.LP +Many keyboards have keys labeled "Alt". +Few have keys labeled "Meta". +However, \fIxterm\fP's default translations use the \fIMeta\fP modifier. +Common keyboard configurations assign the \fIMeta\fP modifier to an "Alt" key. +By using \fIxmodmap\fP one may have the modifier assigned to a different key, +and have "real" alt and meta keys. +Here is an example: +.DS B +! put meta on mod3 to distinguish it from alt +keycode 64 = Alt_L +clear mod1 +add mod1 = Alt_L +keycode 115 = Meta_L +clear mod3 +add mod3 = Meta_L +.DE +.lP +The \fBmetaSendsEscape\fP resource +(and \fBaltSendsEscape\fP if \fBaltIsNotMeta\fP is set) +can be used to control the way the \fIMeta\fP modifier applies to ordinary +keys unless the \fBmodifyOtherKeys\fP resource is set: +.IP +- +prefix a key with the \*(Es character. +.IP +- +shift the key from codes 0-127 to 128-255 by adding 128. +.lP +The table shows the result for a given character "x" with modifiers +according to the default translations with the resources set on or off. +This assumes \fBaltIsNotMeta\fP is set: +.ne 23 +.TS +center; +lf3 lf3 lf3 lf3 +lf3w(2c) lf3w(2c) lf3w(2c) lf3w(2c) . +_ +key altSendsEscape metaSendsEscape result +_ +x off off x +Meta-x off off shift +Alt-x off off shift +Alt+Meta-x off off shift +x ON off x +Meta-x ON off shift +Alt-x ON off \*(Es x +Alt+Meta-x ON off \*(Es shift +x off ON x +Meta-x off ON \*(Es x +Alt-x off ON shift +Alt+Meta-x off ON \*(Es shift +x ON ON x +Meta-x ON ON \*(Es x +Alt-x ON ON \*(Es x +Alt+Meta-x ON ON \*(Es x +_ +.TE +.Sh "PC-Style Function Keys" +.LP +If \fIxterm\fP 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. +.lP +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 \fBnumLock\fP resource, +or by the "DECSET \*1\*0\*3\*5" control sequence. +.lP +The cursor keys transmit the following escape sequences depending on the +mode specified via the \fBDECCKM\fP escape sequence. +.ne 10 +.TS +center; +cf3 cf3 cf3 +lf3w(2c) lf3w(2c) lf3w(2c) . +Key Normal Application +_ +Cursor Up \*(Cs\*A \*(S3\*A +Cursor Down \*(Cs\*(cB \*(S3\*(cB +Cursor Right \*(Cs\*C \*(S3\*C +Cursor Left \*(Cs\*D \*(S3\*D +_ +.TE +The home- and end-keys +(unlike PageUp and other keys also on the 6-key editing keypad) +are considered "cursor keys" by \fIxterm\fP. +Their mode is also controlled by the \fBDECCKM\fP escape sequence: +.ne 8 +.TS +center; +cf3 cf3 cf3 +lf3w(2c) lf3w(2c) lf3w(2c) . +Key Normal Application +_ +Home \*(Cs\*H \*(S3\*H +End \*(Cs\*F \*(S3\*F +_ +.TE +.lP +The application keypad transmits the following escape sequences depending on the +mode specified via the \fBDECKPNM\fP and \fBDECKPAM\fP escape sequences. +Use the NumLock key to override the application mode. +.lP +Not all keys are present on the Sun/PC keypad (e.g., PF1, Tab), but are supported by +the program. +.ne 30 +.TS +center; +cf3 cf3 cf3 cf3 cf3 +lf3w(2c) lf3w(2c) lf3w(2c) lf3w(2c) lf3w(2c) . +Key Numeric Application Terminfo Termcap +_ +Space \*(Sp \*(S3\*(Sp - - +Tab \*(Ta \*(S3\*I - - +Enter \*(Cr \*(S3\*M kent @8 +PF1 \*(S3\*P \*(S3\*P kf1 k1 +PF2 \*(S3\*Q \*(S3\*Q kf2 k2 +PF3 \*(S3\*R \*(S3\*R kf3 k3 +PF4 \*(S3\*S \*(S3\*S kf4 k4 +* \f1(multiply)\fP \** \*(S3\*j - - ++ \f1(add)\fP \*+ \*(S3\*k - - +, \f1(comma)\fP \*, \*(S3\*l - - +- \f1(minus)\fP \*- \*(S3\*m - - +\&. \f1(Delete)\fP \*. \*(Cs\*3\*(c~ - - +/ \f1(divide)\fP \*/ \*(S3\*o - - +0 \f1(Insert)\fP \*0 \*(Cs\*2\*(c~ - - +1 \f1(End)\fP \*1 \*(S3\*F kc1 K4 +2 \f1(DownArrow)\fP \*2 \*(Cs\*(cB - - +3 \f1(PageDown)\fP \*3 \*(Cs\*6\*(c~ kc3 K5 +4 \f1(LeftArrow)\fP \*4 \*(Cs\*D - - +5 \f1(Begin)\fP \*5 \*(Cs\*E kb2 K2 +6 \f1(RightArrow)\fP \*6 \*(Cs\*C - - +7 \f1(Home)\fP \*7 \*(S3\*H ka1 K1 +8 \f1(UpArrow)\fP \*8 \*(Cs\*A - - +9 \f1(PageUp)\fP \*9 \*(Cs\*5\*(c~ ka3 K3 += (equal) \*= \*(S3\*(XX - - +_ +.TE +.br +They also provide 12 function keys, as well as a few other special-purpose keys: +.ne 18 +.TS +center; +cf3 cf3 +lf3w(2c) lf3w(2c) . +Key Escape Sequence +_ +F1 \*(S3\*P +F2 \*(S3\*Q +F3 \*(S3\*R +F4 \*(S3\*S +F5 \*(Cs\*1\*5\*(c~ +F6 \*(Cs\*1\*7\*(c~ +F7 \*(Cs\*1\*8\*(c~ +F8 \*(Cs\*1\*9\*(c~ +F9 \*(Cs\*2\*0\*(c~ +F10 \*(Cs\*2\*1\*(c~ +F11 \*(Cs\*2\*3\*(c~ +F12 \*(Cs\*2\*4\*(c~ +_ +.TE +.sP +Older versions of \fIxterm\fP implement different escape sequences for F1 through F4. +These can be activated by setting the \fBoldXtermFKeys\fP resource. +However, since they do not correspond to any hardware terminal, they have been deprecated. +(The DEC VT220 reserves F1 through F5 for local functions such as \fBSetup\fP). +.ne 10 +.TS +center; +cf3 cf3 +lf3w(2c) lf3w(2c) . +Key Escape Sequence +_ +F1 \*(Cs\*1\*1\*(c~ +F2 \*(Cs\*1\*2\*(c~ +F3 \*(Cs\*1\*3\*(c~ +F4 \*(Cs\*1\*4\*(c~ +_ +.TE +In normal mode, i.e., a Sun/PC keyboard +when the \fBsunKeyboard\fP resource is false, +\fIxterm\fP recognizes function key modifiers +which are parameters appended before the final character +of the control sequence. +.ne 13 +.TS +center; +cf3 lf3 +cf3w(2c) lf3w(2c) . +Code Modifiers +_ +2 Shift +3 Alt +4 Shift + Alt +5 Control +6 Shift + Control +7 Alt + Control +8 Shift + Alt + Control +_ +.TE +For example, shift-F5 would be sent as +\*(Cs\*1\*5\*;\*2\*(c~ +.lP +If the \fBalwaysUseMods\fP resource is set, the Meta modifier also is +recognized, making parameters 9 through 16. +.Sh "VT220-Style Function Keys" +.LP +However, \fIxterm\fP is most useful as a DEC VT102 or VT220 emulator. +Set the \fBsunKeyboard\fP resource to true to force a Sun/PC keyboard +to act like a VT220 keyboard. +.lP +The VT102/VT220 application keypad transmits unique escape sequences in +application mode, which are distinct from the cursor and scrolling keypad: +.ne 32 +.TS +center; +cf3 cf3 cf3 +lf3w(2c) lf3w(2c) lf3w(2c) . +Key Numeric Application +_ +Space \*(Sp \*(S3\*(Sp +Tab \*(Ta \*(S3\*I +Enter \*(Cr \*(S3\*M +PF1 \*(S3\*P \*(S3\*P +PF2 \*(S3\*Q \*(S3\*Q +PF3 \*(S3\*R \*(S3\*R +PF4 \*(S3\*S \*(S3\*S +* \f1(multiply)\fP \** \*(S3\*j ++ \f1(add)\fP \*+ \*(S3\*k +, \f1(comma)\fP \*, \*(S3\*l +- \f1(minus)\fP \*- \*(S3\*m +\&. \f1(period)\fP \*. \*(S3\*n +/ \f1(divide)\fP \*/ \*(S3\*o +0 \*0 \*(S3\*p +1 \*1 \*(S3\*q +2 \*2 \*(S3\*r +3 \*3 \*(S3\*(cs +4 \*4 \*(S3\*t +5 \*5 \*(S3\*u +6 \*6 \*(S3\*v +7 \*7 \*(S3\*w +8 \*8 \*(S3\*x +9 \*9 \*(S3\*y += (equal) \*= \*(S3\*(XX +_ +.TE +The VT220 provides a 6-key editing keypad, +which is analogous to that on the PC keyboard. +It is not affected by \fBDECCKM\fP or \fBDECKPNM\fP/\fBDECKPAM\fP: +.ne 12 +.TS +center; +cf3 cf3 cf3 +lf3w(2c) lf3w(2c) lf3w(2c) . +Key Normal Application +_ +\f1Insert\fP \*(Cs\*2\*(c~ \*(Cs\*2\*(c~ +\f1Delete\fP \*(Cs\*3\*(c~ \*(Cs\*3\*(c~ +\f1Home\fP \*(Cs\*1\*(c~ \*(Cs\*1\*(c~ +\f1End\fP \*(Cs\*4\*(c~ \*(Cs\*4\*(c~ +\f1PageUp\fP \*(Cs\*5\*(c~ \*(Cs\*5\*(c~ +\f1PageDown\fP \*(Cs\*6\*(c~ \*(Cs\*6\*(c~ +_ +.TE +.LP +The VT220 provides 8 additional function keys. +With a Sun/PC keyboard, access these keys by Control/F1 for F13, etc. +.ne 16 +.TS +center; +cf3 cf3 +lf3w(2c) lf3w(2c) . +Key Escape Sequence +_ +F13 \*(Cs\*2\*5\*(c~ +F14 \*(Cs\*2\*6\*(c~ +F15 \*(Cs\*2\*8\*(c~ +F16 \*(Cs\*2\*9\*(c~ +F17 \*(Cs\*3\*1\*(c~ +F18 \*(Cs\*3\*2\*(c~ +F19 \*(Cs\*3\*3\*(c~ +F20 \*(Cs\*3\*4\*(c~ +_ +.TE +.Sh "VT52-Style Function Keys" +.LP +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: +.ne 13 +.TS +center; +cf3 cf3 +lf3w(2c) lf3w(2c) . +Key Normal/Application +_ +Cursor Up \*(Es\*A +Cursor Down \*(Es\*(cB +Cursor Right \*(Es\*C +Cursor Left \*(Es\*D +_ +.TE +The keypad is similar: +.ne 33 +.TS +center; +cf3 cf3 cf3 +lf3w(2c) lf3w(2c) lf3w(2c) . +Key Numeric Application +_ +Space \*(Sp \*(Es\*?\*(Sp +Tab \*(Ta \*(Es\*?\*I +Enter \*(Cr \*(Es\*?\*M +PF1 \*(Es\*P \*(Es\*P +PF2 \*(Es\*Q \*(Es\*Q +PF3 \*(Es\*R \*(Es\*R +PF4 \*(Es\*S \*(Es\*S +* \f1(multiply)\fP \** \*(Es\*?\*j ++ \f1(add)\fP \*+ \*(Es\*?\*k +, \f1(comma)\fP \*, \*(Es\*?\*l +- \f1(minus)\fP \*- \*(Es\*?\*m +\&. \f1(period)\fP \*. \*(Es\*?\*n +/ \f1(divide)\fP \*/ \*(Es\*?\*o +0 \*0 \*(Es\*?\*p +1 \*1 \*(Es\*?\*q +2 \*2 \*(Es\*?\*r +3 \*3 \*(Es\*?\*(cs +4 \*4 \*(Es\*?\*t +5 \*5 \*(Es\*?\*u +6 \*6 \*(Es\*?\*v +7 \*7 \*(Es\*?\*w +8 \*8 \*(Es\*?\*x +9 \*9 \*(Es\*?\*y += (equal) \*= \*(Es\*?\*(XX +_ +.TE +.Sh "Sun-Style Function Keys" +.LP +The \fIxterm\fP 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 \fIsun\fP and \fIVT100\fP emulations are not really +compatible. +For example, their wrap-margin behavior differs. +.lP +Only function keys are altered; keypad and cursor keys are the same. +The emulation responds identically. +See the xterm-sun terminfo entry for details. +.Sh "HP-Style Function Keys" +.LP +Similarly, \fIxterm\fP can be compiled to support HP keyboards. +See the xterm-hp terminfo entry for details. +.Sh "The Alternate Screen Buffer" +.LP +\fIXterm\fP 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 \fBsaveLines\fP 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. +\fIXterm\fP provides control sequences and menu entries +for switching between the two. +.lP +Most full-screen applications use terminfo or termcap to obtain +strings used to start/stop full-screen mode, +i.e., \fIsmcup\fP and \fIrmcup\fP for terminfo, +or the corresponding \fIti\fP and \fIte\fP for termcap. +The \fBtiteInhibit\fP resource removes the \fIti\fP and \fIte\fP strings +from the TERMCAP string which is set in the environment for some platforms. +That is not done when \fIxterm\fP 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 terminfo anyway, since terminfo data is not passed +in environment variables; +setting an environment variable in this manner would have no effect on +the application's ability to switch between normal and alternate screen +buffers. +Instead, the newer private mode controls +(such as \*1\*0\*4\*9) +for switching between normal +and alternate screen buffers simply disable the switching. +They add other features such as clearing the display for the same reason: +to make the details of switching independent of the application that +requests the switch. +. +.Sh "Bracketed Paste Mode" +.LP +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: + \*(Es [ 200 ~, +.br +followed by the pasted text, followed by + \*(Es [ 201 ~. +. +.Sh "Title Modes" +.LP +The window- and icon-labels can be set or queried using control sequences. +As a VT220-emulator, \fIxterm\fP "should" limit the character encoding for +the corresponding strings to ISO-8859-1. +Indeed, it used to be the case (and was documented) that +window titles had to be ISO-8859-1. +This is no longer the case. +However, there are many applications which still assume that titles are +set using ISO-8859-1. +So that is the default behavior. +.lP +If \fIxterm\fP is running with UTF-8 encoding, +it is possible to use window- and icon-labels encoded using UTF-8. +That is because the underlying X libraries (and many, but not all) +window managers support this feature. +.lP +The \fButf8Title\fP X resource setting tells \fIxterm\fP to disable +a reconversion of the title string back to ISO-8859-1, +allowing the title strings to be interpreted as UTF-8. +The same feature can be enabled using the title mode control sequence +described in this summary. +.lP +Separate from the ability to set the titles, +\fIxterm\fP provides the ability to query the titles, +returning them either in ISO-8859-1 or UTF-8. +This choice is available only while \fIxterm\fP is using UTF-8 encoding. +.lP +Finally, the characters sent to, or returned by a title control +are less constrained than the rest of the control sequences. +To make them more manageable (and constrained), for use in shell scripts, +\fIxterm\fP has an optional feature which decodes the string from hexadecimal +(for setting titles) or for encoding the title into hexadecimal when querying +the value. +. +.Sh "Mouse Tracking" +.LP +The VT widget can be set to send the mouse position and other +information on button presses. +These modes are typically used by +editors and other full-screen applications that want to make use of +the mouse. +.lP +There are two sets of mutually exclusive modes: +.bP +mouse protocol +.bP +protocol encoding +.lP +The mouse protocols include +DEC Locator mode, enabled by the +DECELR \*(Cs\*(Ps\*s\*;\*(Ps\*s\*s\*(qu\*s\*z +control sequence, and is not described here +(control sequences are summarized above). +The remaining five modes of the mouse protocols +are each enabled (or disabled) by a different parameter in +the "DECSET \*(Cs\*?\*(Pm\*s\*h" +or +"DECRST \*(Cs\*?\*(Pm\*s\*l" +control sequence. +.lP +Manifest constants for the parameter values +are defined in \fBxcharmouse.h\fP as follows: +. +.DS B +#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 + +#define SET_FOCUS_EVENT_MOUSE 1004 + +#define SET_EXT_MODE_MOUSE 1005 +#define SET_SGR_EXT_MODE_MOUSE 1006 +#define SET_URXVT_EXT_MODE_MOUSE 1015 +.DE +.br +The motion reporting modes are strictly \fIxterm\fP extensions, and are not +part of any standard, though they are analogous to the DEC VT200 DECELR +locator reports. +.lP +Normally, +parameters (such as pointer position and button number) for all mouse +tracking escape sequences generated by \fIxterm\fP +encode numeric parameters in a single character as +\fIvalue\fP+32. +For example, \*! specifies the value 1. +The upper left character position on the terminal is denoted as 1,1. +This scheme dates back to X10, +though the normal mouse-tracking (from X11) is more elaborate. +.lP +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, \fIxterm\fP sends +\*(Cs\*M\*(Cb\*(Cx\*(Cy (6 characters). +.bP +\*(Cb is button\-1. +.bP +\*(Cx and \*(Cy are the x and y coordinates of the mouse when the +button was pressed. +.lP +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, \fIxterm\fP sends +\*(Cs\*M\*(Cb\*(Cx\*(Cy. +.bP +The low two bits of \*(Cb encode button information: +0=MB1 pressed, 1=MB2 pressed, 2=MB3 pressed, 3=release. +.bP +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 \fIxterm\fP uses the control modifier with mouse for popup menus, +and the shift modifier is used in the default translations for button events. +The \fIMeta\fP modifier recognized by \fIxterm\fP is the \fImod1\fP mask, +and is not necessarily the "Meta" key (see \fIxmodmap\fP). +.bP +\*(Cx and \*(Cy are the x and y coordinates of the mouse event, encoded as +in X10 mode. +.lP +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. +.lP +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 button events +can be received. +.sP +\fBWarning:\fP use of this mode requires a cooperating program or it will +hang \fIxterm.\fP +.sP +On button press, the same information as for normal tracking is +generated; \fIxterm\fP then waits for the program to send mouse +tracking information. +\fIAll X events are ignored until the proper escape sequence is +received from the pty:\fP +\*(Cs\*(Ps\*s\*;\*(Ps\*s\*;\*(Ps\*s\*;\*(Ps\*s\*;\*(Ps\*s\*T. +The parameters are \fIfunc, startx, starty, firstrow,\fP and \fIlastrow.\fP +\fIfunc\fP is non-zero to initiate highlight tracking and zero to abort. +\fIstartx\fP and \fIstarty\fP give the starting x and y location for +the highlighted region. +The ending location tracks the mouse, but +will never be above row \fIfirstrow\fP and will always be above row +\fIlastrow.\fP +(The top of the screen is row 1.) +When the button is released, \fIxterm\fP reports the ending position +one of two ways: +.bP +if the start and end coordinates are the same locations: +.br +\*(Cs\*t\*(Cx\*(Cy. +.bP +otherwise: +.br +\*(Cs\*T\*(Cx\*(Cy\*(Cx\*(Cy\*(Cx\*(Cy. +.br +The parameters are \fIstartx, starty, endx, endy, mousex,\fP and \fImousey.\fP +.RS +.IP \- 5 +\fIstartx, starty, endx, \fPand\fI endy\fP give the starting and +ending character positions of the region. +.IP \- 5 +\fImousex\fP and \fImousey\fP +give the location of the mouse at button up, which may not be over a +character. +.RE +.lP +Button-event tracking is essentially the same as normal tracking, but +\fIxterm\fP 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, \fIxterm\fP sends the same codes used by normal +tracking mode. +.bP +On button-motion events, \fIxterm\fP adds 32 to the event code +(the third character, \*(Cb). +.bP +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 \*(Cs\*M\*@\*(Cx\*(Cy. +(\ \*@ = 32 + 0 (button 1) + 32 (motion indicator)\ ). +Similarly, motion with button 3 +down is reported as \*(Cs\*M\*(cB\*(Cx\*(Cy. +(\ \*(cB = 32 + 2 (button 3) + 32 (motion indicator)\ ). +.lP +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. +.lP +FocusIn/FocusOut can be combined with any of the mouse events since +it uses a different protocol. +When set, it causes \fIxterm\fP to send +\*(Cs\*I when the terminal gains focus, and +\*(Cs\*O when it loses focus. +.lP +The original X10 mouse protocol limits the \*(Cx and \*(Cy ordinates +to 223 (=255\ -\ 32). +\fIXterm\fP supports more than one scheme for extending this range, +by changing the protocol encoding: +.IP "UTF-8 (1005)" +This enables UTF-8 encoding for \*(Cx and \*(Cy under +all tracking modes, expanding the maximum encodable position from 223 to 2015. +For positions less than 95, the resulting output is identical under both modes. +Under extended mouse mode, positions greater than 95 +generate "extra" bytes which will confuse applications which do not treat +their input as a UTF-8 stream. +Likewise, \*(Cb will be UTF-8 encoded, +to reduce confusion with wheel mouse events. +.IP +Under normal mouse mode, positions outside (160,94) result in +byte pairs which can be interpreted as a single UTF-8 character; +applications +which do treat their input as UTF-8 will almost certainly be confused +unless extended mouse mode is active. +.IP +This scheme has the drawback that the encoded coordinates will not +pass through \fIluit\fP unchanged, e.g., for locales using non-UTF-8 encoding. +.IP "SGR (1006)" +The normal mouse response is altered to use \*(Cs\*< +followed by semicolon-separated +encoded button value, +the \*(Cx and \*(Cy ordinates and a final character which +is \*M for button press +and \*m for button release. +.IP +The encoded button value in this case does not add 32 since +that was useful only in the X10 scheme for ensuring that the +byte containing the button value is a printable code. +The modifiers are encoded in the same way. +A different final character is used for button release +to resolve the X10 ambiguity regarding which button was released. +.IP +The highlight tracking responses are also modified to an SGR-like format, +using the same SGR-style scheme and button-encodings. +.IP "URXVT (1015)" +The normal mouse response is altered to use \*(Cs +followed by semicolon-separated +encoded button value, +the \*(Cx and \*(Cy ordinates and final character \*M. +.IP +This uses the same button encoding as X10, but printing it as +a decimal integer rather than as a single byte. +.IP +However, \*(Cs\*M can be mistaken for DL (delete lines), +while the highlight tracking \*(Cs\*T can be mistaken for SD (scroll down), +and the Window manipulation controls. +For these reasons, the 1015 control is not recommended; +it is not an improvement over 1005. +. +.Sh "Tektronix 4014 Mode" +.LP +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. +.St +.IP \\*(Be +Bell (Ctrl-G). +.IP \\*(Bs +Backspace (Ctrl-H). +.IP \\*(Ta +Horizontal Tab (Ctrl-I). +.IP \\*(Lf +Line Feed or New Line (Ctrl-J). +.IP \\*(Vt +Cursor up (Ctrl-K). +.IP \\*(Ff +Form Feed or New Page (Ctrl-L). +.IP \\*(Cr +Carriage Return (Ctrl-M). +.IP \\*(Es\\*(Et +Switch to VT100 Mode (\*(Es Ctrl-C). +.IP \\*(Es\\*(En +Return Terminal Status (\*(Es Ctrl-E). +.IP \\*(Es\\*(Ff +PAGE (Clear Screen) (\*(Es Ctrl-L). +.IP \\*(Es\\*(So +Begin 4015 APL mode (\*(Es Ctrl-N). (This is ignored by \fIxterm\fP). +.IP \\*(Es\\*(Si +End 4015 APL mode (\*(Es Ctrl-O). (This is ignored by \fIxterm\fP). +.IP \\*(Es\\*(Eb +COPY (Save Tektronix Codes to file COPY\fIyyyy-mm-dd.hh:mm:ss\fP). + \*(Eb (end transmission block) is the same as Ctrl-W. +.IP \\*(Es\\*(Ca +Bypass Condition (\*(Es Ctrl-X). +.IP \\*(Es\\*(Su +GIN mode (\*(Es Ctrl-Z). +.IP \\*(Es\\*(Fs +Special Point Plot Mode (\*(Es Ctrl-\e). +.IP \\*(Es\\*8 +Select Large Character Set. +.IP \\*(Es\\*9 +Select #2 Character Set. +.IP \\*(Es\\*: +Select #3 Character Set. +.IP \\*(Es\\*; +Select Small Character Set. +.IP \\*(Os\\*(Ps\\*s\\*;\\*(Pt\\*s\\*(Be +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. (This is normally disabled by a +compile-time option). +.IP \\*(Es\\*` +Normal Z Axis and Normal (solid) Vectors. +.IP \\*(Es\\*a +Normal Z Axis and Dotted Line Vectors. +.IP \\*(Es\\*b +Normal Z Axis and Dot-Dashed Vectors. +.IP \\*(Es\\*c +Normal Z Axis and Short-Dashed Vectors. +.IP \\*(Es\\*d +Normal Z Axis and Long-Dashed Vectors. +.IP \\*(Es\\*h +Defocused Z Axis and Normal (solid) Vectors. +.IP \\*(Es\\*i +Defocused Z Axis and Dotted Line Vectors. +.IP \\*(Es\\*j +Defocused Z Axis and Dot-Dashed Vectors. +.IP \\*(Es\\*k +Defocused Z Axis and Short-Dashed Vectors. +.IP \\*(Es\\*l +Defocused Z Axis and Long-Dashed Vectors. +.IP \\*(Es\\*p +Write-Thru Mode and Normal (solid) Vectors. +.IP \\*(Es\\*q +Write-Thru Mode and Dotted Line Vectors. +.IP \\*(Es\\*r +Write-Thru Mode and Dot-Dashed Vectors. +.IP \\*(Es\\*(cs +Write-Thru Mode and Short-Dashed Vectors. +.IP \\*(Es\\*t +Write-Thru Mode and Long-Dashed Vectors. +.IP \\*(Fs +Point Plot Mode (Ctrl-\e). +.IP \\*(Gs +Graph Mode (Ctrl-]). +.IP \\*(Rs +Incremental Plot Mode (Ctrl-^). +.IP \\*(Us +Alpha Mode (Ctrl-_). +.Ed +. +. +.Sh "VT52 Mode" +.LP +Parameters for cursor movement are at the end of the \*(Es\*Y escape sequence. +Each ordinate is encoded in a single character as \fIvalue\fP+32. +For example, \*! is 1. +The screen coordinate system is 0-based. +.St +.IP \\*(Es\\*A +Cursor up. +.IP \\*(Es\\*(cB +Cursor down. +.IP \\*(Es\\*C +Cursor right. +.IP \\*(Es\\*D +Cursor left. +.IP \\*(Es\\*F +Enter graphics mode. +.IP \\*(Es\\*G +Exit graphics mode. +.IP \\*(Es\\*H +Move the cursor to the home position. +.IP \\*(Es\\*I +Reverse line feed. +.IP \\*(Es\\*J +Erase from the cursor to the end of the screen. +.IP \\*(Es\\*K +Erase from the cursor to the end of the line. +.IP \\*(Es\\*Y\\*(Ps\\*s\\*(Ps +Move the cursor to given row and column. +.IP \\*(Es\\*Z +Identify. + \(-> \*(Es\*s\*/\*s\*Z (``I am a VT52.''). +.IP \\*(Es\\*= +Enter alternate keypad mode. +.IP \\*(Es\\*> +Exit alternate keypad mode. +.IP \\*(Es\\*< +Exit VT52 mode (Enter VT100 mode). +.Ed +. +.if n .pl \n(nlu+1v |