ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/doc/rxvt.7.man.in
Revision: 1.21
Committed: Thu Jun 30 14:00:49 2005 UTC (19 years ago) by root
Branch: MAIN
Changes since 1.20: +15 -2 lines
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.21 .\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.3
2 root 1.1 .\"
3     .\" Standard preamble:
4     .\" ========================================================================
5     .de Sh \" Subsection heading
6     .br
7     .if t .Sp
8     .ne 5
9     .PP
10     \fB\\$1\fR
11     .PP
12     ..
13     .de Sp \" Vertical space (when we can't use .PP)
14     .if t .sp .5v
15     .if n .sp
16     ..
17     .de Vb \" Begin verbatim text
18     .ft CW
19     .nf
20     .ne \\$1
21     ..
22     .de Ve \" End verbatim text
23     .ft R
24     .fi
25     ..
26     .\" Set up some character translations and predefined strings. \*(-- will
27     .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28     .\" double quote, and \*(R" will give a right double quote. | will give a
29     .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
30     .\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
31     .\" expand to `' in nroff, nothing in troff, for use with C<>.
32     .tr \(*W-|\(bv\*(Tr
33     .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
34     .ie n \{\
35     . ds -- \(*W-
36     . ds PI pi
37     . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38     . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
39     . ds L" ""
40     . ds R" ""
41 root 1.12 . ds C` ""
42     . ds C' ""
43 root 1.1 'br\}
44     .el\{\
45     . ds -- \|\(em\|
46     . ds PI \(*p
47     . ds L" ``
48     . ds R" ''
49     'br\}
50     .\"
51     .\" If the F register is turned on, we'll generate index entries on stderr for
52     .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53     .\" entries marked with X<> in POD. Of course, you'll have to process the
54     .\" output yourself in some meaningful fashion.
55     .if \nF \{\
56     . de IX
57     . tm Index:\\$1\t\\n%\t"\\$2"
58     ..
59     . nr % 0
60     . rr F
61     .\}
62     .\"
63     .\" For nroff, turn off justification. Always turn off hyphenation; it makes
64     .\" way too many mistakes in technical documents.
65     .hy 0
66     .if n .na
67     .\"
68     .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69     .\" Fear. Run. Save yourself. No user-serviceable parts.
70     . \" fudge factors for nroff and troff
71     .if n \{\
72     . ds #H 0
73     . ds #V .8m
74     . ds #F .3m
75     . ds #[ \f1
76     . ds #] \fP
77     .\}
78     .if t \{\
79     . ds #H ((1u-(\\\\n(.fu%2u))*.13m)
80     . ds #V .6m
81     . ds #F 0
82     . ds #[ \&
83     . ds #] \&
84     .\}
85     . \" simple accents for nroff and troff
86     .if n \{\
87     . ds ' \&
88     . ds ` \&
89     . ds ^ \&
90     . ds , \&
91     . ds ~ ~
92     . ds /
93     .\}
94     .if t \{\
95     . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
96     . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
97     . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
98     . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
99     . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
100     . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
101     .\}
102     . \" troff and (daisy-wheel) nroff accents
103     .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
104     .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
105     .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
106     .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
107     .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
108     .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
109     .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
110     .ds ae a\h'-(\w'a'u*4/10)'e
111     .ds Ae A\h'-(\w'A'u*4/10)'E
112     . \" corrections for vroff
113     .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
114     .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
115     . \" for low resolution devices (crt and lpr)
116     .if \n(.H>23 .if \n(.V>19 \
117     \{\
118     . ds : e
119     . ds 8 ss
120     . ds o a
121     . ds d- d\h'-1'\(ga
122     . ds D- D\h'-1'\(hy
123     . ds th \o'bp'
124     . ds Th \o'LP'
125     . ds ae ae
126     . ds Ae AE
127     .\}
128     .rm #[ #] #H #V #F C
129     .\" ========================================================================
130     .\"
131     .IX Title "rxvt 7"
132 root 1.21 .TH rxvt 7 "2005-06-26" "5.6" "RXVT-UNICODE"
133 root 1.1 .SH "NAME"
134     RXVT REFERENCE \- FAQ, command sequences and other background information
135 root 1.12 .SH "SYNOPSIS"
136     .IX Header "SYNOPSIS"
137     .Vb 2
138     \& # set a new font set
139     \& printf '\e33]50;%s\e007' 9x15,xft:Kochi" Mincho"
140     .Ve
141     .PP
142     .Vb 2
143     \& # change the locale and tell rxvt-unicode about it
144     \& export LC_CTYPE=ja_JP.EUC-JP; printf "\e33]701;$LC_CTYPE\e007"
145     .Ve
146     .PP
147     .Vb 2
148     \& # set window title
149     \& printf '\e33]2;%s\e007' "new window title"
150     .Ve
151     .SH "DESCRIPTION"
152     .IX Header "DESCRIPTION"
153     This document contains the \s-1FAQ\s0, the \s-1RXVT\s0 \s-1TECHNICAL\s0 \s-1REFERENCE\s0 documenting
154     all escape sequences, and other background information.
155     .PP
156     The newest version of this document is
157     also available on the World Wide Web at
158     <http://cvs.schmorp.de/browse/*checkout*/rxvt\-unicode/doc/rxvt.7.html>.
159 root 1.1 .SH "FREQUENTLY ASKED QUESTIONS"
160     .IX Header "FREQUENTLY ASKED QUESTIONS"
161     .IP "How do I know which rxvt-unicode version I'm using?" 4
162     .IX Item "How do I know which rxvt-unicode version I'm using?"
163     The version number is displayed with the usage (\-h). Also the escape
164 root 1.12 sequence \f(CW\*(C`ESC [ 8 n\*(C'\fR sets the window title to the version number.
165     .IP "I am using Debian GNU/Linux and have a problem..." 4
166     .IX Item "I am using Debian GNU/Linux and have a problem..."
167     The Debian GNU/Linux package of rxvt-unicode contains large patches that
168     considerably change the behaviour of rxvt\-unicode. Before reporting a
169     bug to the original rxvt-unicode author please download and install the
170     genuine version (<http://software.schmorp.de#rxvt\-unicode>) and try to
171     reproduce the problem. If you cannot, chances are that the problems are
172     specific to Debian GNU/Linux, in which case it should be reported via the
173     Debian Bug Tracking System (use \f(CW\*(C`reportbug\*(C'\fR to report the bug).
174     .Sp
175     For other problems that also affect the Debian package, you can and
176     probably should use the Debian \s-1BTS\s0, too, because, after all, it's also a
177     bug in the Debian version and it serves as a reminder for other users that
178     might encounter the same issue.
179 root 1.1 .IP "When I log-in to another system it tells me about missing terminfo data?" 4
180     .IX Item "When I log-in to another system it tells me about missing terminfo data?"
181     The terminal description used by rxvt-unicode is not as widely available
182     as that for xterm, or even rxvt (for which the same problem often arises).
183     .Sp
184     The correct solution for this problem is to install the terminfo, this can
185     be done like this (with ncurses' infocmp):
186     .Sp
187     .Vb 2
188     \& REMOTE=remotesystem.domain
189     \& infocmp rxvt-unicode | ssh $REMOTE "cat >/tmp/ti && tic /tmp/ti"
190     .Ve
191     .Sp
192     \&... or by installing rxvt-unicode normally on the remote system,
193     .Sp
194     If you cannot or do not want to do this, then you can simply set
195     \&\f(CW\*(C`TERM=rxvt\*(C'\fR or even \f(CW\*(C`TERM=xterm\*(C'\fR, and live with the small number of
196     problems arising, which includes wrong keymapping, less and different
197     colours and some refresh errors in fullscreen applications. It's a nice
198     quick-and-dirty workaround for rare cases, though.
199     .Sp
200 root 1.12 If you always want to do this (and are fine with the consequences) you
201     can either recompile rxvt-unicode with the desired \s-1TERM\s0 value or use a
202     resource to set it:
203 root 1.1 .Sp
204     .Vb 1
205     \& URxvt.termName: rxvt
206     .Ve
207     .Sp
208     If you don't plan to use \fBrxvt\fR (quite common...) you could also replace
209     the rxvt terminfo file with the rxvt-unicode one.
210 root 1.12 .ie n .IP """bash""'s readline does not work correctly under @@RXVT_NAME@@." 4
211     .el .IP "\f(CWbash\fR's readline does not work correctly under @@RXVT_NAME@@." 4
212     .IX Item "bash's readline does not work correctly under @@RXVT_NAME@@."
213     .PD 0
214 root 1.1 .IP "I need a termcap file entry." 4
215     .IX Item "I need a termcap file entry."
216 root 1.12 .PD
217     One reason you might want this is that some distributions or operating
218     systems still compile some programs using the long-obsoleted termcap
219 root 1.15 library (Fedora Core's bash is one example) and rely on a termcap entry
220     for \f(CW\*(C`rxvt\-unicode\*(C'\fR.
221 root 1.12 .Sp
222 root 1.1 You could use rxvt's termcap entry with resonable results in many cases.
223     You can also create a termcap entry by using terminfo's infocmp program
224     like this:
225     .Sp
226     .Vb 1
227     \& infocmp -C rxvt-unicode
228     .Ve
229     .Sp
230 root 1.12 Or you could use this termcap entry, generated by the command above:
231 root 1.1 .Sp
232 root 1.16 .Vb 20
233 root 1.1 \& rxvt-unicode|rxvt-unicode terminal (X Window System):\e
234     \& :am:bw:eo:km:mi:ms:xn:xo:\e
235 root 1.15 \& :co#80:it#8:li#24:lm#0:\e
236 root 1.1 \& :AL=\eE[%dL:DC=\eE[%dP:DL=\eE[%dM:DO=\eE[%dB:IC=\eE[%d@:\e
237     \& :K1=\eEOw:K2=\eEOu:K3=\eEOy:K4=\eEOq:K5=\eEOs:LE=\eE[%dD:\e
238 root 1.16 \& :RI=\eE[%dC:SF=\eE[%dS:SR=\eE[%dT:UP=\eE[%dA:ae=\eE(B:al=\eE[L:\e
239     \& :as=\eE(0:bl=^G:cd=\eE[J:ce=\eE[K:cl=\eE[H\eE[2J:\e
240     \& :cm=\eE[%i%d;%dH:cr=^M:cs=\eE[%i%d;%dr:ct=\eE[3g:dc=\eE[P:\e
241     \& :dl=\eE[M:do=^J:ec=\eE[%dX:ei=\eE[4l:ho=\eE[H:\e
242     \& :i1=\eE[?47l\eE=\eE[?1l:ic=\eE[@:im=\eE[4h:\e
243     \& :is=\eE[r\eE[m\eE[2J\eE[H\eE[?7h\eE[?1;3;4;6l\eE[4l:\e
244 root 1.15 \& :k1=\eE[11~:k2=\eE[12~:k3=\eE[13~:k4=\eE[14~:k5=\eE[15~:\e
245     \& :k6=\eE[17~:k7=\eE[18~:k8=\eE[19~:k9=\eE[20~:kD=\eE[3~:\e
246     \& :kI=\eE[2~:kN=\eE[6~:kP=\eE[5~:kb=\e177:kd=\eEOB:ke=\eE[?1l\eE>:\e
247     \& :kh=\eE[7~:kl=\eEOD:kr=\eEOC:ks=\eE[?1h\eE=:ku=\eEOA:le=^H:\e
248     \& :mb=\eE[5m:md=\eE[1m:me=\eE[m\e017:mr=\eE[7m:nd=\eE[C:rc=\eE8:\e
249     \& :sc=\eE7:se=\eE[27m:sf=^J:so=\eE[7m:sr=\eEM:st=\eEH:ta=^I:\e
250     \& :te=\eE[r\eE[?1049l:ti=\eE[?1049h:ue=\eE[24m:up=\eE[A:\e
251     \& :us=\eE[4m:vb=\eE[?5h\eE[?5l:ve=\eE[?25h:vi=\eE[?25l:\e
252 root 1.1 \& :vs=\eE[?25h:
253     .Ve
254 root 1.12 .ie n .IP "Why does ""ls"" no longer have coloured output?" 4
255     .el .IP "Why does \f(CWls\fR no longer have coloured output?" 4
256 root 1.1 .IX Item "Why does ls no longer have coloured output?"
257     The \f(CW\*(C`ls\*(C'\fR in the \s-1GNU\s0 coreutils unfortunately doesn't use terminfo to
258     decide wether a terminal has colour, but uses it's own configuration
259     file. Needless to say, \f(CW\*(C`rxvt\-unicode\*(C'\fR is not in it's default file (among
260     with most other terminals supporting colour). Either add:
261     .Sp
262     .Vb 1
263     \& TERM rxvt-unicode
264     .Ve
265     .Sp
266     to \f(CW\*(C`/etc/DIR_COLORS\*(C'\fR or simply add:
267     .Sp
268     .Vb 1
269     \& alias ls='ls --color=auto'
270     .Ve
271     .Sp
272     to your \f(CW\*(C`.profile\*(C'\fR or \f(CW\*(C`.bashrc\*(C'\fR.
273     .IP "Why doesn't vim/emacs etc. use the 88 colour mode?" 4
274     .IX Item "Why doesn't vim/emacs etc. use the 88 colour mode?"
275     .PD 0
276     .IP "Why doesn't vim/emacs etc. make use of italic?" 4
277     .IX Item "Why doesn't vim/emacs etc. make use of italic?"
278     .IP "Why are the secondary screen-related options not working properly?" 4
279     .IX Item "Why are the secondary screen-related options not working properly?"
280     .PD
281     Make sure you are using \f(CW\*(C`TERM=rxvt\-unicode\*(C'\fR. Some pre-packaged
282     distributions (most notably Debian GNU/Linux) break rxvt-unicode
283     by setting \f(CW\*(C`TERM\*(C'\fR to \f(CW\*(C`rxvt\*(C'\fR, which doesn't have these extra
284     features. Unfortunately, some of these (most notably, again, Debian
285     GNU/Linux) furthermore fail to even install the \f(CW\*(C`rxvt\-unicode\*(C'\fR terminfo
286     file, so you will need to install it on your own (See the question \fBWhen
287     I log-in to another system it tells me about missing terminfo data?\fR on
288     how to do this).
289 root 1.12 .IP "My numerical keypad acts weird and generates differing output?" 4
290     .IX Item "My numerical keypad acts weird and generates differing output?"
291     Some Debian GNUL/Linux users seem to have this problem, although no
292     specific details were reported so far. It is possible that this is caused
293     by the wrong \f(CW\*(C`TERM\*(C'\fR setting, although the details of wether and how
294     this can happen are unknown, as \f(CW\*(C`TERM=rxvt\*(C'\fR should offer a compatible
295     keymap. See the answer to the previous question, and please report if that
296     helped.
297 root 1.1 .IP "Rxvt-unicode does not seem to understand the selected encoding?" 4
298     .IX Item "Rxvt-unicode does not seem to understand the selected encoding?"
299     .PD 0
300     .IP "Unicode does not seem to work?" 4
301     .IX Item "Unicode does not seem to work?"
302     .PD
303     If you encounter strange problems like typing an accented character but
304     getting two unrelated other characters or similar, or if program output is
305     subtly garbled, then you should check your locale settings.
306     .Sp
307     Rxvt-unicode must be started with the same \f(CW\*(C`LC_CTYPE\*(C'\fR setting as the
308     programs. Often rxvt-unicode is started in the \f(CW\*(C`C\*(C'\fR locale, while the
309     login script running within the rxvt-unicode window changes the locale to
310 root 1.12 something else, e.g. \f(CW\*(C`en_GB.UTF\-8\*(C'\fR. Needless to say, this is not going to work.
311 root 1.1 .Sp
312     The best thing is to fix your startup environment, as you will likely run
313     into other problems. If nothing works you can try this in your .profile.
314     .Sp
315     .Vb 1
316     \& printf '\ee]701;%s\e007' "$LC_CTYPE"
317     .Ve
318     .Sp
319     If this doesn't work, then maybe you use a \f(CW\*(C`LC_CTYPE\*(C'\fR specification not
320     supported on your systems. Some systems have a \f(CW\*(C`locale\*(C'\fR command which
321 root 1.12 displays this (also, \f(CW\*(C`perl \-e0\*(C'\fR can be used to check locale settings, as
322     it will complain loudly if it cannot set the locale). If it displays something
323     like:
324 root 1.1 .Sp
325     .Vb 1
326     \& locale: Cannot set LC_CTYPE to default locale: ...
327     .Ve
328     .Sp
329     Then the locale you specified is not supported on your system.
330     .Sp
331     If nothing works and you are sure that everything is set correctly then
332     you will need to remember a little known fact: Some programs just don't
333     support locales :(
334     .IP "Why do some characters look so much different than others?" 4
335     .IX Item "Why do some characters look so much different than others?"
336     .PD 0
337     .IP "How does rxvt-unicode choose fonts?" 4
338     .IX Item "How does rxvt-unicode choose fonts?"
339     .PD
340     Most fonts do not contain the full range of Unicode, which is
341     fine. Chances are that the font you (or the admin/package maintainer of
342     your system/os) have specified does not cover all the characters you want
343     to display.
344     .Sp
345     \&\fBrxvt-unicode\fR makes a best-effort try at finding a replacement
346     font. Often the result is fine, but sometimes the chosen font looks
347 root 1.12 bad/ugly/wrong. Some fonts have totally strange characters that don't
348     resemble the correct glyph at all, and rxvt-unicode lacks the artificial
349     intelligence to detect that a specific glyph is wrong: it has to believe
350     the font that the characters it claims to contain indeed look correct.
351 root 1.1 .Sp
352     In that case, select a font of your taste and add it to the font list,
353     e.g.:
354     .Sp
355     .Vb 1
356     \& @@RXVT_NAME@@ -fn basefont,font2,font3...
357     .Ve
358     .Sp
359     When rxvt-unicode sees a character, it will first look at the base
360     font. If the base font does not contain the character, it will go to the
361     next font, and so on. Specifying your own fonts will also speed up this
362     search and use less resources within rxvt-unicode and the X\-server.
363     .Sp
364 root 1.12 The only limitation is that none of the fonts may be larger than the base
365     font, as the base font defines the terminal character cell size, which
366     must be the same due to the way terminals work.
367 root 1.1 .IP "Why do some chinese characters look so different than others?" 4
368     .IX Item "Why do some chinese characters look so different than others?"
369     This is because there is a difference between script and language \*(--
370 root 1.12 rxvt-unicode does not know which language the text that is output is,
371     as it only knows the unicode character codes. If rxvt-unicode first
372     sees a japanese/chinese character, it might choose a japanese font for
373     display. Subsequent japanese characters will use that font. Now, many
374     chinese characters aren't represented in japanese fonts, so when the first
375 root 1.1 non-japanese character comes up, rxvt-unicode will look for a chinese font
376     \&\*(-- unfortunately at this point, it will still use the japanese font for
377 root 1.12 chinese characters that are also in the japanese font.
378 root 1.1 .Sp
379     The workaround is easy: just tag a chinese font at the end of your font
380     list (see the previous question). The key is to view the font list as
381     a preference list: If you expect more japanese, list a japanese font
382     first. If you expect more chinese, put a chinese font first.
383     .Sp
384 root 1.12 In the future it might be possible to switch language preferences at
385     runtime (the internal data structure has no problem with using different
386     fonts for the same character at the same time, but no interface for this
387     has been designed yet).
388     .Sp
389     Until then, you might get away with switching fonts at runtime (see \*(L"Can I switch the fonts at runtime?\*(R" later in this document).
390 root 1.1 .IP "Why does rxvt-unicode sometimes leave pixel droppings?" 4
391     .IX Item "Why does rxvt-unicode sometimes leave pixel droppings?"
392     Most fonts were not designed for terminal use, which means that character
393     size varies a lot. A font that is otherwise fine for terminal use might
394     contain some characters that are simply too wide. Rxvt-unicode will avoid
395     these characters. For characters that are just \*(L"a bit\*(R" too wide a special
396     \&\*(L"careful\*(R" rendering mode is used that redraws adjacent characters.
397     .Sp
398     All of this requires that fonts do not lie about character sizes,
399     however: Xft fonts often draw glyphs larger than their acclaimed bounding
400     box, and rxvt-unicode has no way of detecting this (the correct way is to
401     ask for the character bounding box, which unfortunately is wrong in these
402     cases).
403     .Sp
404     It's not clear (to me at least), wether this is a bug in Xft, freetype,
405     or the respective font. If you encounter this problem you might try using
406     the \f(CW\*(C`\-lsp\*(C'\fR option to give the font more height. If that doesn't work, you
407     might be forced to use a different font.
408     .Sp
409     All of this is not a problem when using X11 core fonts, as their bounding
410     box data is correct.
411 root 1.21 .IP "On Solaris 9, many line-drawing characters are too wide." 4
412     .IX Item "On Solaris 9, many line-drawing characters are too wide."
413     Seems to be a known bug, read
414     <http://nixdoc.net/files/forum/about34198.html>. Some people use the
415     following ugly workaround to get non-double-wide-characters working:
416     .Sp
417     .Vb 1
418     \& #define wcwidth(x) wcwidth(x) > 1 ? 1 : wcwidth(x)
419     .Ve
420 root 1.1 .IP "My Compose (Multi_key) key is no longer working." 4
421     .IX Item "My Compose (Multi_key) key is no longer working."
422     The most common causes for this are that either your locale is not set
423     correctly, or you specified a \fBpreeditStyle\fR that is not supported by
424     your input method. For example, if you specified \fBOverTheSpot\fR and
425     your input method (e.g. the default input method handling Compose keys)
426     does not support this (for instance because it is not visual), then
427     rxvt-unicode will continue without an input method.
428     .Sp
429     In this case either do not specify a \fBpreeditStyle\fR or specify more than
430     one pre-edit style, such as \fBOverTheSpot,Root,None\fR.
431 root 1.12 .ie n .IP "I cannot type ""Ctrl\-Shift\-2"" to get an \s-1ASCII\s0 \s-1NUL\s0 character due to \s-1ISO\s0 14755" 4
432     .el .IP "I cannot type \f(CWCtrl\-Shift\-2\fR to get an \s-1ASCII\s0 \s-1NUL\s0 character due to \s-1ISO\s0 14755" 4
433 root 1.1 .IX Item "I cannot type Ctrl-Shift-2 to get an ASCII NUL character due to ISO 14755"
434     Either try \f(CW\*(C`Ctrl\-2\*(C'\fR alone (it often is mapped to \s-1ASCII\s0 \s-1NUL\s0 even on
435     international keyboards) or simply use \s-1ISO\s0 14755 support to your
436     advantage, typing <Ctrl\-Shift\-0> to get a \s-1ASCII\s0 \s-1NUL\s0. This works for other
437     codes, too, such as \f(CW\*(C`Ctrl\-Shift\-1\-d\*(C'\fR to type the default telnet escape
438     character and so on.
439     .IP "How can I keep rxvt-unicode from using reverse video so much?" 4
440     .IX Item "How can I keep rxvt-unicode from using reverse video so much?"
441 root 1.12 First of all, make sure you are running with the right terminal settings
442     (\f(CW\*(C`TERM=rxvt\-unicode\*(C'\fR), which will get rid of most of these effects. Then
443     make sure you have specified colours for italic and bold, as otherwise
444     rxvt-unicode might use reverse video to simulate the effect:
445 root 1.1 .Sp
446     .Vb 2
447 root 1.12 \& URxvt.colorBD: white
448     \& URxvt.colorIT: green
449 root 1.1 .Ve
450     .IP "Some programs assume totally weird colours (red instead of blue), how can I fix that?" 4
451     .IX Item "Some programs assume totally weird colours (red instead of blue), how can I fix that?"
452 root 1.12 For some unexplainable reason, some rare programs assume a very weird
453     colour palette when confronted with a terminal with more than the standard
454     8 colours (rxvt\-unicode supports 88). The right fix is, of course, to fix
455     these programs not to assume non-ISO colours without very good reasons.
456     .Sp
457     In the meantime, you can either edit your \f(CW\*(C`rxvt\-unicode\*(C'\fR terminfo
458     definition to only claim 8 colour support or use \f(CW\*(C`TERM=rxvt\*(C'\fR, which will
459     fix colours but keep you from using other rxvt-unicode features.
460 root 1.1 .IP "I am on FreeBSD and rxvt-unicode does not seem to work at all." 4
461     .IX Item "I am on FreeBSD and rxvt-unicode does not seem to work at all."
462     Rxvt-unicode requires the symbol \f(CW\*(C`_\|_STDC_ISO_10646_\|_\*(C'\fR to be defined
463     in your compile environment, or an implementation that implements it,
464     wether it defines the symbol or not. \f(CW\*(C`_\|_STDC_ISO_10646_\|_\*(C'\fR requires that
465     \&\fBwchar_t\fR is represented as unicode.
466     .Sp
467     As you might have guessed, FreeBSD does neither define this symobl nor
468     does it support it. Instead, it uses it's own internal representation of
469 root 1.12 \&\fBwchar_t\fR. This is, of course, completely fine with respect to standards.
470 root 1.1 .Sp
471 root 1.20 However, that means rxvt-unicode only works in \f(CW\*(C`POSIX\*(C'\fR, \f(CW\*(C`ISO\-8859\-1\*(C'\fR and
472     \&\f(CW\*(C`UTF\-8\*(C'\fR locales under FreeBSD (which all use Unicode as \fBwchar_t\fR.
473     .Sp
474     \&\f(CW\*(C`_\|_STDC_ISO_10646_\|_\*(C'\fR is the only sane way to support multi-language
475     apps in an \s-1OS\s0, as using a locale-dependent (and non\-standardized)
476     representation of \fBwchar_t\fR makes it impossible to convert between
477     \&\fBwchar_t\fR (as used by X11 and your applications) and any other encoding
478     without implementing OS-specific-wrappers for each and every locale. There
479     simply are no APIs to convert \fBwchar_t\fR into anything except the current
480     locale encoding.
481 root 1.1 .Sp
482     Some applications (such as the formidable \fBmlterm\fR) work around this
483     by carrying their own replacement functions for character set handling
484     with them, and either implementing OS-dependent hacks or doing multiple
485     conversions (which is slow and unreliable in case the \s-1OS\s0 implements
486     encodings slightly different than the terminal emulator).
487     .Sp
488     The rxvt-unicode author insists that the right way to fix this is in the
489     system libraries once and for all, instead of forcing every app to carry
490 root 1.12 complete replacements for them :)
491 root 1.21 .IP "I use Solaris 9 and it doesn't compile/work/etc." 4
492     .IX Item "I use Solaris 9 and it doesn't compile/work/etc."
493     Try the diff in \fIdoc/solaris9.patch\fR as a base. It fixes the worst
494     problems with \f(CW\*(C`wcwidth\*(C'\fR and a compile problem.
495 root 1.1 .IP "How does rxvt-unicode determine the encoding to use?" 4
496     .IX Item "How does rxvt-unicode determine the encoding to use?"
497     .PD 0
498     .IP "Is there an option to switch encodings?" 4
499     .IX Item "Is there an option to switch encodings?"
500     .PD
501     Unlike some other terminals, rxvt-unicode has no encoding switch, and no
502     specific \*(L"utf\-8\*(R" mode, such as xterm. In fact, it doesn't even know about
503     \&\s-1UTF\-8\s0 or any other encodings with respect to terminal I/O.
504     .Sp
505     The reasons is that there exists a perfectly fine mechanism for selecting
506     the encoding, doing I/O and (most important) communicating this to all
507 root 1.12 applications so everybody agrees on character properties such as width
508     and code number. This mechanism is the \fIlocale\fR. Applications not using
509     that info will have problems (for example, \f(CW\*(C`xterm\*(C'\fR gets the width of
510     characters wrong as it uses it's own, locale-independent table under all
511     locales).
512 root 1.1 .Sp
513     Rxvt-unicode uses the \f(CW\*(C`LC_CTYPE\*(C'\fR locale category to select encoding. All
514     programs doing the same (that is, most) will automatically agree in the
515     interpretation of characters.
516     .Sp
517     Unfortunately, there is no system-independent way to select locales, nor
518     is there a standard on how locale specifiers will look like.
519     .Sp
520     On most systems, the content of the \f(CW\*(C`LC_CTYPE\*(C'\fR environment variable
521     contains an arbitrary string which corresponds to an already-installed
522     locale. Common names for locales are \f(CW\*(C`en_US.UTF\-8\*(C'\fR, \f(CW\*(C`de_DE.ISO\-8859\-15\*(C'\fR,
523     \&\f(CW\*(C`ja_JP.EUC\-JP\*(C'\fR, i.e. \f(CW\*(C`language_country.encoding\*(C'\fR, but other forms
524     (i.e. \f(CW\*(C`de\*(C'\fR or \f(CW\*(C`german\*(C'\fR) are also common.
525     .Sp
526     Rxvt-unicode ignores all other locale categories, and except for
527     the encoding, ignores country or language-specific settings,
528 root 1.12 i.e. \f(CW\*(C`de_DE.UTF\-8\*(C'\fR and \f(CW\*(C`ja_JP.UTF\-8\*(C'\fR are the normally same to
529     rxvt\-unicode.
530 root 1.1 .Sp
531     If you want to use a specific encoding you have to make sure you start
532     rxvt-unicode with the correct \f(CW\*(C`LC_CTYPE\*(C'\fR category.
533     .IP "Can I switch locales at runtime?" 4
534     .IX Item "Can I switch locales at runtime?"
535 root 1.12 Yes, using an escape sequence. Try something like this, which sets
536 root 1.1 rxvt\-unicode's idea of \f(CW\*(C`LC_CTYPE\*(C'\fR.
537     .Sp
538     .Vb 1
539     \& printf '\ee]701;%s\e007' ja_JP.SJIS
540     .Ve
541     .Sp
542 root 1.12 See also the previous answer.
543 root 1.1 .Sp
544 root 1.12 Sometimes this capability is rather handy when you want to work in
545     one locale (e.g. \f(CW\*(C`de_DE.UTF\-8\*(C'\fR) but some programs don't support it
546     (e.g. \s-1UTF\-8\s0). For example, I use this script to start \f(CW\*(C`xjdic\*(C'\fR, which
547     first switches to a locale supported by xjdic and back later:
548 root 1.1 .Sp
549     .Vb 3
550     \& printf '\ee]701;%s\e007' ja_JP.SJIS
551     \& xjdic -js
552     \& printf '\ee]701;%s\e007' de_DE.UTF-8
553     .Ve
554 root 1.12 .Sp
555     You can also use xterm's \f(CW\*(C`luit\*(C'\fR program, which usually works fine, except
556     for some locales where character width differs between program\- and
557     rxvt\-unicode\-locales.
558 root 1.1 .IP "Can I switch the fonts at runtime?" 4
559     .IX Item "Can I switch the fonts at runtime?"
560 root 1.12 Yes, using an escape sequence. Try something like this, which has the same
561 root 1.1 effect as using the \f(CW\*(C`\-fn\*(C'\fR switch, and takes effect immediately:
562     .Sp
563     .Vb 1
564     \& printf '\ee]50;%s\e007' "9x15bold,xft:Kochi Gothic"
565     .Ve
566     .Sp
567     This is useful if you e.g. work primarily with japanese (and prefer a
568     japanese font), but you have to switch to chinese temporarily, where
569     japanese fonts would only be in your way.
570     .Sp
571     You can think of this as a kind of manual \s-1ISO\-2022\s0 switching.
572     .IP "Why do italic characters look as if clipped?" 4
573     .IX Item "Why do italic characters look as if clipped?"
574     Many fonts have difficulties with italic characters and hinting. For
575     example, the otherwise very nicely hinted font \f(CW\*(C`xft:Bitstream Vera Sans
576 root 1.12 Mono\*(C'\fR completely fails in it's italic face. A workaround might be to
577     enable freetype autohinting, i.e. like this:
578 root 1.1 .Sp
579     .Vb 2
580 root 1.12 \& URxvt.italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true
581     \& URxvt.boldItalicFont: xft:Bitstream Vera Sans Mono:bold:italic:autohint=true
582 root 1.1 .Ve
583     .IP "My input method wants <some encoding> but I want \s-1UTF\-8\s0, what can I do?" 4
584     .IX Item "My input method wants <some encoding> but I want UTF-8, what can I do?"
585     You can specify separate locales for the input method and the rest of the
586     terminal, using the resource \f(CW\*(C`imlocale\*(C'\fR:
587     .Sp
588     .Vb 1
589     \& URxvt*imlocale: ja_JP.EUC-JP
590     .Ve
591     .Sp
592     Now you can start your terminal with \f(CW\*(C`LC_CTYPE=ja_JP.UTF\-8\*(C'\fR and still
593     use your input method. Please note, however, that you will not be able to
594     input characters outside \f(CW\*(C`EUC\-JP\*(C'\fR in a normal way then, as your input
595     method limits you.
596 root 1.13 .IP "Rxvt-unicode crashes when the X Input Method changes or exits." 4
597     .IX Item "Rxvt-unicode crashes when the X Input Method changes or exits."
598     Unfortunately, this is unavoidable, as the \s-1XIM\s0 protocol is racy by
599     design. Applications can avoid some crashes at the expense of memory
600     leaks, and Input Methods can avoid some crashes by careful ordering at
601     exit time. \fBkinput2\fR (and derived input methods) generally succeeds,
602     while \fB\s-1SCIM\s0\fR (or similar input methods) fails. In the end, however,
603     crashes cannot be completely avoided even if both sides cooperate.
604     .Sp
605     So the only workaround is not to kill your Input Method Servers.
606 root 1.1 .IP "Rxvt-unicode uses gobs of memory, how can I reduce that?" 4
607     .IX Item "Rxvt-unicode uses gobs of memory, how can I reduce that?"
608 root 1.12 Rxvt-unicode tries to obey the rule of not charging you for something you
609 root 1.1 don't use. One thing you should try is to configure out all settings that
610     you don't need, for example, Xft support is a resource hog by design,
611     when used. Compiling it out ensures that no Xft font will be loaded
612     accidentally when rxvt-unicode tries to find a font for your characters.
613     .Sp
614     Also, many people (me included) like large windows and even larger
615     scrollback buffers: Without \f(CW\*(C`\-\-enable\-unicode3\*(C'\fR, rxvt-unicode will use
616     6 bytes per screen cell. For a 160x?? window this amounts to almost a
617     kilobyte per line. A scrollback buffer of 10000 lines will then (if full)
618     use 10 Megabytes of memory. With \f(CW\*(C`\-\-enable\-unicode3\*(C'\fR it gets worse, as
619     rxvt-unicode then uses 8 bytes per screen cell.
620     .IP "Can I speed up Xft rendering somehow?" 4
621     .IX Item "Can I speed up Xft rendering somehow?"
622     Yes, the most obvious way to speed it up is to avoid Xft entirely, as
623     it is simply slow. If you still want Xft fonts you might try to disable
624     antialiasing (by appending \f(CW\*(C`:antialiasing=false\*(C'\fR), which saves lots of
625     memory and also speeds up rendering considerably.
626     .IP "Rxvt-unicode doesn't seem to anti-alias its fonts, what is wrong?" 4
627     .IX Item "Rxvt-unicode doesn't seem to anti-alias its fonts, what is wrong?"
628     Rxvt-unicode will use whatever you specify as a font. If it needs to
629     fall back to it's default font search list it will prefer X11 core
630     fonts, because they are small and fast, and then use Xft fonts. It has
631     antialiasing disabled for most of them, because the author thinks they
632     look best that way.
633     .Sp
634     If you want antialiasing, you have to specify the fonts manually.
635     .IP "Mouse cut/paste suddenly no longer works." 4
636     .IX Item "Mouse cut/paste suddenly no longer works."
637     Make sure that mouse reporting is actually turned off since killing
638     some editors prematurely may leave the mouse in mouse report mode. I've
639     heard that tcsh may use mouse reporting unless it otherwise specified. A
640     quick check is to see if cut/paste works when the Alt or Shift keys are
641     depressed. See @@RXVT_NAME@@(7)
642     .IP "What's with this bold/blink stuff?" 4
643     .IX Item "What's with this bold/blink stuff?"
644     If no bold colour is set via \f(CW\*(C`colorBD:\*(C'\fR, bold will invert text using the
645     standard foreground colour.
646     .Sp
647     For the standard background colour, blinking will actually make the
648     text blink when compiled with \f(CW\*(C`\-\-enable\-blinking\*(C'\fR. with standard
649     colours. Without \f(CW\*(C`\-\-enable\-blinking\*(C'\fR, the blink attribute will be
650     ignored.
651     .Sp
652     On \s-1ANSI\s0 colours, bold/blink attributes are used to set high-intensity
653     foreground/background colors.
654     .Sp
655     color0\-7 are the low-intensity colors.
656     .Sp
657     color8\-15 are the corresponding high-intensity colors.
658     .IP "I don't like the screen colors. How do I change them?" 4
659     .IX Item "I don't like the screen colors. How do I change them?"
660     You can change the screen colors at run-time using \fI~/.Xdefaults\fR
661     resources (or as long\-options).
662     .Sp
663     Here are values that are supposed to resemble a \s-1VGA\s0 screen,
664     including the murky brown that passes for low-intensity yellow:
665     .Sp
666     .Vb 8
667 root 1.12 \& URxvt.color0: #000000
668     \& URxvt.color1: #A80000
669     \& URxvt.color2: #00A800
670     \& URxvt.color3: #A8A800
671     \& URxvt.color4: #0000A8
672     \& URxvt.color5: #A800A8
673     \& URxvt.color6: #00A8A8
674     \& URxvt.color7: #A8A8A8
675 root 1.1 .Ve
676     .Sp
677     .Vb 8
678 root 1.12 \& URxvt.color8: #000054
679     \& URxvt.color9: #FF0054
680     \& URxvt.color10: #00FF54
681     \& URxvt.color11: #FFFF54
682     \& URxvt.color12: #0000FF
683     \& URxvt.color13: #FF00FF
684     \& URxvt.color14: #00FFFF
685     \& URxvt.color15: #FFFFFF
686 root 1.1 .Ve
687     .Sp
688 root 1.12 And here is a more complete set of non-standard colors described (not by
689     me) as \*(L"pretty girly\*(R".
690 root 1.1 .Sp
691     .Vb 18
692     \& URxvt.cursorColor: #dc74d1
693     \& URxvt.pointerColor: #dc74d1
694     \& URxvt.background: #0e0e0e
695     \& URxvt.foreground: #4ad5e1
696     \& URxvt.color0: #000000
697     \& URxvt.color8: #8b8f93
698     \& URxvt.color1: #dc74d1
699     \& URxvt.color9: #dc74d1
700     \& URxvt.color2: #0eb8c7
701     \& URxvt.color10: #0eb8c7
702     \& URxvt.color3: #dfe37e
703     \& URxvt.color11: #dfe37e
704     \& URxvt.color5: #9e88f0
705     \& URxvt.color13: #9e88f0
706     \& URxvt.color6: #73f7ff
707     \& URxvt.color14: #73f7ff
708     \& URxvt.color7: #e1dddd
709     \& URxvt.color15: #e1dddd
710     .Ve
711 root 1.12 .IP "How can I start @@RXVT_NAME@@d in a race-free way?" 4
712     .IX Item "How can I start @@RXVT_NAME@@d in a race-free way?"
713     Despite it's name, @@RXVT_NAME@@d is not a real daemon, but more like a
714     server that answers @@RXVT_NAME@@c's requests, so it doesn't background
715     itself.
716     .Sp
717     To ensure @@RXVT_NAME@@d is listening on it's socket, you can use the
718     following method to wait for the startup message before continuing:
719     .Sp
720     .Vb 1
721     \& { @@RXVT_NAME@@d & } | read
722     .Ve
723 root 1.1 .IP "What's with the strange Backspace/Delete key behaviour?" 4
724     .IX Item "What's with the strange Backspace/Delete key behaviour?"
725     Assuming that the physical Backspace key corresponds to the
726     BackSpace keysym (not likely for Linux ... see the following
727     question) there are two standard values that can be used for
728     Backspace: \f(CW\*(C`^H\*(C'\fR and \f(CW\*(C`^?\*(C'\fR.
729     .Sp
730     Historically, either value is correct, but rxvt-unicode adopts the debian
731     policy of using \f(CW\*(C`^?\*(C'\fR when unsure, because it's the one only only correct
732     choice :).
733     .Sp
734     Rxvt-unicode tries to inherit the current stty settings and uses the value
735     of `erase' to guess the value for backspace. If rxvt-unicode wasn't
736     started from a terminal (say, from a menu or by remote shell), then the
737     system value of `erase', which corresponds to \s-1CERASE\s0 in <termios.h>, will
738     be used (which may not be the same as your stty setting).
739     .Sp
740     For starting a new rxvt\-unicode:
741     .Sp
742     .Vb 3
743     \& # use Backspace = ^H
744     \& $ stty erase ^H
745     \& $ @@RXVT_NAME@@
746     .Ve
747     .Sp
748     .Vb 3
749     \& # use Backspace = ^?
750     \& $ stty erase ^?
751     \& $ @@RXVT_NAME@@
752     .Ve
753     .Sp
754 root 1.12 Toggle with \f(CW\*(C`ESC [ 36 h\*(C'\fR / \f(CW\*(C`ESC [ 36 l\*(C'\fR as documented in @@RXVT_NAME@@(7).
755 root 1.1 .Sp
756     For an existing rxvt\-unicode:
757     .Sp
758     .Vb 3
759     \& # use Backspace = ^H
760     \& $ stty erase ^H
761     \& $ echo -n "^[[36h"
762     .Ve
763     .Sp
764     .Vb 3
765     \& # use Backspace = ^?
766     \& $ stty erase ^?
767     \& $ echo -n "^[[36l"
768     .Ve
769     .Sp
770     This helps satisfy some of the Backspace discrepancies that occur, but
771     if you use Backspace = \f(CW\*(C`^H\*(C'\fR, make sure that the termcap/terminfo value
772     properly reflects that.
773     .Sp
774     The Delete key is a another casualty of the ill-defined Backspace problem.
775     To avoid confusion between the Backspace and Delete keys, the Delete
776     key has been assigned an escape sequence to match the vt100 for Execute
777 root 1.12 (\f(CW\*(C`ESC [ 3 ~\*(C'\fR) and is in the supplied termcap/terminfo.
778 root 1.1 .Sp
779     Some other Backspace problems:
780     .Sp
781     some editors use termcap/terminfo,
782     some editors (vim I'm told) expect Backspace = ^H,
783     \&\s-1GNU\s0 Emacs (and Emacs-like editors) use ^H for help.
784     .Sp
785     Perhaps someday this will all be resolved in a consistent manner.
786     .IP "I don't like the key\-bindings. How do I change them?" 4
787     .IX Item "I don't like the key-bindings. How do I change them?"
788     There are some compile-time selections available via configure. Unless
789     you have run \*(L"configure\*(R" with the \f(CW\*(C`\-\-disable\-resources\*(C'\fR option you can
790 root 1.2 use the `keysym' resource to alter the keystrings associated with keysyms.
791 root 1.1 .Sp
792 root 1.12 Here's an example for a URxvt session started using \f(CW\*(C`@@RXVT_NAME@@ \-name URxvt\*(C'\fR
793 root 1.1 .Sp
794 root 1.2 .Vb 20
795 root 1.12 \& URxvt.keysym.Home: \e033[1~
796     \& URxvt.keysym.End: \e033[4~
797     \& URxvt.keysym.C-apostrophe: \e033<C-'>
798     \& URxvt.keysym.C-slash: \e033<C-/>
799     \& URxvt.keysym.C-semicolon: \e033<C-;>
800     \& URxvt.keysym.C-grave: \e033<C-`>
801     \& URxvt.keysym.C-comma: \e033<C-,>
802     \& URxvt.keysym.C-period: \e033<C-.>
803     \& URxvt.keysym.C-0x60: \e033<C-`>
804     \& URxvt.keysym.C-Tab: \e033<C-Tab>
805     \& URxvt.keysym.C-Return: \e033<C-Return>
806     \& URxvt.keysym.S-Return: \e033<S-Return>
807     \& URxvt.keysym.S-space: \e033<S-Space>
808     \& URxvt.keysym.M-Up: \e033<M-Up>
809     \& URxvt.keysym.M-Down: \e033<M-Down>
810     \& URxvt.keysym.M-Left: \e033<M-Left>
811     \& URxvt.keysym.M-Right: \e033<M-Right>
812     \& URxvt.keysym.M-C-0: list \e033<M-C- 0123456789 >
813 root 1.5 \& URxvt.keysym.M-C-a: list \e033<M-C- abcdefghijklmnopqrstuvwxyz >
814 root 1.12 \& URxvt.keysym.F12: command:\e033]701;zh_CN.GBK\e007
815 root 1.1 .Ve
816 root 1.5 .Sp
817     See some more examples in the documentation for the \fBkeysym\fR resource.
818 root 1.1 .IP "I'm using keyboard model \s-1XXX\s0 that has extra Prior/Next/Insert keys. How do I make use of them? For example, the Sun Keyboard type 4 has the following mappings that rxvt-unicode doesn't recognize." 4
819     .IX Item "I'm using keyboard model XXX that has extra Prior/Next/Insert keys. How do I make use of them? For example, the Sun Keyboard type 4 has the following mappings that rxvt-unicode doesn't recognize."
820     .Vb 6
821     \& KP_Insert == Insert
822     \& F22 == Print
823     \& F27 == Home
824     \& F29 == Prior
825     \& F33 == End
826     \& F35 == Next
827     .Ve
828     .Sp
829 root 1.5 Rather than have rxvt-unicode try to accommodate all the various possible
830     keyboard mappings, it is better to use `xmodmap' to remap the keys as
831     required for your particular machine.
832 root 1.12 .IP "How do I distinguish wether I'm running rxvt-unicode or a regular xterm? I need this to decide about setting colors etc." 4
833     .IX Item "How do I distinguish wether I'm running rxvt-unicode or a regular xterm? I need this to decide about setting colors etc."
834 root 1.1 rxvt and rxvt-unicode always export the variable \*(L"\s-1COLORTERM\s0\*(R", so you can
835     check and see if that is set. Note that several programs, \s-1JED\s0, slrn,
836     Midnight Commander automatically check this variable to decide whether or
837     not to use color.
838     .IP "How do I set the correct, full \s-1IP\s0 address for the \s-1DISPLAY\s0 variable?" 4
839     .IX Item "How do I set the correct, full IP address for the DISPLAY variable?"
840     If you've compiled rxvt-unicode with \s-1DISPLAY_IS_IP\s0 and have enabled
841     insecure mode then it is possible to use the following shell script
842     snippets to correctly set the display. If your version of rxvt-unicode
843     wasn't also compiled with \s-1ESCZ_ANSWER\s0 (as assumed in these snippets) then
844     the \s-1COLORTERM\s0 variable can be used to distinguish rxvt-unicode from a
845     regular xterm.
846     .Sp
847     Courtesy of Chuck Blake <cblake@BBN.COM> with the following shell script
848     snippets:
849     .Sp
850     .Vb 12
851     \& # Bourne/Korn/POSIX family of shells:
852     \& [ ${TERM:-foo} = foo ] && TERM=xterm # assume an xterm if we don't know
853     \& if [ ${TERM:-foo} = xterm ]; then
854     \& stty -icanon -echo min 0 time 15 # see if enhanced rxvt or not
855     \& echo -n '^[Z'
856     \& read term_id
857     \& stty icanon echo
858     \& if [ ""${term_id} = '^[[?1;2C' -a ${DISPLAY:-foo} = foo ]; then
859     \& echo -n '^[[7n' # query the rxvt we are in for the DISPLAY string
860     \& read DISPLAY # set it in our local shell
861     \& fi
862     \& fi
863     .Ve
864     .IP "How do I compile the manual pages for myself?" 4
865     .IX Item "How do I compile the manual pages for myself?"
866     You need to have a recent version of perl installed as \fI/usr/bin/perl\fR,
867     one that comes with \fIpod2man\fR, \fIpod2text\fR and \fIpod2html\fR. Then go to
868     the doc subdirectory and enter \f(CW\*(C`make alldoc\*(C'\fR.
869     .IP "My question isn't answered here, can I ask a human?" 4
870     .IX Item "My question isn't answered here, can I ask a human?"
871     Before sending me mail, you could go to \s-1IRC:\s0 \f(CW\*(C`irc.freenode.net\*(C'\fR,
872     channel \f(CW\*(C`#rxvt\-unicode\*(C'\fR has some rxvt-unicode enthusiasts that might be
873     interested in learning about new and exciting problems (but not FAQs :).
874 root 1.12 .SH "RXVT TECHNICAL REFERENCE"
875     .IX Header "RXVT TECHNICAL REFERENCE"
876 root 1.1 .SH "DESCRIPTION"
877     .IX Header "DESCRIPTION"
878     The rest of this document describes various technical aspects of
879     \&\fBrxvt-unicode\fR. First the description of supported command sequences,
880     followed by menu and pixmap support and last by a description of all
881     features selectable at \f(CW\*(C`configure\*(C'\fR time.
882     .SH "Definitions"
883     .IX Header "Definitions"
884 root 1.12 .ie n .IP "\fB\fB""c""\fB\fR" 4
885     .el .IP "\fB\f(CBc\fB\fR" 4
886 root 1.1 .IX Item "c"
887     The literal character c.
888 root 1.12 .ie n .IP "\fB\fB""C""\fB\fR" 4
889     .el .IP "\fB\f(CBC\fB\fR" 4
890 root 1.1 .IX Item "C"
891     A single (required) character.
892 root 1.12 .ie n .IP "\fB\fB""Ps""\fB\fR" 4
893     .el .IP "\fB\f(CBPs\fB\fR" 4
894 root 1.1 .IX Item "Ps"
895     A single (usually optional) numeric parameter, composed of one or more
896     digits.
897 root 1.12 .ie n .IP "\fB\fB""Pm""\fB\fR" 4
898     .el .IP "\fB\f(CBPm\fB\fR" 4
899 root 1.1 .IX Item "Pm"
900     A multiple numeric parameter composed of any number of single numeric
901     parameters, separated by \f(CW\*(C`;\*(C'\fR character(s).
902 root 1.12 .ie n .IP "\fB\fB""Pt""\fB\fR" 4
903     .el .IP "\fB\f(CBPt\fB\fR" 4
904 root 1.1 .IX Item "Pt"
905     A text parameter composed of printable characters.
906     .SH "Values"
907     .IX Header "Values"
908 root 1.12 .ie n .IP "\fB\fB""ENQ""\fB\fR" 4
909     .el .IP "\fB\f(CBENQ\fB\fR" 4
910 root 1.1 .IX Item "ENQ"
911     Enquiry (Ctrl\-E) = Send Device Attributes (\s-1DA\s0)
912     request attributes from terminal. See \fB\f(CB\*(C`ESC [ Ps c\*(C'\fB\fR.
913 root 1.12 .ie n .IP "\fB\fB""BEL""\fB\fR" 4
914     .el .IP "\fB\f(CBBEL\fB\fR" 4
915 root 1.1 .IX Item "BEL"
916     Bell (Ctrl\-G)
917 root 1.12 .ie n .IP "\fB\fB""BS""\fB\fR" 4
918     .el .IP "\fB\f(CBBS\fB\fR" 4
919 root 1.1 .IX Item "BS"
920     Backspace (Ctrl\-H)
921 root 1.12 .ie n .IP "\fB\fB""TAB""\fB\fR" 4
922     .el .IP "\fB\f(CBTAB\fB\fR" 4
923 root 1.1 .IX Item "TAB"
924     Horizontal Tab (\s-1HT\s0) (Ctrl\-I)
925 root 1.12 .ie n .IP "\fB\fB""LF""\fB\fR" 4
926     .el .IP "\fB\f(CBLF\fB\fR" 4
927 root 1.1 .IX Item "LF"
928     Line Feed or New Line (\s-1NL\s0) (Ctrl\-J)
929 root 1.12 .ie n .IP "\fB\fB""VT""\fB\fR" 4
930     .el .IP "\fB\f(CBVT\fB\fR" 4
931 root 1.1 .IX Item "VT"
932     Vertical Tab (Ctrl\-K) same as \fB\f(CB\*(C`LF\*(C'\fB\fR
933 root 1.12 .ie n .IP "\fB\fB""FF""\fB\fR" 4
934     .el .IP "\fB\f(CBFF\fB\fR" 4
935 root 1.1 .IX Item "FF"
936     Form Feed or New Page (\s-1NP\s0) (Ctrl\-L) same as \fB\f(CB\*(C`LF\*(C'\fB\fR
937 root 1.12 .ie n .IP "\fB\fB""CR""\fB\fR" 4
938     .el .IP "\fB\f(CBCR\fB\fR" 4
939 root 1.1 .IX Item "CR"
940     Carriage Return (Ctrl\-M)
941 root 1.12 .ie n .IP "\fB\fB""SO""\fB\fR" 4
942     .el .IP "\fB\f(CBSO\fB\fR" 4
943 root 1.1 .IX Item "SO"
944     Shift Out (Ctrl\-N), invokes the G1 character set.
945     Switch to Alternate Character Set
946 root 1.12 .ie n .IP "\fB\fB""SI""\fB\fR" 4
947     .el .IP "\fB\f(CBSI\fB\fR" 4
948 root 1.1 .IX Item "SI"
949     Shift In (Ctrl\-O), invokes the G0 character set (the default).
950     Switch to Standard Character Set
951 root 1.12 .ie n .IP "\fB\fB""SPC""\fB\fR" 4
952     .el .IP "\fB\f(CBSPC\fB\fR" 4
953 root 1.1 .IX Item "SPC"
954     Space Character
955     .SH "Escape Sequences"
956     .IX Header "Escape Sequences"
957 root 1.12 .ie n .IP "\fB\fB""ESC # 8""\fB\fR" 4
958     .el .IP "\fB\f(CBESC # 8\fB\fR" 4
959 root 1.1 .IX Item "ESC # 8"
960     \&\s-1DEC\s0 Screen Alignment Test (\s-1DECALN\s0)
961 root 1.12 .ie n .IP "\fB\fB""ESC 7""\fB\fR" 4
962     .el .IP "\fB\f(CBESC 7\fB\fR" 4
963 root 1.1 .IX Item "ESC 7"
964     Save Cursor (\s-1SC\s0)
965 root 1.12 .ie n .IP "\fB\fB""ESC 8""\fB\fR" 4
966     .el .IP "\fB\f(CBESC 8\fB\fR" 4
967 root 1.1 .IX Item "ESC 8"
968     Restore Cursor
969 root 1.12 .ie n .IP "\fB\fB""ESC =""\fB\fR" 4
970     .el .IP "\fB\f(CBESC =\fB\fR" 4
971 root 1.1 .IX Item "ESC ="
972     Application Keypad (\s-1SMKX\s0). See also next sequence.
973 root 1.12 .ie n .IP "\fB\fB""ESC""\fB\fR" 4
974     .el .IP "\fB\f(CBESC\fB\fR" 4
975 root 1.1 .IX Item "ESC"
976     Normal Keypad (\s-1RMKX\s0)
977     .Sp
978     \&\fBNote:\fR If the numeric keypad is activated, eg, \fBNum_Lock\fR has been
979     pressed, numbers or control functions are generated by the numeric keypad
980     (see Key Codes).
981 root 1.12 .ie n .IP "\fB\fB""ESC D""\fB\fR" 4
982     .el .IP "\fB\f(CBESC D\fB\fR" 4
983 root 1.1 .IX Item "ESC D"
984     Index (\s-1IND\s0)
985 root 1.12 .ie n .IP "\fB\fB""ESC E""\fB\fR" 4
986     .el .IP "\fB\f(CBESC E\fB\fR" 4
987 root 1.1 .IX Item "ESC E"
988     Next Line (\s-1NEL\s0)
989 root 1.12 .ie n .IP "\fB\fB""ESC H""\fB\fR" 4
990     .el .IP "\fB\f(CBESC H\fB\fR" 4
991 root 1.1 .IX Item "ESC H"
992     Tab Set (\s-1HTS\s0)
993 root 1.12 .ie n .IP "\fB\fB""ESC M""\fB\fR" 4
994     .el .IP "\fB\f(CBESC M\fB\fR" 4
995 root 1.1 .IX Item "ESC M"
996     Reverse Index (\s-1RI\s0)
997 root 1.12 .ie n .IP "\fB\fB""ESC N""\fB\fR" 4
998     .el .IP "\fB\f(CBESC N\fB\fR" 4
999 root 1.1 .IX Item "ESC N"
1000     Single Shift Select of G2 Character Set (\s-1SS2\s0): affects next character
1001     only \fIunimplemented\fR
1002 root 1.12 .ie n .IP "\fB\fB""ESC O""\fB\fR" 4
1003     .el .IP "\fB\f(CBESC O\fB\fR" 4
1004 root 1.1 .IX Item "ESC O"
1005     Single Shift Select of G3 Character Set (\s-1SS3\s0): affects next character
1006     only \fIunimplemented\fR
1007 root 1.12 .ie n .IP "\fB\fB""ESC Z""\fB\fR" 4
1008     .el .IP "\fB\f(CBESC Z\fB\fR" 4
1009 root 1.1 .IX Item "ESC Z"
1010 root 1.12 Obsolete form of returns: \fB\f(CB\*(C`ESC [ ? 1 ; 2 C\*(C'\fB\fR \fIrxvt-unicode compile-time option\fR
1011     .ie n .IP "\fB\fB""ESC c""\fB\fR" 4
1012     .el .IP "\fB\f(CBESC c\fB\fR" 4
1013 root 1.1 .IX Item "ESC c"
1014     Full reset (\s-1RIS\s0)
1015 root 1.12 .ie n .IP "\fB\fB""ESC n""\fB\fR" 4
1016     .el .IP "\fB\f(CBESC n\fB\fR" 4
1017 root 1.1 .IX Item "ESC n"
1018     Invoke the G2 Character Set (\s-1LS2\s0)
1019 root 1.12 .ie n .IP "\fB\fB""ESC o""\fB\fR" 4
1020     .el .IP "\fB\f(CBESC o\fB\fR" 4
1021 root 1.1 .IX Item "ESC o"
1022     Invoke the G3 Character Set (\s-1LS3\s0)
1023 root 1.12 .ie n .IP "\fB\fB""ESC ( C""\fB\fR" 4
1024     .el .IP "\fB\f(CBESC ( C\fB\fR" 4
1025     .IX Item "ESC ( C"
1026 root 1.1 Designate G0 Character Set (\s-1ISO\s0 2022), see below for values of \f(CW\*(C`C\*(C'\fR.
1027 root 1.12 .ie n .IP "\fB\fB""ESC ) C""\fB\fR" 4
1028     .el .IP "\fB\f(CBESC ) C\fB\fR" 4
1029     .IX Item "ESC ) C"
1030 root 1.1 Designate G1 Character Set (\s-1ISO\s0 2022), see below for values of \f(CW\*(C`C\*(C'\fR.
1031 root 1.12 .ie n .IP "\fB\fB""ESC * C""\fB\fR" 4
1032     .el .IP "\fB\f(CBESC * C\fB\fR" 4
1033 root 1.1 .IX Item "ESC * C"
1034     Designate G2 Character Set (\s-1ISO\s0 2022), see below for values of \f(CW\*(C`C\*(C'\fR.
1035 root 1.12 .ie n .IP "\fB\fB""ESC + C""\fB\fR" 4
1036     .el .IP "\fB\f(CBESC + C\fB\fR" 4
1037 root 1.1 .IX Item "ESC + C"
1038     Designate G3 Character Set (\s-1ISO\s0 2022), see below for values of \f(CW\*(C`C\*(C'\fR.
1039 root 1.12 .ie n .IP "\fB\fB""ESC $ C""\fB\fR" 4
1040     .el .IP "\fB\f(CBESC $ C\fB\fR" 4
1041 root 1.1 .IX Item "ESC $ C"
1042     Designate Kanji Character Set
1043     .Sp
1044     Where \fB\f(CB\*(C`C\*(C'\fB\fR is one of:
1045     .TS
1046     l l .
1047     C = 0 DEC Special Character and Line Drawing Set
1048     C = A United Kingdom (UK)
1049     C = B United States (USASCII)
1050     C = < Multinational character set unimplemented
1051     C = 5 Finnish character set unimplemented
1052     C = C Finnish character set unimplemented
1053     C = K German character set unimplemented
1054     .TE
1055    
1056     .PP
1057    
1058     .IX Xref "CSI"
1059     .SH "CSI (Command Sequence Introducer) Sequences"
1060     .IX Header "CSI (Command Sequence Introducer) Sequences"
1061 root 1.12 .ie n .IP "\fB\fB""ESC [ Ps @""\fB\fR" 4
1062     .el .IP "\fB\f(CBESC [ Ps @\fB\fR" 4
1063 root 1.1 .IX Item "ESC [ Ps @"
1064     Insert \fB\f(CB\*(C`Ps\*(C'\fB\fR (Blank) Character(s) [default: 1] (\s-1ICH\s0)
1065     .IX Xref "ESCOBPsA"
1066 root 1.12 .ie n .IP "\fB\fB""ESC [ Ps A""\fB\fR" 4
1067     .el .IP "\fB\f(CBESC [ Ps A\fB\fR" 4
1068 root 1.1 .IX Item "ESC [ Ps A"
1069     Cursor Up \fB\f(CB\*(C`Ps\*(C'\fB\fR Times [default: 1] (\s-1CUU\s0)
1070 root 1.12 .ie n .IP "\fB\fB""ESC [ Ps B""\fB\fR" 4
1071     .el .IP "\fB\f(CBESC [ Ps B\fB\fR" 4
1072 root 1.1 .IX Item "ESC [ Ps B"
1073     Cursor Down \fB\f(CB\*(C`Ps\*(C'\fB\fR Times [default: 1] (\s-1CUD\s0)
1074     .IX Xref "ESCOBPsC"
1075 root 1.12 .ie n .IP "\fB\fB""ESC [ Ps C""\fB\fR" 4
1076     .el .IP "\fB\f(CBESC [ Ps C\fB\fR" 4
1077 root 1.1 .IX Item "ESC [ Ps C"
1078     Cursor Forward \fB\f(CB\*(C`Ps\*(C'\fB\fR Times [default: 1] (\s-1CUF\s0)
1079 root 1.12 .ie n .IP "\fB\fB""ESC [ Ps D""\fB\fR" 4
1080     .el .IP "\fB\f(CBESC [ Ps D\fB\fR" 4
1081 root 1.1 .IX Item "ESC [ Ps D"
1082     Cursor Backward \fB\f(CB\*(C`Ps\*(C'\fB\fR Times [default: 1] (\s-1CUB\s0)
1083 root 1.12 .ie n .IP "\fB\fB""ESC [ Ps E""\fB\fR" 4
1084     .el .IP "\fB\f(CBESC [ Ps E\fB\fR" 4
1085 root 1.1 .IX Item "ESC [ Ps E"
1086     Cursor Down \fB\f(CB\*(C`Ps\*(C'\fB\fR Times [default: 1] and to first column
1087 root 1.12 .ie n .IP "\fB\fB""ESC [ Ps F""\fB\fR" 4
1088     .el .IP "\fB\f(CBESC [ Ps F\fB\fR" 4
1089 root 1.1 .IX Item "ESC [ Ps F"
1090     Cursor Up \fB\f(CB\*(C`Ps\*(C'\fB\fR Times [default: 1] and to first column
1091     .IX Xref "ESCOBPsG"
1092 root 1.12 .ie n .IP "\fB\fB""ESC [ Ps G""\fB\fR" 4
1093     .el .IP "\fB\f(CBESC [ Ps G\fB\fR" 4
1094 root 1.1 .IX Item "ESC [ Ps G"
1095     Cursor to Column \fB\f(CB\*(C`Ps\*(C'\fB\fR (\s-1HPA\s0)
1096 root 1.12 .ie n .IP "\fB\fB""ESC [ Ps;Ps H""\fB\fR" 4
1097     .el .IP "\fB\f(CBESC [ Ps;Ps H\fB\fR" 4
1098 root 1.1 .IX Item "ESC [ Ps;Ps H"
1099     Cursor Position [row;column] [default: 1;1] (\s-1CUP\s0)
1100 root 1.12 .ie n .IP "\fB\fB""ESC [ Ps I""\fB\fR" 4
1101     .el .IP "\fB\f(CBESC [ Ps I\fB\fR" 4
1102 root 1.1 .IX Item "ESC [ Ps I"
1103     Move forward \fB\f(CB\*(C`Ps\*(C'\fB\fR tab stops [default: 1]
1104 root 1.12 .ie n .IP "\fB\fB""ESC [ Ps J""\fB\fR" 4
1105     .el .IP "\fB\f(CBESC [ Ps J\fB\fR" 4
1106 root 1.1 .IX Item "ESC [ Ps J"
1107     Erase in Display (\s-1ED\s0)
1108     .TS
1109     l l .
1110     Ps = 0 Clear Below (default)
1111     Ps = 1 Clear Above
1112     Ps = 2 Clear All
1113     .TE
1114    
1115 root 1.12 .ie n .IP "\fB\fB""ESC [ Ps K""\fB\fR" 4
1116     .el .IP "\fB\f(CBESC [ Ps K\fB\fR" 4
1117 root 1.1 .IX Item "ESC [ Ps K"
1118     Erase in Line (\s-1EL\s0)
1119     .TS
1120     l l .
1121     Ps = 0 Clear to Right (default)
1122     Ps = 1 Clear to Left
1123     Ps = 2 Clear All
1124     .TE
1125    
1126 root 1.12 .ie n .IP "\fB\fB""ESC [ Ps L""\fB\fR" 4
1127     .el .IP "\fB\f(CBESC [ Ps L\fB\fR" 4
1128 root 1.1 .IX Item "ESC [ Ps L"
1129     Insert \fB\f(CB\*(C`Ps\*(C'\fB\fR Line(s) [default: 1] (\s-1IL\s0)
1130 root 1.12 .ie n .IP "\fB\fB""ESC [ Ps M""\fB\fR" 4
1131     .el .IP "\fB\f(CBESC [ Ps M\fB\fR" 4
1132 root 1.1 .IX Item "ESC [ Ps M"
1133     Delete \fB\f(CB\*(C`Ps\*(C'\fB\fR Line(s) [default: 1] (\s-1DL\s0)
1134 root 1.12 .ie n .IP "\fB\fB""ESC [ Ps P""\fB\fR" 4
1135     .el .IP "\fB\f(CBESC [ Ps P\fB\fR" 4
1136 root 1.1 .IX Item "ESC [ Ps P"
1137     Delete \fB\f(CB\*(C`Ps\*(C'\fB\fR Character(s) [default: 1] (\s-1DCH\s0)
1138 root 1.12 .ie n .IP "\fB\fB""ESC [ Ps;Ps;Ps;Ps;Ps T""\fB\fR" 4
1139     .el .IP "\fB\f(CBESC [ Ps;Ps;Ps;Ps;Ps T\fB\fR" 4
1140 root 1.1 .IX Item "ESC [ Ps;Ps;Ps;Ps;Ps T"
1141     Initiate . \fIunimplemented\fR Parameters are
1142     [func;startx;starty;firstrow;lastrow].
1143 root 1.12 .ie n .IP "\fB\fB""ESC [ Ps W""\fB\fR" 4
1144     .el .IP "\fB\f(CBESC [ Ps W\fB\fR" 4
1145 root 1.1 .IX Item "ESC [ Ps W"
1146     Tabulator functions
1147     .TS
1148     l l .
1149     Ps = 0 Tab Set (HTS)
1150     Ps = 2 Tab Clear (TBC), Clear Current Column (default)
1151     Ps = 5 Tab Clear (TBC), Clear All
1152     .TE
1153    
1154 root 1.12 .ie n .IP "\fB\fB""ESC [ Ps X""\fB\fR" 4
1155     .el .IP "\fB\f(CBESC [ Ps X\fB\fR" 4
1156 root 1.1 .IX Item "ESC [ Ps X"
1157     Erase \fB\f(CB\*(C`Ps\*(C'\fB\fR Character(s) [default: 1] (\s-1ECH\s0)
1158 root 1.12 .ie n .IP "\fB\fB""ESC [ Ps Z""\fB\fR" 4
1159     .el .IP "\fB\f(CBESC [ Ps Z\fB\fR" 4
1160 root 1.1 .IX Item "ESC [ Ps Z"
1161     Move backward \fB\f(CB\*(C`Ps\*(C'\fB\fR [default: 1] tab stops
1162 root 1.12 .ie n .IP "\fB\fB""ESC [ Ps '""\fB\fR" 4
1163     .el .IP "\fB\f(CBESC [ Ps '\fB\fR" 4
1164 root 1.1 .IX Item "ESC [ Ps '"
1165     See \fB\f(CB\*(C`ESC [ Ps G\*(C'\fB\fR
1166 root 1.12 .ie n .IP "\fB\fB""ESC [ Ps a""\fB\fR" 4
1167     .el .IP "\fB\f(CBESC [ Ps a\fB\fR" 4
1168 root 1.1 .IX Item "ESC [ Ps a"
1169     See \fB\f(CB\*(C`ESC [ Ps C\*(C'\fB\fR
1170 root 1.12 .ie n .IP "\fB\fB""ESC [ Ps c""\fB\fR" 4
1171     .el .IP "\fB\f(CBESC [ Ps c\fB\fR" 4
1172 root 1.1 .IX Item "ESC [ Ps c"
1173     Send Device Attributes (\s-1DA\s0)
1174     \&\fB\f(CB\*(C`Ps = 0\*(C'\fB\fR (or omitted): request attributes from terminal
1175 root 1.12 returns: \fB\f(CB\*(C`ESC [ ? 1 ; 2 c\*(C'\fB\fR (``I am a \s-1VT100\s0 with Advanced Video
1176 root 1.1 Option'')
1177 root 1.12 .ie n .IP "\fB\fB""ESC [ Ps d""\fB\fR" 4
1178     .el .IP "\fB\f(CBESC [ Ps d\fB\fR" 4
1179 root 1.1 .IX Item "ESC [ Ps d"
1180     Cursor to Line \fB\f(CB\*(C`Ps\*(C'\fB\fR (\s-1VPA\s0)
1181 root 1.12 .ie n .IP "\fB\fB""ESC [ Ps e""\fB\fR" 4
1182     .el .IP "\fB\f(CBESC [ Ps e\fB\fR" 4
1183 root 1.1 .IX Item "ESC [ Ps e"
1184     See \fB\f(CB\*(C`ESC [ Ps A\*(C'\fB\fR
1185 root 1.12 .ie n .IP "\fB\fB""ESC [ Ps;Ps f""\fB\fR" 4
1186     .el .IP "\fB\f(CBESC [ Ps;Ps f\fB\fR" 4
1187 root 1.1 .IX Item "ESC [ Ps;Ps f"
1188     Horizontal and Vertical Position [row;column] (\s-1HVP\s0) [default: 1;1]
1189 root 1.12 .ie n .IP "\fB\fB""ESC [ Ps g""\fB\fR" 4
1190     .el .IP "\fB\f(CBESC [ Ps g\fB\fR" 4
1191 root 1.1 .IX Item "ESC [ Ps g"
1192     Tab Clear (\s-1TBC\s0)
1193     .TS
1194     l l .
1195     Ps = 0 Clear Current Column (default)
1196     Ps = 3 Clear All (TBC)
1197     .TE
1198    
1199 root 1.12 .ie n .IP "\fB\fB""ESC [ Pm h""\fB\fR" 4
1200     .el .IP "\fB\f(CBESC [ Pm h\fB\fR" 4
1201 root 1.1 .IX Item "ESC [ Pm h"
1202     Set Mode (\s-1SM\s0). See \fB\f(CB\*(C`ESC [ Pm l\*(C'\fB\fR sequence for description of \f(CW\*(C`Pm\*(C'\fR.
1203 root 1.12 .ie n .IP "\fB\fB""ESC [ Ps i""\fB\fR" 4
1204     .el .IP "\fB\f(CBESC [ Ps i\fB\fR" 4
1205 root 1.1 .IX Item "ESC [ Ps i"
1206     Printing. See also the \f(CW\*(C`print\-pipe\*(C'\fR resource.
1207     .TS
1208     l l .
1209     Ps = 0 print screen (MC0)
1210     Ps = 4 disable transparent print mode (MC4)
1211     Ps = 5 enable transparent print mode (MC5)
1212     .TE
1213    
1214 root 1.12 .ie n .IP "\fB\fB""ESC [ Pm l""\fB\fR" 4
1215     .el .IP "\fB\f(CBESC [ Pm l\fB\fR" 4
1216 root 1.1 .IX Item "ESC [ Pm l"
1217     Reset Mode (\s-1RM\s0)
1218     .RS 4
1219 root 1.12 .ie n .IP "\fB\fB""Ps = 4""\fB\fR" 4
1220     .el .IP "\fB\f(CBPs = 4\fB\fR" 4
1221 root 1.1 .IX Item "Ps = 4"
1222     .TS
1223     l l .
1224     h Insert Mode (SMIR)
1225     l Replace Mode (RMIR)
1226     .TE
1227    
1228     .PD 0
1229 root 1.12 .ie n .IP "\fB\fB""Ps = 20""\fB\fR (partially implemented)" 4
1230     .el .IP "\fB\f(CBPs = 20\fB\fR (partially implemented)" 4
1231 root 1.1 .IX Item "Ps = 20 (partially implemented)"
1232     .TS
1233     l l .
1234     h Automatic Newline (LNM)
1235     l Normal Linefeed (LNM)
1236     .TE
1237    
1238     .RE
1239     .RS 4
1240     .RE
1241 root 1.12 .ie n .IP "\fB\fB""ESC [ Pm m""\fB\fR" 4
1242     .el .IP "\fB\f(CBESC [ Pm m\fB\fR" 4
1243 root 1.1 .IX Item "ESC [ Pm m"
1244     .PD
1245     Character Attributes (\s-1SGR\s0)
1246     .TS
1247     l l .
1248     Ps = 0 Normal (default)
1249     Ps = 1 / 21 On / Off Bold (bright fg)
1250     Ps = 3 / 23 On / Off Italic
1251     Ps = 4 / 24 On / Off Underline
1252     Ps = 5 / 25 On / Off Slow Blink (bright bg)
1253     Ps = 6 / 26 On / Off Rapid Blink (bright bg)
1254     Ps = 7 / 27 On / Off Inverse
1255     Ps = 8 / 27 On / Off Invisible (NYI)
1256     Ps = 30 / 40 fg/bg Black
1257     Ps = 31 / 41 fg/bg Red
1258     Ps = 32 / 42 fg/bg Green
1259     Ps = 33 / 43 fg/bg Yellow
1260     Ps = 34 / 44 fg/bg Blue
1261     Ps = 35 / 45 fg/bg Magenta
1262     Ps = 36 / 46 fg/bg Cyan
1263     Ps = 38;5 / 48;5 set fg/bg to color #m (ISO 8613-6)
1264     Ps = 37 / 47 fg/bg White
1265     Ps = 39 / 49 fg/bg Default
1266     Ps = 90 / 100 fg/bg Bright Black
1267     Ps = 91 / 101 fg/bg Bright Red
1268     Ps = 92 / 102 fg/bg Bright Green
1269     Ps = 93 / 103 fg/bg Bright Yellow
1270     Ps = 94 / 104 fg/bg Bright Blue
1271     Ps = 95 / 105 fg/bg Bright Magenta
1272     Ps = 96 / 106 fg/bg Bright Cyan
1273     Ps = 97 / 107 fg/bg Bright White
1274     Ps = 99 / 109 fg/bg Bright Default
1275     .TE
1276    
1277 root 1.12 .ie n .IP "\fB\fB""ESC [ Ps n""\fB\fR" 4
1278     .el .IP "\fB\f(CBESC [ Ps n\fB\fR" 4
1279 root 1.1 .IX Item "ESC [ Ps n"
1280     Device Status Report (\s-1DSR\s0)
1281     .TS
1282     l l .
1283     Ps = 5 Status Report ESC [ 0 n (``OK'')
1284     Ps = 6 Report Cursor Position (CPR) [row;column] as ESC [ r ; c R
1285     Ps = 7 Request Display Name
1286     Ps = 8 Request Version Number (place in window title)
1287     .TE
1288    
1289 root 1.12 .ie n .IP "\fB\fB""ESC [ Ps;Ps r""\fB\fR" 4
1290     .el .IP "\fB\f(CBESC [ Ps;Ps r\fB\fR" 4
1291 root 1.1 .IX Item "ESC [ Ps;Ps r"
1292     Set Scrolling Region [top;bottom]
1293     [default: full size of window] (\s-1CSR\s0)
1294 root 1.12 .ie n .IP "\fB\fB""ESC [ s""\fB\fR" 4
1295     .el .IP "\fB\f(CBESC [ s\fB\fR" 4
1296 root 1.1 .IX Item "ESC [ s"
1297     Save Cursor (\s-1SC\s0)
1298 root 1.12 .ie n .IP "\fB\fB""ESC [ Ps;Pt t""\fB\fR" 4
1299     .el .IP "\fB\f(CBESC [ Ps;Pt t\fB\fR" 4
1300 root 1.5 .IX Item "ESC [ Ps;Pt t"
1301     Window Operations
1302     .TS
1303     l l .
1304     Ps = 1 Deiconify (map) window
1305     Ps = 2 Iconify window
1306     Ps = 3 ESC [ 3 ; X ; Y t Move window to (X|Y)
1307 root 1.12 Ps = 4 ESC [ 4 ; H ; W t Resize to WxH pixels
1308 root 1.5 Ps = 5 Raise window
1309     Ps = 6 Lower window
1310     Ps = 7 Refresh screen once
1311 root 1.12 Ps = 8 ESC [ 8 ; R ; C t Resize to R rows and C columns
1312     Ps = 11 Report window state (responds with Ps = 1 or Ps = 2)
1313 root 1.5 Ps = 13 Report window position (responds with Ps = 3)
1314     Ps = 14 Report window pixel size (responds with Ps = 4)
1315     Ps = 18 Report window text size (responds with Ps = 7)
1316     Ps = 19 Currently the same as Ps = 18, but responds with Ps = 9
1317     Ps = 20 Reports icon label (ESC ] L NAME \234)
1318     Ps = 21 Reports window title (ESC ] l NAME \234)
1319     Ps = 24.. Set window height to Ps rows
1320     .TE
1321    
1322 root 1.12 .ie n .IP "\fB\fB""ESC [ u""\fB\fR" 4
1323     .el .IP "\fB\f(CBESC [ u\fB\fR" 4
1324 root 1.5 .IX Item "ESC [ u"
1325     Restore Cursor
1326 root 1.12 .ie n .IP "\fB\fB""ESC [ Ps x""\fB\fR" 4
1327     .el .IP "\fB\f(CBESC [ Ps x\fB\fR" 4
1328 root 1.1 .IX Item "ESC [ Ps x"
1329     Request Terminal Parameters (\s-1DECREQTPARM\s0)
1330     .PP
1331    
1332     .IX Xref "PrivateModes"
1333     .SH "DEC Private Modes"
1334     .IX Header "DEC Private Modes"
1335 root 1.12 .ie n .IP "\fB\fB""ESC [ ? Pm h""\fB\fR" 4
1336     .el .IP "\fB\f(CBESC [ ? Pm h\fB\fR" 4
1337 root 1.1 .IX Item "ESC [ ? Pm h"
1338     \&\s-1DEC\s0 Private Mode Set (\s-1DECSET\s0)
1339 root 1.12 .ie n .IP "\fB\fB""ESC [ ? Pm l""\fB\fR" 4
1340     .el .IP "\fB\f(CBESC [ ? Pm l\fB\fR" 4
1341 root 1.1 .IX Item "ESC [ ? Pm l"
1342     \&\s-1DEC\s0 Private Mode Reset (\s-1DECRST\s0)
1343 root 1.12 .ie n .IP "\fB\fB""ESC [ ? Pm r""\fB\fR" 4
1344     .el .IP "\fB\f(CBESC [ ? Pm r\fB\fR" 4
1345 root 1.1 .IX Item "ESC [ ? Pm r"
1346     Restore previously saved \s-1DEC\s0 Private Mode Values.
1347 root 1.12 .ie n .IP "\fB\fB""ESC [ ? Pm s""\fB\fR" 4
1348     .el .IP "\fB\f(CBESC [ ? Pm s\fB\fR" 4
1349 root 1.1 .IX Item "ESC [ ? Pm s"
1350     Save \s-1DEC\s0 Private Mode Values.
1351 root 1.12 .ie n .IP "\fB\fB""ESC [ ? Pm t""\fB\fR" 4
1352     .el .IP "\fB\f(CBESC [ ? Pm t\fB\fR" 4
1353 root 1.1 .IX Item "ESC [ ? Pm t"
1354     Toggle \s-1DEC\s0 Private Mode Values (rxvt extension). \fIwhere\fR
1355     .RS 4
1356 root 1.12 .ie n .IP "\fB\fB""Ps = 1""\fB\fR (\s-1DECCKM\s0)" 4
1357     .el .IP "\fB\f(CBPs = 1\fB\fR (\s-1DECCKM\s0)" 4
1358 root 1.1 .IX Item "Ps = 1 (DECCKM)"
1359     .TS
1360     l l .
1361     h Application Cursor Keys
1362     l Normal Cursor Keys
1363     .TE
1364    
1365     .PD 0
1366 root 1.12 .ie n .IP "\fB\fB""Ps = 2""\fB\fR (\s-1ANSI/VT52\s0 mode)" 4
1367     .el .IP "\fB\f(CBPs = 2\fB\fR (\s-1ANSI/VT52\s0 mode)" 4
1368 root 1.1 .IX Item "Ps = 2 (ANSI/VT52 mode)"
1369     .TS
1370     l l .
1371     h Enter VT52 mode
1372     l Enter VT52 mode
1373     .TE
1374    
1375 root 1.12 .ie n .IP "\fB\fB""Ps = 3""\fB\fR" 4
1376     .el .IP "\fB\f(CBPs = 3\fB\fR" 4
1377 root 1.1 .IX Item "Ps = 3"
1378     .TS
1379     l l .
1380     h 132 Column Mode (DECCOLM)
1381     l 80 Column Mode (DECCOLM)
1382     .TE
1383    
1384 root 1.12 .ie n .IP "\fB\fB""Ps = 4""\fB\fR" 4
1385     .el .IP "\fB\f(CBPs = 4\fB\fR" 4
1386 root 1.1 .IX Item "Ps = 4"
1387     .TS
1388     l l .
1389     h Smooth (Slow) Scroll (DECSCLM)
1390     l Jump (Fast) Scroll (DECSCLM)
1391     .TE
1392    
1393 root 1.12 .ie n .IP "\fB\fB""Ps = 5""\fB\fR" 4
1394     .el .IP "\fB\f(CBPs = 5\fB\fR" 4
1395 root 1.1 .IX Item "Ps = 5"
1396     .TS
1397     l l .
1398     h Reverse Video (DECSCNM)
1399     l Normal Video (DECSCNM)
1400     .TE
1401    
1402 root 1.12 .ie n .IP "\fB\fB""Ps = 6""\fB\fR" 4
1403     .el .IP "\fB\f(CBPs = 6\fB\fR" 4
1404 root 1.1 .IX Item "Ps = 6"
1405     .TS
1406     l l .
1407     h Origin Mode (DECOM)
1408     l Normal Cursor Mode (DECOM)
1409     .TE
1410    
1411 root 1.12 .ie n .IP "\fB\fB""Ps = 7""\fB\fR" 4
1412     .el .IP "\fB\f(CBPs = 7\fB\fR" 4
1413 root 1.1 .IX Item "Ps = 7"
1414     .TS
1415     l l .
1416     h Wraparound Mode (DECAWM)
1417     l No Wraparound Mode (DECAWM)
1418     .TE
1419    
1420 root 1.12 .ie n .IP "\fB\fB""Ps = 8""\fB\fR \fIunimplemented\fR" 4
1421     .el .IP "\fB\f(CBPs = 8\fB\fR \fIunimplemented\fR" 4
1422 root 1.1 .IX Item "Ps = 8 unimplemented"
1423     .TS
1424     l l .
1425     h Auto-repeat Keys (DECARM)
1426     l No Auto-repeat Keys (DECARM)
1427     .TE
1428    
1429 root 1.12 .ie n .IP "\fB\fB""Ps = 9""\fB\fR X10 XTerm" 4
1430     .el .IP "\fB\f(CBPs = 9\fB\fR X10 XTerm" 4
1431 root 1.1 .IX Item "Ps = 9 X10 XTerm"
1432     .TS
1433     l l .
1434     h Send Mouse X & Y on button press.
1435     l No mouse reporting.
1436     .TE
1437    
1438 root 1.12 .ie n .IP "\fB\fB""Ps = 10""\fB\fR (\fBrxvt\fR)" 4
1439     .el .IP "\fB\f(CBPs = 10\fB\fR (\fBrxvt\fR)" 4
1440 root 1.1 .IX Item "Ps = 10 (rxvt)"
1441     .TS
1442     l l .
1443     h menuBar visible
1444     l menuBar invisible
1445     .TE
1446    
1447 root 1.12 .ie n .IP "\fB\fB""Ps = 25""\fB\fR" 4
1448     .el .IP "\fB\f(CBPs = 25\fB\fR" 4
1449 root 1.1 .IX Item "Ps = 25"
1450     .TS
1451     l l .
1452     h Visible cursor {cnorm/cvvis}
1453     l Invisible cursor {civis}
1454     .TE
1455    
1456 root 1.12 .ie n .IP "\fB\fB""Ps = 30""\fB\fR" 4
1457     .el .IP "\fB\f(CBPs = 30\fB\fR" 4
1458 root 1.1 .IX Item "Ps = 30"
1459     .TS
1460     l l .
1461     h scrollBar visisble
1462     l scrollBar invisisble
1463     .TE
1464    
1465 root 1.12 .ie n .IP "\fB\fB""Ps = 35""\fB\fR (\fBrxvt\fR)" 4
1466     .el .IP "\fB\f(CBPs = 35\fB\fR (\fBrxvt\fR)" 4
1467 root 1.1 .IX Item "Ps = 35 (rxvt)"
1468     .TS
1469     l l .
1470     h Allow XTerm Shift+key sequences
1471     l Disallow XTerm Shift+key sequences
1472     .TE
1473    
1474 root 1.12 .ie n .IP "\fB\fB""Ps = 38""\fB\fR \fIunimplemented\fR" 4
1475     .el .IP "\fB\f(CBPs = 38\fB\fR \fIunimplemented\fR" 4
1476 root 1.1 .IX Item "Ps = 38 unimplemented"
1477     .PD
1478     Enter Tektronix Mode (\s-1DECTEK\s0)
1479 root 1.12 .ie n .IP "\fB\fB""Ps = 40""\fB\fR" 4
1480     .el .IP "\fB\f(CBPs = 40\fB\fR" 4
1481 root 1.1 .IX Item "Ps = 40"
1482     .TS
1483     l l .
1484     h Allow 80/132 Mode
1485     l Disallow 80/132 Mode
1486     .TE
1487    
1488     .PD 0
1489 root 1.12 .ie n .IP "\fB\fB""Ps = 44""\fB\fR \fIunimplemented\fR" 4
1490     .el .IP "\fB\f(CBPs = 44\fB\fR \fIunimplemented\fR" 4
1491 root 1.1 .IX Item "Ps = 44 unimplemented"
1492     .TS
1493     l l .
1494     h Turn On Margin Bell
1495     l Turn Off Margin Bell
1496     .TE
1497    
1498 root 1.12 .ie n .IP "\fB\fB""Ps = 45""\fB\fR \fIunimplemented\fR" 4
1499     .el .IP "\fB\f(CBPs = 45\fB\fR \fIunimplemented\fR" 4
1500 root 1.1 .IX Item "Ps = 45 unimplemented"
1501     .TS
1502     l l .
1503     h Reverse-wraparound Mode
1504     l No Reverse-wraparound Mode
1505     .TE
1506    
1507 root 1.12 .ie n .IP "\fB\fB""Ps = 46""\fB\fR \fIunimplemented\fR" 4
1508     .el .IP "\fB\f(CBPs = 46\fB\fR \fIunimplemented\fR" 4
1509 root 1.1 .IX Item "Ps = 46 unimplemented"
1510 root 1.12 .ie n .IP "\fB\fB""Ps = 47""\fB\fR" 4
1511     .el .IP "\fB\f(CBPs = 47\fB\fR" 4
1512 root 1.1 .IX Item "Ps = 47"
1513     .TS
1514     l l .
1515     h Use Alternate Screen Buffer
1516     l Use Normal Screen Buffer
1517     .TE
1518    
1519     .PD
1520    
1521     .IX Xref "Priv66"
1522 root 1.12 .ie n .IP "\fB\fB""Ps = 66""\fB\fR" 4
1523     .el .IP "\fB\f(CBPs = 66\fB\fR" 4
1524 root 1.1 .IX Item "Ps = 66"
1525     .TS
1526     l l .
1527     h Application Keypad (DECPAM) == ESC =
1528     l Normal Keypad (DECPNM) == ESC >
1529     .TE
1530    
1531     .PD 0
1532 root 1.12 .ie n .IP "\fB\fB""Ps = 67""\fB\fR" 4
1533     .el .IP "\fB\f(CBPs = 67\fB\fR" 4
1534 root 1.1 .IX Item "Ps = 67"
1535     .TS
1536     l l .
1537     h Backspace key sends BS (DECBKM)
1538     l Backspace key sends DEL
1539     .TE
1540    
1541 root 1.12 .ie n .IP "\fB\fB""Ps = 1000""\fB\fR (X11 XTerm)" 4
1542     .el .IP "\fB\f(CBPs = 1000\fB\fR (X11 XTerm)" 4
1543 root 1.1 .IX Item "Ps = 1000 (X11 XTerm)"
1544     .TS
1545     l l .
1546     h Send Mouse X & Y on button press and release.
1547     l No mouse reporting.
1548     .TE
1549    
1550 root 1.12 .ie n .IP "\fB\fB""Ps = 1001""\fB\fR (X11 XTerm) \fIunimplemented\fR" 4
1551     .el .IP "\fB\f(CBPs = 1001\fB\fR (X11 XTerm) \fIunimplemented\fR" 4
1552 root 1.1 .IX Item "Ps = 1001 (X11 XTerm) unimplemented"
1553     .TS
1554     l l .
1555     h Use Hilite Mouse Tracking.
1556     l No mouse reporting.
1557     .TE
1558    
1559 root 1.12 .ie n .IP "\fB\fB""Ps = 1010""\fB\fR (\fBrxvt\fR)" 4
1560     .el .IP "\fB\f(CBPs = 1010\fB\fR (\fBrxvt\fR)" 4
1561 root 1.1 .IX Item "Ps = 1010 (rxvt)"
1562     .TS
1563     l l .
1564     h Don't scroll to bottom on TTY output
1565     l Scroll to bottom on TTY output
1566     .TE
1567    
1568 root 1.12 .ie n .IP "\fB\fB""Ps = 1011""\fB\fR (\fBrxvt\fR)" 4
1569     .el .IP "\fB\f(CBPs = 1011\fB\fR (\fBrxvt\fR)" 4
1570 root 1.1 .IX Item "Ps = 1011 (rxvt)"
1571     .TS
1572     l l .
1573     h Scroll to bottom when a key is pressed
1574     l Don't scroll to bottom when a key is pressed
1575     .TE
1576    
1577 root 1.12 .ie n .IP "\fB\fB""Ps = 1047""\fB\fR" 4
1578     .el .IP "\fB\f(CBPs = 1047\fB\fR" 4
1579 root 1.1 .IX Item "Ps = 1047"
1580     .TS
1581     l l .
1582     h Use Alternate Screen Buffer
1583     l Use Normal Screen Buffer - clear Alternate Screen Buffer if returning from it
1584     .TE
1585    
1586 root 1.12 .ie n .IP "\fB\fB""Ps = 1048""\fB\fR" 4
1587     .el .IP "\fB\f(CBPs = 1048\fB\fR" 4
1588 root 1.1 .IX Item "Ps = 1048"
1589     .TS
1590     l l .
1591     h Save cursor position
1592     l Restore cursor position
1593     .TE
1594    
1595 root 1.12 .ie n .IP "\fB\fB""Ps = 1049""\fB\fR" 4
1596     .el .IP "\fB\f(CBPs = 1049\fB\fR" 4
1597 root 1.1 .IX Item "Ps = 1049"
1598     .TS
1599     l l .
1600     h Use Alternate Screen Buffer - clear Alternate Screen Buffer if switching to it
1601     l Use Normal Screen Buffer
1602     .TE
1603    
1604     .RE
1605     .RS 4
1606     .RE
1607     .PD
1608     .PP
1609    
1610     .IX Xref "XTerm"
1611     .SH "XTerm Operating System Commands"
1612     .IX Header "XTerm Operating System Commands"
1613 root 1.12 .ie n .IP "\fB\fB""ESC ] Ps;Pt ST""\fB\fR" 4
1614     .el .IP "\fB\f(CBESC ] Ps;Pt ST\fB\fR" 4
1615 root 1.1 .IX Item "ESC ] Ps;Pt ST"
1616     Set XTerm Parameters. 8\-bit \s-1ST:\s0 0x9c, 7\-bit \s-1ST\s0 sequence: \s-1ESC\s0 \e (0x1b,
1617     0x5c), backwards compatible terminator \s-1BEL\s0 (0x07) is also accepted. any
1618     \&\fBoctet\fR can be escaped by prefixing it with \s-1SYN\s0 (0x16, ^V).
1619     .TS
1620     l l .
1621     Ps = 0 Change Icon Name and Window Title to Pt
1622     Ps = 1 Change Icon Name to Pt
1623     Ps = 2 Change Window Title to Pt
1624     Ps = 3 If Pt starts with a ?, query the (STRING) property of the window and return it. If Pt contains a =, set the named property to the given value, else delete the specified property.
1625     Ps = 4 Pt is a semi-colon separated sequence of one or more semi-colon separated number/name pairs, where number is an index to a colour and name is the name of a colour. Each pair causes the numbered colour to be changed to name. Numbers 0-7 corresponds to low-intensity (normal) colours and 8-15 corresponds to high-intensity colours. 0=black, 1=red, 2=green, 3=yellow, 4=blue, 5=magenta, 6=cyan, 7=white
1626     Ps = 10 Change colour of text foreground to Pt (NB: may change in future)
1627     Ps = 11 Change colour of text background to Pt (NB: may change in future)
1628     Ps = 12 Change colour of text cursor foreground to Pt
1629     Ps = 13 Change colour of mouse foreground to Pt
1630     Ps = 17 Change colour of highlight characters to Pt
1631     Ps = 18 Change colour of bold characters to Pt
1632     Ps = 19 Change colour of underlined characters to Pt
1633     Ps = 20 Change default background to Pt
1634 root 1.19 Ps = 39 Change default foreground colour to Pt.
1635 root 1.1 Ps = 46 Change Log File to Pt unimplemented
1636 root 1.19 Ps = 49 Change default background colour to Pt.
1637 root 1.1 Ps = 50 Set fontset to Pt, with the following special values of Pt (rxvt) #+n change up n #-n change down n if n is missing of 0, a value of 1 is used empty change to font0 n change to font n
1638     Ps = 55 Log all scrollback buffer and all of screen to Pt
1639 root 1.19 Ps = 701 Change current locale to Pt, or, if Pt is ?, return the current locale (Compile frills).
1640     Ps = 703 Menubar command Pt (Compile menubar).
1641 root 1.1 Ps = 704 Change colour of italic characters to Pt
1642 root 1.19 Ps = 705 Change background pixmap tint colour to Pt (Compile transparency).
1643 root 1.1 Ps = 710 Set normal fontset to Pt. Same as Ps = 50.
1644 root 1.19 Ps = 711 Set bold fontset to Pt. Similar to Ps = 50 (Compile styles).
1645     Ps = 712 Set italic fontset to Pt. Similar to Ps = 50 (Compile styles).
1646     Ps = 713 Set bold-italic fontset to Pt. Similar to Ps = 50 (Compile styles).
1647     Ps = 720 Move viewing window up by Pt lines, or clear scrollback buffer if Pt = 0 (Compile frills).
1648     Ps = 721 Move viewing window down by Pt lines, or clear scrollback buffer if Pt = 0 (Compile frills).
1649 root 1.1 .TE
1650    
1651     .PP
1652    
1653     .IX Xref "menuBar"
1654     .SH "menuBar"
1655     .IX Header "menuBar"
1656     \&\fBThe exact syntax used is \f(BIalmost\fB solidified.\fR
1657     In the menus, \fB\s-1DON\s0'T\fR try to use menuBar commands that add or remove a
1658     menuBar.
1659     .PP
1660     Note that in all of the commands, the \fB\f(BI/path/\fB\fR \fIcannot\fR be
1661     omitted: use \fB./\fR to specify a menu relative to the current menu.
1662     .Sh "Overview of menuBar operation"
1663     .IX Subsection "Overview of menuBar operation"
1664     For the menuBar XTerm escape sequence \f(CW\*(C`ESC ] 703 ; Pt ST\*(C'\fR, the syntax
1665     of \f(CW\*(C`Pt\*(C'\fR can be used for a variety of tasks:
1666     .PP
1667     At the top level is the current menuBar which is a member of a circular
1668     linked-list of other such menuBars.
1669     .PP
1670     The menuBar acts as a parent for the various drop-down menus, which in
1671     turn, may have labels, separator lines, menuItems and subMenus.
1672     .PP
1673     The menuItems are the useful bits: you can use them to mimic keyboard
1674     input or even to send text or escape sequences back to rxvt.
1675     .PP
1676     The menuBar syntax is intended to provide a simple yet robust method of
1677     constructing and manipulating menus and navigating through the
1678     menuBars.
1679     .PP
1680     The first step is to use the tag \fB[menu:\f(BIname\fB]\fR which creates
1681     the menuBar called \fIname\fR and allows access. You may now or menus,
1682     subMenus, and menuItems. Finally, use the tag \fB[done]\fR to set the
1683     menuBar access as \fBreadonly\fR to prevent accidental corruption of the
1684     menus. To re-access the current menuBar for alterations, use the tag
1685     \&\fB[menu]\fR, make the alterations and then use \fB[done]\fR
1686     .PP
1687    
1688     .IX Xref "menuBarCommands"
1689     .Sh "Commands"
1690     .IX Subsection "Commands"
1691     .IP "\fB[menu:+\f(BIname\fB]\fR" 4
1692     .IX Item "[menu:+name]"
1693     access the named menuBar for creation or alteration. If a new menuBar
1694     is created, it is called \fIname\fR (max of 15 chars) and the current
1695     menuBar is pushed onto the stack
1696     .IP "\fB[menu]\fR" 4
1697     .IX Item "[menu]"
1698     access the current menuBar for alteration
1699     .IP "\fB[title:+\f(BIstring\fB]\fR" 4
1700     .IX Item "[title:+string]"
1701     set the current menuBar's title to \fIstring\fR, which may contain the
1702     following format specifiers:
1703 root 1.14 .Sp
1704     .Vb 3
1705     \& B<%n> rxvt name (as per the B<-name> command-line option)
1706     \& B<%v> rxvt version
1707     \& B<%%> literal B<%> character
1708     .Ve
1709 root 1.1 .IP "\fB[done]\fR" 4
1710     .IX Item "[done]"
1711     set menuBar access as \fBreadonly\fR.
1712     End-of-file tag for \fB[read:+\f(BIfile\fB]\fR operations.
1713     .IP "\fB[read:+\f(BIfile\fB]\fR" 4
1714     .IX Item "[read:+file]"
1715     read menu commands directly from \fIfile\fR (extension \*(L".menu\*(R" will be
1716     appended if required.) Start reading at a line with \fB[menu]\fR or \fB[menu:+\f(BIname\fB\fR and continuing until \fB[done]\fR is encountered.
1717     .Sp
1718     Blank and comment lines (starting with \fB#\fR) are ignored. Actually,
1719     since any invalid menu commands are also ignored, almost anything could
1720     be construed as a comment line, but this may be tightened up in the
1721     future ... so don't count on it!.
1722     .IP "\fB[read:+\f(BIfile\fB;+\f(BIname\fB]\fR" 4
1723     .IX Item "[read:+file;+name]"
1724     The same as \fB[read:+\f(BIfile\fB]\fR, but start reading at a line with
1725     \&\fB[menu:+\f(BIname\fB]\fR and continuing until \fB[done:+\f(BIname\fB]\fR or
1726     \&\fB[done]\fR is encountered.
1727     .IP "\fB[dump]\fR" 4
1728     .IX Item "[dump]"
1729     dump all menuBars to the file \fB/tmp/rxvt\-PID\fR in a format suitable for
1730     later rereading.
1731     .IP "\fB[rm:name]\fR" 4
1732     .IX Item "[rm:name]"
1733     remove the named menuBar
1734     .IP "\fB[rm] [rm:]\fR" 4
1735     .IX Item "[rm] [rm:]"
1736     remove the current menuBar
1737     .IP "\fB[rm*] [rm:*]\fR" 4
1738     .IX Item "[rm*] [rm:*]"
1739     remove all menuBars
1740     .IP "\fB[swap]\fR" 4
1741     .IX Item "[swap]"
1742     swap the top two menuBars
1743     .IP "\fB[prev]\fR" 4
1744     .IX Item "[prev]"
1745     access the previous menuBar
1746     .IP "\fB[next]\fR" 4
1747     .IX Item "[next]"
1748     access the next menuBar
1749     .IP "\fB[show]\fR" 4
1750     .IX Item "[show]"
1751     Enable display of the menuBar
1752     .IP "\fB[hide]\fR" 4
1753     .IX Item "[hide]"
1754     Disable display of the menuBar
1755     .IP "\fB[pixmap:+\f(BIname\fB]\fR" 4
1756     .IX Item "[pixmap:+name]"
1757     .PD 0
1758     .IP "\fB[pixmap:+\f(BIname\fB;\f(BIscaling\fB]\fR" 4
1759     .IX Item "[pixmap:+name;scaling]"
1760     .PD
1761     (set the background pixmap globally
1762     .Sp
1763     \&\fBA Future implementation \f(BImay\fB make this local to the menubar\fR)
1764     .IP "\fB[:+\f(BIcommand\fB:]\fR" 4
1765     .IX Item "[:+command:]"
1766     ignore the menu readonly status and issue a \fIcommand\fR to or a menu or
1767     menuitem or change the ; a useful shortcut for setting the quick arrows
1768     from a menuBar.
1769     .PP
1770    
1771     .IX Xref "menuBarAdd"
1772     .Sh "Adding and accessing menus"
1773     .IX Subsection "Adding and accessing menus"
1774     The following commands may also be \fB+\fR prefixed.
1775     .IP "\fB/+\fR" 4
1776     .IX Item "/+"
1777     access menuBar top level
1778     .IP "\fB./+\fR" 4
1779     .IX Item "./+"
1780     access current menu level
1781     .IP "\fB../+\fR" 4
1782     .IX Item "../+"
1783     access parent menu (1 level up)
1784     .IP "\fB../../\fR" 4
1785     .IX Item "../../"
1786     access parent menu (multiple levels up)
1787     .IP "\fB\f(BI/path/\fBmenu\fR" 4
1788     .IX Item "/path/menu"
1789     add/access menu
1790     .IP "\fB\f(BI/path/\fBmenu/*\fR" 4
1791     .IX Item "/path/menu/*"
1792     add/access menu and clear it if it exists
1793     .IP "\fB\f(BI/path/\fB{\-}\fR" 4
1794     .IX Item "/path/{-}"
1795     add separator
1796     .IP "\fB\f(BI/path/\fB{item}\fR" 4
1797     .IX Item "/path/{item}"
1798     add \fBitem\fR as a label
1799     .IP "\fB\f(BI/path/\fB{item} action\fR" 4
1800     .IX Item "/path/{item} action"
1801     add/alter \fImenuitem\fR with an associated \fIaction\fR
1802     .IP "\fB\f(BI/path/\fB{item}{right\-text}\fR" 4
1803     .IX Item "/path/{item}{right-text}"
1804     add/alter \fImenuitem\fR with \fBright-text\fR as the right-justified text
1805     and as the associated \fIaction\fR
1806     .IP "\fB\f(BI/path/\fB{item}{rtext} action\fR" 4
1807     .IX Item "/path/{item}{rtext} action"
1808     add/alter \fImenuitem\fR with an associated \fIaction\fR and with \fBrtext\fR as
1809     the right-justified text.
1810     .IP "Special characters in \fIaction\fR must be backslash\-escaped:" 4
1811     .IX Item "Special characters in action must be backslash-escaped:"
1812     \&\fB\ea \eb \eE \ee \en \er \et \eoctal\fR
1813     .IP "or in control-character notation:" 4
1814     .IX Item "or in control-character notation:"
1815     \&\fB^@, ^A .. ^Z .. ^_, ^?\fR
1816     .PP
1817     To send a string starting with a \fB\s-1NUL\s0\fR (\fB^@\fR) character to the
1818     program, start \fIaction\fR with a pair of \fB\s-1NUL\s0\fR characters (\fB^@^@\fR),
1819     the first of which will be stripped off and the balance directed to the
1820     program. Otherwise if \fIaction\fR begins with \fB\s-1NUL\s0\fR followed by
1821     non\-+\fB\s-1NUL\s0\fR characters, the leading \fB\s-1NUL\s0\fR is stripped off and the
1822     balance is sent back to rxvt.
1823     .PP
1824     As a convenience for the many Emacs-type editors, \fIaction\fR may start
1825     with \fBM\-\fR (eg, \fBM\-$\fR is equivalent to \fB\eE$\fR) and a \fB\s-1CR\s0\fR will be
1826     appended if missed from \fBM\-x\fR commands.
1827     .PP
1828 root 1.12 As a convenience for issuing XTerm \fB\s-1ESC\s0 ]\fR sequences from a menubar (or
1829 root 1.1 quick arrow), a \fB\s-1BEL\s0\fR (\fB^G\fR) will be appended if needed.
1830     .IP "For example," 4
1831     .IX Item "For example,"
1832     \&\fBM\-xapropos\fR is equivalent to \fB\eExapropos\er\fR
1833     .IP "and" 4
1834     .IX Item "and"
1835     \&\fB\eE]703;mona;100\fR is equivalent to \fB\eE]703;mona;100\ea\fR
1836     .PP
1837     The option \fB{\f(BIright-rtext\fB}\fR will be right\-justified. In the
1838     absence of a specified action, this text will be used as the \fIaction\fR
1839     as well.
1840     .IP "For example," 4
1841     .IX Item "For example,"
1842     \&\fB/File/{Open}{^X^F}\fR is equivalent to \fB/File/{Open}{^X^F} ^X^F\fR
1843     .PP
1844     The left label \fIis\fR necessary, since it's used for matching, but
1845     implicitly hiding the left label (by using same name for both left and
1846     right labels), or explicitly hiding the left label (by preceeding it
1847     with a dot), makes it possible to have right-justified text only.
1848     .IP "For example," 4
1849     .IX Item "For example,"
1850     \&\fB/File/{Open}{Open} Open-File-Action\fR
1851     .IP "or hiding it" 4
1852     .IX Item "or hiding it"
1853     \&\fB/File/{.anylabel}{Open} Open-File-Action\fR
1854     .PP
1855    
1856     .IX Xref "menuBarRemove"
1857     .Sh "Removing menus"
1858     .IX Subsection "Removing menus"
1859     .IP "\fB\-/*+\fR" 4
1860     .IX Item "-/*+"
1861     remove all menus from the menuBar, the same as \fB[clear]\fR
1862     .IP "\fB\-+\f(BI/path\fBmenu+\fR" 4
1863     .IX Item "-+/pathmenu+"
1864     remove menu
1865     .IP "\fB\-+\f(BI/path\fB{item}+\fR" 4
1866     .IX Item "-+/path{item}+"
1867     remove item
1868     .IP "\fB\-+\f(BI/path\fB{\-}\fR" 4
1869     .IX Item "-+/path{-}"
1870     remove separator)
1871     .IP "\fB\-/path/menu/*\fR" 4
1872     .IX Item "-/path/menu/*"
1873     remove all items, separators and submenus from menu
1874     .PP
1875    
1876     .IX Xref "menuBarArrows"
1877     .Sh "Quick Arrows"
1878     .IX Subsection "Quick Arrows"
1879     The menus also provide a hook for \fIquick arrows\fR to provide easier
1880     user access. If nothing has been explicitly set, the default is to
1881     emulate the curror keys. The syntax permits each arrow to be altered
1882     individually or all four at once without re-entering their common
1883     beginning/end text. For example, to explicitly associate cursor actions
1884     with the arrows, any of the following forms could be used:
1885     .IP "\fB<r>+\f(BIRight\fB\fR" 4
1886     .IX Item "<r>+Right"
1887     .PD 0
1888     .IP "\fB<l>+\f(BILeft\fB\fR" 4
1889     .IX Item "<l>+Left"
1890     .IP "\fB<u>+\f(BIUp\fB\fR" 4
1891     .IX Item "<u>+Up"
1892     .IP "\fB<d>+\f(BIDown\fB\fR" 4
1893     .IX Item "<d>+Down"
1894     .PD
1895     Define actions for the respective arrow buttons
1896     .IP "\fB<b>+\f(BIBegin\fB\fR" 4
1897     .IX Item "<b>+Begin"
1898     .PD 0
1899     .IP "\fB<e>+\f(BIEnd\fB\fR" 4
1900     .IX Item "<e>+End"
1901     .PD
1902     Define common beginning/end parts for \fIquick arrows\fR which used in
1903     conjunction with the above <r> <l> <u> <d> constructs
1904     .IP "For example, define arrows individually," 4
1905     .IX Item "For example, define arrows individually,"
1906     .Vb 1
1907     \& <u>\eE[A
1908     .Ve
1909     .Sp
1910     .Vb 1
1911     \& <d>\eE[B
1912     .Ve
1913     .Sp
1914     .Vb 1
1915     \& <r>\eE[C
1916     .Ve
1917     .Sp
1918     .Vb 1
1919     \& <l>\eE[D
1920     .Ve
1921     .IP "or all at once" 4
1922     .IX Item "or all at once"
1923     .Vb 1
1924     \& <u>\eE[AZ<><d>\eE[BZ<><r>\eE[CZ<><l>\eE[D
1925     .Ve
1926     .IP "or more compactly (factoring out common parts)" 4
1927     .IX Item "or more compactly (factoring out common parts)"
1928     .Vb 1
1929     \& <b>\eE[<u>AZ<><d>BZ<><r>CZ<><l>D
1930     .Ve
1931     .PP
1932    
1933     .IX Xref "menuBarSummary"
1934     .Sh "Command Summary"
1935     .IX Subsection "Command Summary"
1936     A short summary of the most \fIcommon\fR commands:
1937     .IP "[menu:name]" 4
1938     .IX Item "[menu:name]"
1939     use an existing named menuBar or start a new one
1940     .IP "[menu]" 4
1941     .IX Item "[menu]"
1942     use the current menuBar
1943     .IP "[title:string]" 4
1944     .IX Item "[title:string]"
1945     set menuBar title
1946     .IP "[done]" 4
1947     .IX Item "[done]"
1948     set menu access to readonly and, if reading from a file, signal \s-1EOF\s0
1949     .IP "[done:name]" 4
1950     .IX Item "[done:name]"
1951     if reading from a file using [read:file;name] signal \s-1EOF\s0
1952     .IP "[rm:name]" 4
1953     .IX Item "[rm:name]"
1954     remove named menuBar(s)
1955     .IP "[rm] [rm:]" 4
1956     .IX Item "[rm] [rm:]"
1957     remove current menuBar
1958     .IP "[rm*] [rm:*]" 4
1959     .IX Item "[rm*] [rm:*]"
1960     remove all menuBar(s)
1961     .IP "[swap]" 4
1962     .IX Item "[swap]"
1963     swap top two menuBars
1964     .IP "[prev]" 4
1965     .IX Item "[prev]"
1966     access the previous menuBar
1967     .IP "[next]" 4
1968     .IX Item "[next]"
1969     access the next menuBar
1970     .IP "[show]" 4
1971     .IX Item "[show]"
1972     map menuBar
1973     .IP "[hide]" 4
1974     .IX Item "[hide]"
1975     unmap menuBar
1976     .IP "[pixmap;file]" 4
1977     .IX Item "[pixmap;file]"
1978     .PD 0
1979     .IP "[pixmap;file;scaling]" 4
1980     .IX Item "[pixmap;file;scaling]"
1981     .PD
1982     set a background pixmap
1983     .IP "[read:file]" 4
1984     .IX Item "[read:file]"
1985     .PD 0
1986     .IP "[read:file;name]" 4
1987     .IX Item "[read:file;name]"
1988     .PD
1989     read in a menu from a file
1990     .IP "[dump]" 4
1991     .IX Item "[dump]"
1992     dump out all menuBars to /tmp/rxvt\-PID
1993     .IP "/" 4
1994     access menuBar top level
1995     .IP "./" 4
1996     .PD 0
1997     .IP "../" 4
1998     .IP "../../" 4
1999     .PD
2000     access current or parent menu level
2001     .IP "/path/menu" 4
2002     .IX Item "/path/menu"
2003     add/access menu
2004     .IP "/path/{\-}" 4
2005     .IX Item "/path/{-}"
2006     add separator
2007     .IP "/path/{item}{rtext} action" 4
2008     .IX Item "/path/{item}{rtext} action"
2009     add/alter menu item
2010     .IP "\-/*" 4
2011     remove all menus from the menuBar
2012     .IP "\-/path/menu" 4
2013     .IX Item "-/path/menu"
2014     remove menu items, separators and submenus from menu
2015     .IP "\-/path/menu" 4
2016     .IX Item "-/path/menu"
2017     remove menu
2018     .IP "\-/path/{item}" 4
2019     .IX Item "-/path/{item}"
2020     remove item
2021     .IP "\-/path/{\-}" 4
2022     .IX Item "-/path/{-}"
2023     remove separator
2024     .IP "<b>Begin<r>Right<l>Left<u>Up<d>Down<e>End" 4
2025     .IX Item "<b>Begin<r>Right<l>Left<u>Up<d>Down<e>End"
2026     menu quick arrows
2027     .SH "XPM"
2028     .IX Header "XPM"
2029     For the \s-1XPM\s0 XTerm escape sequence \fB\f(CB\*(C`ESC ] 20 ; Pt ST\*(C'\fB\fR then value
2030     of \fB\f(CB\*(C`Pt\*(C'\fB\fR can be the name of the background pixmap followed by a
2031     sequence of scaling/positioning commands separated by semi\-colons. The
2032     scaling/positioning commands are as follows:
2033     .IP "query scale/position" 4
2034     .IX Item "query scale/position"
2035     \&\fB?\fR
2036     .IP "change scale and position" 4
2037     .IX Item "change scale and position"
2038     \&\fBWxH+X+Y\fR
2039     .Sp
2040     \&\fBWxH+X\fR (== \fBWxH+X+X\fR)
2041     .Sp
2042     \&\fBWxH\fR (same as \fBWxH+50+50\fR)
2043     .Sp
2044     \&\fBW+X+Y\fR (same as \fBWxW+X+Y\fR)
2045     .Sp
2046     \&\fBW+X\fR (same as \fBWxW+X+X\fR)
2047     .Sp
2048     \&\fBW\fR (same as \fBWxW+50+50\fR)
2049     .IP "change position (absolute)" 4
2050     .IX Item "change position (absolute)"
2051     \&\fB=+X+Y\fR
2052     .Sp
2053     \&\fB=+X\fR (same as \fB=+X+Y\fR)
2054     .IP "change position (relative)" 4
2055     .IX Item "change position (relative)"
2056     \&\fB+X+Y\fR
2057     .Sp
2058     \&\fB+X\fR (same as \fB+X+Y\fR)
2059     .IP "rescale (relative)" 4
2060     .IX Item "rescale (relative)"
2061     \&\fBWx0\fR \-> \fBW *= (W/100)\fR
2062     .Sp
2063     \&\fB0xH\fR \-> \fBH *= (H/100)\fR
2064     .PP
2065     For example:
2066     .IP "\fB\eE]20;funky\ea\fR" 4
2067     .IX Item "E]20;funkya"
2068     load \fBfunky.xpm\fR as a tiled image
2069     .IP "\fB\eE]20;mona;100\ea\fR" 4
2070     .IX Item "E]20;mona;100a"
2071     load \fBmona.xpm\fR with a scaling of 100%
2072     .IP "\fB\eE]20;;200;?\ea\fR" 4
2073     .IX Item "E]20;;200;?a"
2074     rescale the current pixmap to 200% and display the image geometry in
2075     the title
2076     .SH "Mouse Reporting"
2077     .IX Header "Mouse Reporting"
2078 root 1.12 .ie n .IP "\fB\fB""ESC [ M <b> <x> <y>""\fB\fR" 4
2079     .el .IP "\fB\f(CBESC [ M <b> <x> <y>\fB\fR" 4
2080 root 1.1 .IX Item "ESC [ M <b> <x> <y>"
2081     report mouse position
2082     .PP
2083     The lower 2 bits of \fB\f(CB\*(C`<b>\*(C'\fB\fR indicate the button:
2084 root 1.12 .ie n .IP "Button = \fB\fB""(<b> \- SPACE) & 3""\fB\fR" 4
2085     .el .IP "Button = \fB\f(CB(<b> \- SPACE) & 3\fB\fR" 4
2086 root 1.1 .IX Item "Button = (<b> - SPACE) & 3"
2087     .TS
2088     l l .
2089     0 Button1 pressed
2090     1 Button2 pressed
2091     2 Button3 pressed
2092     3 button released (X11 mouse report)
2093     .TE
2094    
2095     .PP
2096     The upper bits of \fB\f(CB\*(C`<b>\*(C'\fB\fR indicate the modifiers when the
2097     button was pressed and are added together (X11 mouse report only):
2098 root 1.12 .ie n .IP "State = \fB\fB""(<b> \- SPACE) & 60""\fB\fR" 4
2099     .el .IP "State = \fB\f(CB(<b> \- SPACE) & 60\fB\fR" 4
2100 root 1.1 .IX Item "State = (<b> - SPACE) & 60"
2101     .TS
2102     l l .
2103     4 Shift
2104     8 Meta
2105     16 Control
2106     32 Double Click (Rxvt extension)
2107     .TE
2108    
2109     Col = \fB\f(CB\*(C`<x> \- SPACE\*(C'\fB\fR
2110     .Sp
2111     Row = \fB\f(CB\*(C`<y> \- SPACE\*(C'\fB\fR
2112     .SH "Key Codes"
2113     .IX Header "Key Codes"
2114     Note: \fBShift\fR + \fBF1\fR\-\fBF10\fR generates \fBF11\fR\-\fBF20\fR
2115     .PP
2116     For the keypad, use \fBShift\fR to temporarily override Application-Keypad
2117     setting use \fBNum_Lock\fR to toggle Application-Keypad setting if
2118     \&\fBNum_Lock\fR is off, toggle Application-Keypad setting. Also note that
2119     values of \fBHome\fR, \fBEnd\fR, \fBDelete\fR may have been compiled differently on
2120     your system.
2121     .TS
2122     l l l l l .
2123     Normal Shift Control Ctrl+Shift
2124     Tab ^I ESC [ Z ^I ESC [ Z
2125     BackSpace ^H ^? ^? ^?
2126     Find ESC [ 1 ~ ESC [ 1 $ ESC [ 1 ^ ESC [ 1 @
2127     Insert ESC [ 2 ~ paste ESC [ 2 ^ ESC [ 2 @
2128     Execute ESC [ 3 ~ ESC [ 3 $ ESC [ 3 ^ ESC [ 3 @
2129     Select ESC [ 4 ~ ESC [ 4 $ ESC [ 4 ^ ESC [ 4 @
2130     Prior ESC [ 5 ~ scroll-up ESC [ 5 ^ ESC [ 5 @
2131     Next ESC [ 6 ~ scroll-down ESC [ 6 ^ ESC [ 6 @
2132     Home ESC [ 7 ~ ESC [ 7 $ ESC [ 7 ^ ESC [ 7 @
2133     End ESC [ 8 ~ ESC [ 8 $ ESC [ 8 ^ ESC [ 8 @
2134     Delete ESC [ 3 ~ ESC [ 3 $ ESC [ 3 ^ ESC [ 3 @
2135     F1 ESC [ 11 ~ ESC [ 23 ~ ESC [ 11 ^ ESC [ 23 ^
2136     F2 ESC [ 12 ~ ESC [ 24 ~ ESC [ 12 ^ ESC [ 24 ^
2137     F3 ESC [ 13 ~ ESC [ 25 ~ ESC [ 13 ^ ESC [ 25 ^
2138     F4 ESC [ 14 ~ ESC [ 26 ~ ESC [ 14 ^ ESC [ 26 ^
2139     F5 ESC [ 15 ~ ESC [ 28 ~ ESC [ 15 ^ ESC [ 28 ^
2140     F6 ESC [ 17 ~ ESC [ 29 ~ ESC [ 17 ^ ESC [ 29 ^
2141     F7 ESC [ 18 ~ ESC [ 31 ~ ESC [ 18 ^ ESC [ 31 ^
2142     F8 ESC [ 19 ~ ESC [ 32 ~ ESC [ 19 ^ ESC [ 32 ^
2143     F9 ESC [ 20 ~ ESC [ 33 ~ ESC [ 20 ^ ESC [ 33 ^
2144     F10 ESC [ 21 ~ ESC [ 34 ~ ESC [ 21 ^ ESC [ 34 ^
2145     F11 ESC [ 23 ~ ESC [ 23 $ ESC [ 23 ^ ESC [ 23 @
2146     F12 ESC [ 24 ~ ESC [ 24 $ ESC [ 24 ^ ESC [ 24 @
2147     F13 ESC [ 25 ~ ESC [ 25 $ ESC [ 25 ^ ESC [ 25 @
2148     F14 ESC [ 26 ~ ESC [ 26 $ ESC [ 26 ^ ESC [ 26 @
2149     F15 (Help) ESC [ 28 ~ ESC [ 28 $ ESC [ 28 ^ ESC [ 28 @
2150     F16 (Menu) ESC [ 29 ~ ESC [ 29 $ ESC [ 29 ^ ESC [ 29 @
2151     F17 ESC [ 31 ~ ESC [ 31 $ ESC [ 31 ^ ESC [ 31 @
2152     F18 ESC [ 32 ~ ESC [ 32 $ ESC [ 32 ^ ESC [ 32 @
2153     F19 ESC [ 33 ~ ESC [ 33 $ ESC [ 33 ^ ESC [ 33 @
2154     F20 ESC [ 34 ~ ESC [ 34 $ ESC [ 34 ^ ESC [ 34 @
2155     Application
2156     Up ESC [ A ESC [ a ESC O a ESC O A
2157     Down ESC [ B ESC [ b ESC O b ESC O B
2158     Right ESC [ C ESC [ c ESC O c ESC O C
2159     Left ESC [ D ESC [ d ESC O d ESC O D
2160     KP_Enter ^M ESC O M
2161     KP_F1 ESC O P ESC O P
2162     KP_F2 ESC O Q ESC O Q
2163     KP_F3 ESC O R ESC O R
2164     KP_F4 ESC O S ESC O S
2165     XK_KP_Multiply * ESC O j
2166     XK_KP_Add + ESC O k
2167     XK_KP_Separator , ESC O l
2168     XK_KP_Subtract - ESC O m
2169     XK_KP_Decimal . ESC O n
2170     XK_KP_Divide / ESC O o
2171     XK_KP_0 0 ESC O p
2172     XK_KP_1 1 ESC O q
2173     XK_KP_2 2 ESC O r
2174     XK_KP_3 3 ESC O s
2175     XK_KP_4 4 ESC O t
2176     XK_KP_5 5 ESC O u
2177     XK_KP_6 6 ESC O v
2178     XK_KP_7 7 ESC O w
2179     XK_KP_8 8 ESC O x
2180     XK_KP_9 9 ESC O y
2181     .TE
2182    
2183     .SH "CONFIGURE OPTIONS"
2184     .IX Header "CONFIGURE OPTIONS"
2185     General hint: if you get compile errors, then likely your configuration
2186     hasn't been tested well. Either try with \-\-enable\-everything or use the
2187     \&./reconf script as a base for experiments. ./reconf is used by myself,
2188     so it should generally be a working config. Of course, you should always
2189     report when a combination doesn't work, so it can be fixed. Marc Lehmann
2190     <rxvt@schmorp.de>.
2191     .IP "\-\-enable\-everything" 4
2192     .IX Item "--enable-everything"
2193     Add support for all non-multichoice options listed in \*(L"./configure
2194     \&\-\-help\*(R". Note that unlike other enable options this is order dependant.
2195     You can specify this and then disable options which this enables by
2196     \&\fIfollowing\fR this with the appropriate commands.
2197     .IP "\-\-enable\-xft" 4
2198     .IX Item "--enable-xft"
2199     Add support for Xft (anti\-aliases, among others) fonts. Xft fonts are
2200     slower and require lots of memory, but as long as you don't use them, you
2201     don't pay for them.
2202     .IP "\-\-enable\-font\-styles" 4
2203     .IX Item "--enable-font-styles"
2204     Add support for \fBbold\fR, \fIitalic\fR and \fB\f(BIbold italic\fB\fR font
2205     styles. The fonts can be set manually or automatically.
2206     .IP "\-\-with\-codesets=NAME,..." 4
2207     .IX Item "--with-codesets=NAME,..."
2208 root 1.20 Compile in support for additional codeset (encoding) groups (\f(CW\*(C`eu\*(C'\fR, \f(CW\*(C`vn\*(C'\fR
2209     are always compiled in, which includes most 8\-bit character sets). These
2210     codeset tables are used for driving X11 core fonts, they are not required
2211     for Xft fonts, although having them compiled in lets rxvt-unicode choose
2212     replacement fonts more intelligently. Compiling them in will make your
2213     binary bigger (all of together cost about 700kB), but it doesn't increase
2214     memory usage unless you use a font requiring one of these encodings.
2215 root 1.1 .TS
2216     l l .
2217     all all available codeset groups
2218     zh common chinese encodings
2219     zh_ext rarely used but very big chinese encodigs
2220     jp common japanese encodings
2221     jp_ext rarely used but big japanese encodings
2222     kr korean encodings
2223     .TE
2224    
2225     .IP "\-\-enable\-xim" 4
2226     .IX Item "--enable-xim"
2227     Add support for \s-1XIM\s0 (X Input Method) protocol. This allows using
2228     alternative input methods (e.g. kinput2) and will also correctly
2229     set up the input for people using dead keys or compose keys.
2230     .IP "\-\-enable\-unicode3" 4
2231     .IX Item "--enable-unicode3"
2232     Enable direct support for displaying unicode codepoints above
2233     65535 (the basic multilingual page). This increases storage
2234     requirements per character from 2 to 4 bytes. X11 fonts do not yet
2235     support these extra characters, but Xft does.
2236     .Sp
2237     Please note that rxvt-unicode can store unicode code points >65535
2238     even without this flag, but the number of such characters is
2239     limited to a view thousand (shared with combining characters,
2240     see next switch), and right now rxvt-unicode cannot display them
2241     (input/output and cut&paste still work, though).
2242     .IP "\-\-enable\-combining" 4
2243     .IX Item "--enable-combining"
2244     Enable automatic composition of combining characters into
2245     composite characters. This is required for proper viewing of text
2246     where accents are encoded as seperate unicode characters. This is
2247     done by using precomposited characters when available or creating
2248     new pseudo-characters when no precomposed form exists.
2249     .Sp
2250 root 1.14 Without \-\-enable\-unicode3, the number of additional precomposed characters
2251     is rather limited (2048, if this is full, rxvt-unicode will use the
2252 root 1.1 private use area, extending the number of combinations to 8448). With
2253 root 1.14 \&\-\-enable\-unicode3, no practical limit exists.
2254     .Sp
2255     This option will also enable storage (but not display) of characters
2256     beyond plane 0 (>65535) when \-\-enable\-unicode3 was not specified.
2257 root 1.1 .Sp
2258     The combining table also contains entries for arabic presentation forms,
2259 root 1.14 but these are not currently used. Bug me if you want these to be used (and
2260     tell me how these are to be used...).
2261 root 1.1 .IP "\-\-enable\-fallback(=CLASS)" 4
2262     .IX Item "--enable-fallback(=CLASS)"
2263     When reading resource settings, also read settings for class \s-1CLASS\s0
2264     (default: Rxvt). To disable resource fallback use \-\-disable\-fallback.
2265     .IP "\-\-with\-res\-name=NAME" 4
2266     .IX Item "--with-res-name=NAME"
2267     Use the given name (default: urxvt) as default application name when
2268     reading resources. Specify \-\-with\-res\-name=rxvt to replace rxvt.
2269     .IP "\-\-with\-res\-class=CLASS" 4
2270     .IX Item "--with-res-class=CLASS"
2271     Use the given class (default: URxvt) as default application class
2272     when reading resources. Specify \-\-with\-res\-class=Rxvt to replace
2273     rxvt.
2274     .IP "\-\-enable\-utmp" 4
2275     .IX Item "--enable-utmp"
2276     Write user and tty to utmp file (used by programs like \fIw\fR) at
2277     start of rxvt execution and delete information when rxvt exits.
2278     .IP "\-\-enable\-wtmp" 4
2279     .IX Item "--enable-wtmp"
2280     Write user and tty to wtmp file (used by programs like \fIlast\fR) at
2281     start of rxvt execution and write logout when rxvt exits. This
2282     option requires \-\-enable\-utmp to also be specified.
2283     .IP "\-\-enable\-lastlog" 4
2284     .IX Item "--enable-lastlog"
2285     Write user and tty to lastlog file (used by programs like
2286     \&\fIlastlogin\fR) at start of rxvt execution. This option requires
2287     \&\-\-enable\-utmp to also be specified.
2288     .IP "\-\-enable\-xpm\-background" 4
2289     .IX Item "--enable-xpm-background"
2290     Add support for \s-1XPM\s0 background pixmaps.
2291     .IP "\-\-enable\-transparency" 4
2292     .IX Item "--enable-transparency"
2293     Add support for inheriting parent backgrounds thus giving a fake
2294     transparency to the term.
2295     .IP "\-\-enable\-fading" 4
2296     .IX Item "--enable-fading"
2297     Add support for fading the text when focus is lost.
2298     .IP "\-\-enable\-tinting" 4
2299     .IX Item "--enable-tinting"
2300     Add support for tinting of transparent backgrounds.
2301     .IP "\-\-enable\-menubar" 4
2302     .IX Item "--enable-menubar"
2303     Add support for our menu bar system (this interacts badly with
2304     dynamic locale switching currently).
2305     .IP "\-\-enable\-rxvt\-scroll" 4
2306     .IX Item "--enable-rxvt-scroll"
2307     Add support for the original rxvt scrollbar.
2308     .IP "\-\-enable\-next\-scroll" 4
2309     .IX Item "--enable-next-scroll"
2310     Add support for a NeXT-like scrollbar.
2311     .IP "\-\-enable\-xterm\-scroll" 4
2312     .IX Item "--enable-xterm-scroll"
2313     Add support for an Xterm-like scrollbar.
2314     .IP "\-\-enable\-plain\-scroll" 4
2315     .IX Item "--enable-plain-scroll"
2316     Add support for a very unobtrusive, plain-looking scrollbar that
2317     is the favourite of the rxvt-unicode author, having used it for
2318     many years.
2319     .IP "\-\-enable\-half\-shadow" 4
2320     .IX Item "--enable-half-shadow"
2321     Make shadows on the scrollbar only half the normal width & height.
2322     only applicable to rxvt scrollbars.
2323     .IP "\-\-enable\-ttygid" 4
2324     .IX Item "--enable-ttygid"
2325     Change tty device setting to group \*(L"tty\*(R" \- only use this if
2326     your system uses this type of security.
2327     .IP "\-\-disable\-backspace\-key" 4
2328     .IX Item "--disable-backspace-key"
2329     Disable any handling of the backspace key by us \- let the X server
2330     do it.
2331     .IP "\-\-disable\-delete\-key" 4
2332     .IX Item "--disable-delete-key"
2333     Disable any handling of the delete key by us \- let the X server
2334     do it.
2335     .IP "\-\-disable\-resources" 4
2336     .IX Item "--disable-resources"
2337     Remove all resources checking.
2338     .IP "\-\-enable\-xgetdefault" 4
2339     .IX Item "--enable-xgetdefault"
2340     Make resources checking via \fIXGetDefault()\fR instead of our small
2341 root 1.12 version which only checks ~/.Xdefaults, or if that doesn't exist then
2342     ~/.Xresources.
2343     .Sp
2344     Please note that nowadays, things like \s-1XIM\s0 will automatically pull in and
2345     use the full X resource manager, so the overhead of using it might be very
2346     small, if nonexistant.
2347 root 1.1 .IP "\-\-enable\-strings" 4
2348     .IX Item "--enable-strings"
2349     Add support for our possibly faster \fImemset()\fR function and other
2350     various routines, overriding your system's versions which may
2351     have been hand-crafted in assembly or may require extra libraries
2352     to link in. (this breaks ANSI-C rules and has problems on many
2353     GNU/Linux systems).
2354     .IP "\-\-disable\-swapscreen" 4
2355     .IX Item "--disable-swapscreen"
2356     Remove support for swap screen.
2357     .IP "\-\-enable\-frills" 4
2358     .IX Item "--enable-frills"
2359     Add support for many small features that are not essential but nice to
2360     have. Normally you want this, but for very small binaries you may want to
2361     disable this.
2362 root 1.2 .Sp
2363     A non-exhaustive list of features enabled by \f(CW\*(C`\-\-enable\-frills\*(C'\fR (possibly
2364     in combination with other switches) is:
2365     .Sp
2366 root 1.20 .Vb 13
2367 root 1.2 \& MWM-hints
2368 root 1.18 \& EWMH-hints (pid, utf8 names) and protocols (ping)
2369 root 1.2 \& seperate underline colour
2370     \& settable border widths and borderless switch
2371     \& settable extra linespacing
2372     \& iso-14755-2 and -3, and visual feedback
2373     \& backindex and forwardindex escape sequence
2374 root 1.19 \& window op and some xterm/OSC escape sequences
2375 root 1.2 \& tripleclickwords
2376     \& settable insecure mode
2377 root 1.12 \& keysym remapping support
2378 root 1.20 \& cursor blinking and underline cursor
2379 root 1.17 \& -embed and -pty-fd options
2380 root 1.2 .Ve
2381 root 1.1 .IP "\-\-enable\-iso14755" 4
2382     .IX Item "--enable-iso14755"
2383     Enable extended \s-1ISO\s0 14755 support (see @@RXVT_NAME@@(1), or
2384     \&\fIdoc/rxvt.1.txt\fR). Basic support (section 5.1) is enabled by
2385     \&\f(CW\*(C`\-\-enable\-frills\*(C'\fR, while support for 5.2, 5.3 and 5.4 is enabled with
2386     this switch.
2387     .IP "\-\-enable\-keepscrolling" 4
2388     .IX Item "--enable-keepscrolling"
2389     Add support for continual scrolling of the display when you hold
2390     the mouse button down on a scrollbar arrow.
2391     .IP "\-\-enable\-mousewheel" 4
2392     .IX Item "--enable-mousewheel"
2393     Add support for scrolling via mouse wheel or buttons 4 & 5.
2394     .IP "\-\-enable\-slipwheeling" 4
2395     .IX Item "--enable-slipwheeling"
2396     Add support for continual scrolling (using the mouse wheel as an
2397     accelerator) while the control key is held down. This option
2398     requires \-\-enable\-mousewheel to also be specified.
2399     .IP "\-\-disable\-new\-selection" 4
2400     .IX Item "--disable-new-selection"
2401     Remove support for mouse selection style like that of xterm.
2402     .IP "\-\-enable\-dmalloc" 4
2403     .IX Item "--enable-dmalloc"
2404     Use Gray Watson's malloc \- which is good for debugging See
2405     http://www.letters.com/dmalloc/ for details If you use either this or the
2406     next option, you may need to edit src/Makefile after compiling to point
2407     \&\s-1DINCLUDE\s0 and \s-1DLIB\s0 to the right places.
2408     .Sp
2409     You can only use either this option and the following (should
2410     you use either) .
2411     .IP "\-\-enable\-dlmalloc" 4
2412     .IX Item "--enable-dlmalloc"
2413     Use Doug Lea's malloc \- which is good for a production version
2414     See <http://g.oswego.edu/dl/html/malloc.html> for details.
2415     .IP "\-\-enable\-smart\-resize" 4
2416     .IX Item "--enable-smart-resize"
2417     Add smart growth/shrink behaviour when changing font size via from hot
2418     keys. This should keep in a fixed position the rxvt corner which is
2419     closest to a corner of the screen.
2420     .IP "\-\-enable\-pointer\-blank" 4
2421     .IX Item "--enable-pointer-blank"
2422     Add support to have the pointer disappear when typing or inactive.
2423     .IP "\-\-with\-name=NAME" 4
2424     .IX Item "--with-name=NAME"
2425 root 1.3 Set the basename for the installed binaries (default: \f(CW\*(C`urxvt\*(C'\fR, resulting
2426     in \f(CW\*(C`urxvt\*(C'\fR, \f(CW\*(C`urxvtd\*(C'\fR etc.). Specify \f(CW\*(C`\-\-with\-name=rxvt\*(C'\fR to replace with
2427     \&\f(CW\*(C`rxvt\*(C'\fR.
2428 root 1.1 .IP "\-\-with\-term=NAME" 4
2429     .IX Item "--with-term=NAME"
2430     Change the environmental variable for the terminal to \s-1NAME\s0 (default
2431 root 1.3 \&\f(CW\*(C`rxvt\-unicode\*(C'\fR)
2432 root 1.1 .IP "\-\-with\-terminfo=PATH" 4
2433     .IX Item "--with-terminfo=PATH"
2434     Change the environmental variable for the path to the terminfo tree to
2435     \&\s-1PATH\s0.
2436     .IP "\-\-with\-x" 4
2437     .IX Item "--with-x"
2438     Use the X Window System (pretty much default, eh?).
2439     .IP "\-\-with\-xpm\-includes=DIR" 4
2440     .IX Item "--with-xpm-includes=DIR"
2441     Look for the \s-1XPM\s0 includes in \s-1DIR\s0.
2442     .IP "\-\-with\-xpm\-library=DIR" 4
2443     .IX Item "--with-xpm-library=DIR"
2444     Look for the \s-1XPM\s0 library in \s-1DIR\s0.
2445     .IP "\-\-with\-xpm" 4
2446     .IX Item "--with-xpm"
2447     Not needed \- define via \-\-enable\-xpm\-background.
2448     .SH "AUTHORS"
2449     .IX Header "AUTHORS"
2450     Marc Lehmann <rxvt@schmorp.de> converted this document to pod and
2451     reworked it from the original Rxvt documentation, which was done by Geoff
2452     Wing <gcw@pobox.com>, who in turn used the XTerm documentation and other
2453     sources.