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