ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/doc/rxvt.7.txt
Revision: 1.20
Committed: Thu Jun 30 14:00:49 2005 UTC (19 years ago) by root
Content type: text/plain
Branch: MAIN
Changes since 1.19: +11 -0 lines
Log Message:
*** empty log message ***

File Contents

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