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