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