ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/doc/rxvt.7.pod
Revision: 1.54
Committed: Tue Jun 21 18:25:09 2005 UTC (19 years ago) by root
Branch: MAIN
Changes since 1.53: +8 -0 lines
Log Message:
*** empty log message ***

File Contents

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