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