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