ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/doc/rxvt.7.txt
(Generate patch)

Comparing rxvt-unicode/doc/rxvt.7.txt (file contents):
Revision 1.11 by root, Fri Feb 11 18:06:44 2005 UTC vs.
Revision 1.36 by root, Tue Jan 10 04:26:54 2006 UTC

18 The newest version of this document is also available on the World Wide 18 The newest version of this document is also available on the World Wide
19 Web at 19 Web at
20 <http://cvs.schmorp.de/browse/*checkout*/rxvt-unicode/doc/rxvt.7.html>. 20 <http://cvs.schmorp.de/browse/*checkout*/rxvt-unicode/doc/rxvt.7.html>.
21 21
22FREQUENTLY ASKED QUESTIONS 22FREQUENTLY ASKED QUESTIONS
23 Isn't rxvt supposed to be small? Don't all those features bloat?
24 I often get asked about this, and I think, no, they didn't cause
25 extra bloat. If you compare a minimal rxvt and a minimal urxvt, you
26 can see that the urxvt binary is larger (due to some encoding tables
27 always being compiled in), but it actually uses less memory (RSS)
28 after startup. Even with "--disable-everything", this comparison is
29 a bit unfair, as many features unique to urxvt (locale, encoding
30 conversion, iso14755 etc.) are already in use in this mode.
31
32 text data bss drs rss filename
33 98398 1664 24 15695 1824 rxvt --disable-everything
34 188985 9048 66616 18222 1788 urxvt --disable-everything
35
36 When you "--enable-everything" (which _is_ unfair, as this involves
37 xft and full locale/XIM support which are quite bloaty inside libX11
38 and my libc), the two diverge, but not unreasnobaly so.
39
40 text data bss drs rss filename
41 163431 2152 24 20123 2060 rxvt --enable-everything
42 1035683 49680 66648 29096 3680 urxvt --enable-everything
43
44 The very large size of the text section is explained by the
45 east-asian encoding tables, which, if unused, take up disk space but
46 nothing else and can be compiled out unless you rely on X11 core
47 fonts that use those encodings. The BSS size comes from the 64k
48 emergency buffer that my c++ compiler allocates (but of course
49 doesn't use unless you are out of memory). Also, using an xft font
50 instead of a core font immediately adds a few megabytes of RSS. Xft
51 indeed is responsible for a lot of RSS even when not used.
52
53 Of course, due to every character using two or four bytes instead of
54 one, a large scrollback buffer will ultimately make rxvt-unicode use
55 more memory.
56
57 Compared to e.g. Eterm (5112k), aterm (3132k) and xterm (4680k),
58 this still fares rather well. And compared to some monsters like
59 gnome-terminal (21152k + extra 4204k in separate processes) or
60 konsole (22200k + extra 43180k in daemons that stay around after
61 exit, plus half a minute of startup time, including the hundreds of
62 warnings it spits out), it fares extremely well *g*.
63
64 Why C++, isn't that unportable/bloated/uncool?
65 Is this a question? :) It comes up very often. The simple answer is:
66 I had to write it, and C++ allowed me to write and maintain it in a
67 fraction of the time and effort (which is a scarce resource for me).
68 Put even shorter: It simply wouldn't exist without C++.
69
70 My personal stance on this is that C++ is less portable than C, but
71 in the case of rxvt-unicode this hardly matters, as its portability
72 limits are defined by things like X11, pseudo terminals, locale
73 support and unix domain sockets, which are all less portable than
74 C++ itself.
75
76 Regarding the bloat, see the above question: It's easy to write
77 programs in C that use gobs of memory, an certainly possible to
78 write programs in C++ that don't. C++ also often comes with large
79 libraries, but this is not necessarily the case with GCC. Here is
80 what rxvt links against on my system with a minimal config:
81
82 libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00002aaaaabc3000)
83 libc.so.6 => /lib/libc.so.6 (0x00002aaaaadde000)
84 libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab01d000)
85 /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000)
86
87 And here is rxvt-unicode:
88
89 libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00002aaaaabc3000)
90 libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00002aaaaada2000)
91 libc.so.6 => /lib/libc.so.6 (0x00002aaaaaeb0000)
92 libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab0ee000)
93 /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000)
94
95 No large bloated libraries (of course, none were linked in
96 statically), except maybe libX11 :)
97
98 Does it support tabs, can I have a tabbed rxvt-unicode?
99 rxvt-unicode does not directly support tabs. It will work fine with
100 tabbing functionality of many window managers or similar tabbing
101 programs, and its embedding-features allow it to be embedded into
102 other programs, as witnessed by doc/rxvt-tabbed or the upcoming
103 "Gtk2::URxvt" perl module, which features a tabbed urxvt (murxvt)
104 terminal as an example embedding application.
105
23 How do I know which rxvt-unicode version I'm using? 106 How do I know which rxvt-unicode version I'm using?
24 The version number is displayed with the usage (-h). Also the escape 107 The version number is displayed with the usage (-h). Also the escape
25 sequence "ESC [ 8 n" sets the window title to the version number. 108 sequence "ESC [ 8 n" sets the window title to the version number.
109 When using the rxvtc client, the version displayed is that of the
110 daemon.
26 111
27 I am using Debian GNU/Linux and have a problem... 112 I am using Debian GNU/Linux and have a problem...
28 The Debian GNU/Linux package of rxvt-unicode contains large patches 113 The Debian GNU/Linux package of rxvt-unicode in sarge contains large
29 that considerably change the behaviour of rxvt-unicode. Before 114 patches that considerably change the behaviour of rxvt-unicode.
30 reporting a bug to the original rxvt-unicode author please download 115 Before reporting a bug to the original rxvt-unicode author please
31 and install the genuine version 116 download and install the genuine version
32 (<http://software.schmorp.de#rxvt-unicode>) and try to reproduce the 117 (<http://software.schmorp.de#rxvt-unicode>) and try to reproduce the
33 problem. If you cannot, chances are that the problems are specific 118 problem. If you cannot, chances are that the problems are specific
34 to Debian GNU/Linux, in which case it should be reported via the 119 to Debian GNU/Linux, in which case it should be reported via the
35 Debian Bug Tracking System (use "reportbug" to report the bug). 120 Debian Bug Tracking System (use "reportbug" to report the bug).
36 121
37 For other problems that also affect the Debian package, you can and 122 For other problems that also affect the Debian package, you can and
38 probably should use the Debian BTS, too, because, after all, it's 123 probably should use the Debian BTS, too, because, after all, it's
39 also a bug in the Debian version and it serves as a reminder for 124 also a bug in the Debian version and it serves as a reminder for
40 other users that might encounter the same issue. 125 other users that might encounter the same issue.
126
127 I am maintaining rxvt-unicode for distribution/OS XXX, any
128 recommendation?
129 You should build one binary with the default options. configure now
130 enables most useful options, and the trend goes to making them
131 runtime-switchable, too, so there is usually no drawback to enbaling
132 them, except higher disk and possibly memory usage. The perl
133 interpreter should be enabled, as important functionality (menus,
134 selection, likely more in the future) depends on it.
135
136 You should not overwrite the "perl-ext-common" snd "perl-ext"
137 resources system-wide (except maybe with "defaults"). This will
138 result in useful behaviour. If your distribution aims at low memory,
139 add an empty "perl-ext-common" resource to the app-defaults file.
140 This will keep the perl interpreter disabled until the user enables
141 it.
142
143 If you can/want build more binaries, I recommend building a minimal
144 one with "--disable-everything" (very useful) and a maximal one with
145 "--enable-everything" (less useful, it will be very big due to a lot
146 of encodings built-in that increase download times and are rarely
147 used).
148
149 I need to make it setuid/setgid to support utmp/ptys on my OS, is this
150 safe?
151 Likely not. While I honestly try to make it secure, and am probably
152 not bad at it, I think it is simply unreasonable to expect all of
153 freetype + fontconfig + xft + xlib + ... + rxvt-unicode itself to
154 all be secure. Also, rxvt-unicode disables some options when it
155 detects that it runs setuid or setgid, which is not nice.
156
157 Elevated privileges are only required for utmp and pty operations on
158 some systems (for example, GNU/Linux doesn't need any extra
159 privileges for ptys, but some need it for utmp support). If
160 rxvt-unicode doesn't support the library/setuid helper that your OS
161 needs I'll be happy to assist you in implementing support for it.
162
163 So, while setuid/setgid operation is supported and not a problem on
164 your typical single-user-no-other-logins unix desktop, always
165 remember that its an awful lot of code, most of which isn't checked
166 for security issues regularly.
41 167
42 When I log-in to another system it tells me about missing terminfo data? 168 When I log-in to another system it tells me about missing terminfo data?
43 The terminal description used by rxvt-unicode is not as widely 169 The terminal description used by rxvt-unicode is not as widely
44 available as that for xterm, or even rxvt (for which the same 170 available as that for xterm, or even rxvt (for which the same
45 problem often arises). 171 problem often arises).
66 URxvt.termName: rxvt 192 URxvt.termName: rxvt
67 193
68 If you don't plan to use rxvt (quite common...) you could also 194 If you don't plan to use rxvt (quite common...) you could also
69 replace the rxvt terminfo file with the rxvt-unicode one. 195 replace the rxvt terminfo file with the rxvt-unicode one.
70 196
197 "tic" outputs some error when compiling the terminfo entry.
198 Most likely it's the empty definition for "enacs=". Just replace it
199 by "enacs=\E[0@" and try again.
200
71 "bash"'s readline does not work correctly under rxvt. 201 "bash"'s readline does not work correctly under rxvt.
72 I need a termcap file entry. 202 I need a termcap file entry.
73 One reason you might want this is that some distributions or 203 One reason you might want this is that some distributions or
74 operating systems still compile some programs using the 204 operating systems still compile some programs using the
75 long-obsoleted termcap (Fedora Core's bash is one example) and rely 205 long-obsoleted termcap library (Fedora Core's bash is one example)
76 on a termcap entry for "rxvt-unicode". 206 and rely on a termcap entry for "rxvt-unicode".
77 207
78 You could use rxvt's termcap entry with resonable results in many 208 You could use rxvt's termcap entry with resonable results in many
79 cases. You can also create a termcap entry by using terminfo's 209 cases. You can also create a termcap entry by using terminfo's
80 infocmp program like this: 210 infocmp program like this:
81 211
83 213
84 Or you could use this termcap entry, generated by the command above: 214 Or you could use this termcap entry, generated by the command above:
85 215
86 rxvt-unicode|rxvt-unicode terminal (X Window System):\ 216 rxvt-unicode|rxvt-unicode terminal (X Window System):\
87 :am:bw:eo:km:mi:ms:xn:xo:\ 217 :am:bw:eo:km:mi:ms:xn:xo:\
88 :co#80:it#8:li#24:\ 218 :co#80:it#8:li#24:lm#0:\
89 :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ 219 :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\
90 :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\ 220 :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\
91 :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ae=^O:al=\E[L:\ 221 :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ae=\E(B:al=\E[L:\
92 :as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:\ 222 :as=\E(0:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\
93 :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:\ 223 :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\
94 :ec=\E[%dX:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:ic=\E[@:\ 224 :dl=\E[M:do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:\
225 :i1=\E[?47l\E=\E[?1l:ic=\E[@:im=\E[4h:\
95 :im=\E[4h:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ 226 :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\
96 :k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\ 227 :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\
97 :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ 228 :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:kD=\E[3~:\
98 :kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:\ 229 :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:\
99 :ke=\E[?1l\E>:kh=\E[7~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ 230 :kh=\E[7~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\
100 :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:\ 231 :mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:rc=\E8:\
101 :nd=\E[C:rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:\ 232 :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
102 :st=\EH:ta=^I:te=\E[r\E[?1049l:ti=\E[?1049h:ue=\E[24m:\ 233 :te=\E[r\E[?1049l:ti=\E[?1049h:ue=\E[24m:up=\E[A:\
103 :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:\ 234 :us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:\
104 :vs=\E[?25h: 235 :vs=\E[?25h:
105 236
106 Why does "ls" no longer have coloured output? 237 Why does "ls" no longer have coloured output?
107 The "ls" in the GNU coreutils unfortunately doesn't use terminfo to 238 The "ls" in the GNU coreutils unfortunately doesn't use terminfo to
108 decide wether a terminal has colour, but uses it's own configuration 239 decide wether a terminal has colour, but uses it's own configuration
246 that doesn't work, you might be forced to use a different font. 377 that doesn't work, you might be forced to use a different font.
247 378
248 All of this is not a problem when using X11 core fonts, as their 379 All of this is not a problem when using X11 core fonts, as their
249 bounding box data is correct. 380 bounding box data is correct.
250 381
382 On Solaris 9, many line-drawing characters are too wide.
383 Seems to be a known bug, read
384 <http://nixdoc.net/files/forum/about34198.html>. Some people use the
385 following ugly workaround to get non-double-wide-characters working:
386
387 #define wcwidth(x) wcwidth(x) > 1 ? 1 : wcwidth(x)
388
251 My Compose (Multi_key) key is no longer working. 389 My Compose (Multi_key) key is no longer working.
252 The most common causes for this are that either your locale is not 390 The most common causes for this are that either your locale is not
253 set correctly, or you specified a preeditStyle that is not supported 391 set correctly, or you specified a preeditStyle that is not supported
254 by your input method. For example, if you specified OverTheSpot and 392 by your input method. For example, if you specified OverTheSpot and
255 your input method (e.g. the default input method handling Compose 393 your input method (e.g. the default input method handling Compose
299 As you might have guessed, FreeBSD does neither define this symobl 437 As you might have guessed, FreeBSD does neither define this symobl
300 nor does it support it. Instead, it uses it's own internal 438 nor does it support it. Instead, it uses it's own internal
301 representation of wchar_t. This is, of course, completely fine with 439 representation of wchar_t. This is, of course, completely fine with
302 respect to standards. 440 respect to standards.
303 441
442 However, that means rxvt-unicode only works in "POSIX", "ISO-8859-1"
443 and "UTF-8" locales under FreeBSD (which all use Unicode as wchar_t.
444
304 However, "__STDC_ISO_10646__" is the only sane way to support 445 "__STDC_ISO_10646__" is the only sane way to support multi-language
305 multi-language apps in an OS, as using a locale-dependent (and 446 apps in an OS, as using a locale-dependent (and non-standardized)
306 non-standardized) representation of wchar_t makes it impossible to 447 representation of wchar_t makes it impossible to convert between
307 convert between wchar_t (as used by X11 and your applications) and 448 wchar_t (as used by X11 and your applications) and any other
308 any other encoding without implementing OS-specific-wrappers for 449 encoding without implementing OS-specific-wrappers for each and
309 each and every locale. There simply are no APIs to convert wchar_t 450 every locale. There simply are no APIs to convert wchar_t into
310 into anything except the current locale encoding. 451 anything except the current locale encoding.
311 452
312 Some applications (such as the formidable mlterm) work around this 453 Some applications (such as the formidable mlterm) work around this
313 by carrying their own replacement functions for character set 454 by carrying their own replacement functions for character set
314 handling with them, and either implementing OS-dependent hacks or 455 handling with them, and either implementing OS-dependent hacks or
315 doing multiple conversions (which is slow and unreliable in case the 456 doing multiple conversions (which is slow and unreliable in case the
317 emulator). 458 emulator).
318 459
319 The rxvt-unicode author insists that the right way to fix this is in 460 The rxvt-unicode author insists that the right way to fix this is in
320 the system libraries once and for all, instead of forcing every app 461 the system libraries once and for all, instead of forcing every app
321 to carry complete replacements for them :) 462 to carry complete replacements for them :)
463
464 I use Solaris 9 and it doesn't compile/work/etc.
465 Try the diff in doc/solaris9.patch as a base. It fixes the worst
466 problems with "wcwidth" and a compile problem.
467
468 How can I use rxvt-unicode under cygwin?
469 rxvt-unicode should compile and run out of the box on cygwin, using
470 the X11 libraries that come with cygwin. libW11 emulation is no
471 longer supported (and makes no sense, either, as it only supported a
472 single font). I recommend starting the X-server in "-multiwindow" or
473 "-rootless" mode instead, which will result in similar look&feel as
474 the old libW11 emulation.
475
476 At the time of this writing, cygwin didn't seem to support any
477 multi-byte encodings (you might try "LC_CTYPE=C-UTF-8"), so you are
478 likely limited to 8-bit encodings.
322 479
323 How does rxvt-unicode determine the encoding to use? 480 How does rxvt-unicode determine the encoding to use?
324 Is there an option to switch encodings? 481 Is there an option to switch encodings?
325 Unlike some other terminals, rxvt-unicode has no encoding switch, 482 Unlike some other terminals, rxvt-unicode has no encoding switch,
326 and no specific "utf-8" mode, such as xterm. In fact, it doesn't 483 and no specific "utf-8" mode, such as xterm. In fact, it doesn't
409 Now you can start your terminal with "LC_CTYPE=ja_JP.UTF-8" and 566 Now you can start your terminal with "LC_CTYPE=ja_JP.UTF-8" and
410 still use your input method. Please note, however, that you will not 567 still use your input method. Please note, however, that you will not
411 be able to input characters outside "EUC-JP" in a normal way then, 568 be able to input characters outside "EUC-JP" in a normal way then,
412 as your input method limits you. 569 as your input method limits you.
413 570
571 Rxvt-unicode crashes when the X Input Method changes or exits.
572 Unfortunately, this is unavoidable, as the XIM protocol is racy by
573 design. Applications can avoid some crashes at the expense of memory
574 leaks, and Input Methods can avoid some crashes by careful ordering
575 at exit time. kinput2 (and derived input methods) generally
576 succeeds, while SCIM (or similar input methods) fails. In the end,
577 however, crashes cannot be completely avoided even if both sides
578 cooperate.
579
580 So the only workaround is not to kill your Input Method Servers.
581
414 Rxvt-unicode uses gobs of memory, how can I reduce that? 582 Rxvt-unicode uses gobs of memory, how can I reduce that?
415 Rxvt-unicode tries to obey the rule of not charging you for 583 Rxvt-unicode tries to obey the rule of not charging you for
416 something you don't use. One thing you should try is to configure 584 something you don't use. One thing you should try is to configure
417 out all settings that you don't need, for example, Xft support is a 585 out all settings that you don't need, for example, Xft support is a
418 resource hog by design, when used. Compiling it out ensures that no 586 resource hog by design, when used. Compiling it out ensures that no
427 it gets worse, as rxvt-unicode then uses 8 bytes per screen cell. 595 it gets worse, as rxvt-unicode then uses 8 bytes per screen cell.
428 596
429 Can I speed up Xft rendering somehow? 597 Can I speed up Xft rendering somehow?
430 Yes, the most obvious way to speed it up is to avoid Xft entirely, 598 Yes, the most obvious way to speed it up is to avoid Xft entirely,
431 as it is simply slow. If you still want Xft fonts you might try to 599 as it is simply slow. If you still want Xft fonts you might try to
432 disable antialiasing (by appending ":antialiasing=false"), which 600 disable antialiasing (by appending ":antialias=false"), which saves
433 saves lots of memory and also speeds up rendering considerably. 601 lots of memory and also speeds up rendering considerably.
434 602
435 Rxvt-unicode doesn't seem to anti-alias its fonts, what is wrong? 603 Rxvt-unicode doesn't seem to anti-alias its fonts, what is wrong?
436 Rxvt-unicode will use whatever you specify as a font. If it needs to 604 Rxvt-unicode will use whatever you specify as a font. If it needs to
437 fall back to it's default font search list it will prefer X11 core 605 fall back to it's default font search list it will prefer X11 core
438 fonts, because they are small and fast, and then use Xft fonts. It 606 fonts, because they are small and fast, and then use Xft fonts. It
510 URxvt.color14: #73f7ff 678 URxvt.color14: #73f7ff
511 URxvt.color7: #e1dddd 679 URxvt.color7: #e1dddd
512 URxvt.color15: #e1dddd 680 URxvt.color15: #e1dddd
513 681
514 How can I start rxvtd in a race-free way? 682 How can I start rxvtd in a race-free way?
515 Despite it's name, rxvtd is not a real daemon, but more like a 683 Try "rxvtd -f -o", which tells rxvtd to open the display, create the
516 server that answers rxvtc's requests, so it doesn't background 684 listening socket and then fork.
517 itself.
518
519 To ensure rxvtd is listening on it's socket, you can use the
520 following method to wait for the startup message before continuing:
521
522 { rxvtd & } | read
523 685
524 What's with the strange Backspace/Delete key behaviour? 686 What's with the strange Backspace/Delete key behaviour?
525 Assuming that the physical Backspace key corresponds to the 687 Assuming that the physical Backspace key corresponds to the
526 BackSpace keysym (not likely for Linux ... see the following 688 BackSpace keysym (not likely for Linux ... see the following
527 question) there are two standard values that can be used for 689 question) there are two standard values that can be used for
1110 1272
1111 "Ps = 1011" (rxvt) 1273 "Ps = 1011" (rxvt)
1112 h Scroll to bottom when a key is pressed 1274 h Scroll to bottom when a key is pressed
1113 l Don't scroll to bottom when a key is pressed 1275 l Don't scroll to bottom when a key is pressed
1114 1276
1277 "Ps = 1021" (rxvt)
1278 h Bold/italic implies high intensity (see option -is)
1279 l Font styles have no effect on intensity (Compile styles)
1280
1115 "Ps = 1047" 1281 "Ps = 1047"
1116 h Use Alternate Screen Buffer 1282 h Use Alternate Screen Buffer
1117 l Use Normal Screen Buffer - clear Alternate Screen Buffer if returning from it 1283 l Use Normal Screen Buffer - clear Alternate Screen Buffer if returning from it
1118 1284
1119 "Ps = 1048" 1285 "Ps = 1048"
1144 Ps = 13 Change colour of mouse foreground to Pt 1310 Ps = 13 Change colour of mouse foreground to Pt
1145 Ps = 17 Change colour of highlight characters to Pt 1311 Ps = 17 Change colour of highlight characters to Pt
1146 Ps = 18 Change colour of bold characters to Pt 1312 Ps = 18 Change colour of bold characters to Pt
1147 Ps = 19 Change colour of underlined characters to Pt 1313 Ps = 19 Change colour of underlined characters to Pt
1148 Ps = 20 Change default background to Pt 1314 Ps = 20 Change default background to Pt
1149 Ps = 39 Change default foreground colour to Pt rxvt compile-time option 1315 Ps = 39 Change default foreground colour to Pt.
1150 Ps = 46 Change Log File to Pt unimplemented 1316 Ps = 46 Change Log File to Pt unimplemented
1151 Ps = 49 Change default background colour to Pt rxvt compile-time option 1317 Ps = 49 Change default background colour to Pt.
1152 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 1318 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
1153 Ps = 55 Log all scrollback buffer and all of screen to Pt 1319 Ps = 55 Log all scrollback buffer and all of screen to Pt
1154 Ps = 701 Change current locale to Pt, or, if Pt is ?, return the current locale (rxvt extension) 1320 Ps = 701 Change current locale to Pt, or, if Pt is ?, return the current locale (Compile frills).
1155 Ps = 703 Menubar command Pt rxvt compile-time option (rxvt-unicode extension) 1321 Ps = 703 Menubar command Pt (Compile menubar).
1156 Ps = 704 Change colour of italic characters to Pt 1322 Ps = 704 Change colour of italic characters to Pt
1157 Ps = 705 Change background pixmap tint colour to Pt 1323 Ps = 705 Change background pixmap tint colour to Pt (Compile transparency).
1158 Ps = 710 Set normal fontset to Pt. Same as Ps = 50. 1324 Ps = 710 Set normal fontset to Pt. Same as Ps = 50.
1159 Ps = 711 Set bold fontset to Pt. Similar to Ps = 50. 1325 Ps = 711 Set bold fontset to Pt. Similar to Ps = 50 (Compile styles).
1160 Ps = 712 Set italic fontset to Pt. Similar to Ps = 50. 1326 Ps = 712 Set italic fontset to Pt. Similar to Ps = 50 (Compile styles).
1161 Ps = 713 Set bold-italic fontset to Pt. Similar to Ps = 50. 1327 Ps = 713 Set bold-italic fontset to Pt. Similar to Ps = 50 (Compile styles).
1328 Ps = 720 Move viewing window up by Pt lines, or clear scrollback buffer if Pt = 0 (Compile frills).
1329 Ps = 721 Move viewing window down by Pt lines, or clear scrollback buffer if Pt = 0 (Compile frills).
1330 Ps = 777 Call the perl extension with the given string, which should be of the form extension:parameters (Compile perl).
1162 1331
1163 1332
1164 1333
1165menuBar 1334menuBar
1166 The exact syntax used is *almost* solidified. In the menus, DON'T try to 1335 The exact syntax used is *almost* solidified. In the menus, DON'T try to
1203 [menu] 1372 [menu]
1204 access the current menuBar for alteration 1373 access the current menuBar for alteration
1205 1374
1206 [title:+*string*] 1375 [title:+*string*]
1207 set the current menuBar's title to *string*, which may contain the 1376 set the current menuBar's title to *string*, which may contain the
1208 following format specifiers: %% : literal % character %n : rxvt name 1377 following format specifiers:
1209 (as per the -name command-line option) %v : rxvt version 1378
1379 B<%n> rxvt name (as per the B<-name> command-line option)
1380 B<%v> rxvt version
1381 B<%%> literal B<%> character
1210 1382
1211 [done] 1383 [done]
1212 set menuBar access as readonly. End-of-file tag for [read:+*file*] 1384 set menuBar access as readonly. End-of-file tag for [read:+*file*]
1213 operations. 1385 operations.
1214 1386
1628 XK_KP_8 8 ESC O x 1800 XK_KP_8 8 ESC O x
1629 XK_KP_9 9 ESC O y 1801 XK_KP_9 9 ESC O y
1630 1802
1631CONFIGURE OPTIONS 1803CONFIGURE OPTIONS
1632 General hint: if you get compile errors, then likely your configuration 1804 General hint: if you get compile errors, then likely your configuration
1633 hasn't been tested well. Either try with --enable-everything or use the 1805 hasn't been tested well. Either try with "--enable-everything" or use
1634 ./reconf script as a base for experiments. ./reconf is used by myself, 1806 the ./reconf script as a base for experiments. ./reconf is used by
1635 so it should generally be a working config. Of course, you should always 1807 myself, so it should generally be a working config. Of course, you
1636 report when a combination doesn't work, so it can be fixed. Marc Lehmann 1808 should always report when a combination doesn't work, so it can be
1637 <rxvt@schmorp.de>. 1809 fixed. Marc Lehmann <rxvt@schmorp.de>.
1810
1811 All
1638 1812
1639 --enable-everything 1813 --enable-everything
1640 Add support for all non-multichoice options listed in "./configure 1814 Add (or remove) support for all non-multichoice options listed in
1641 --help". Note that unlike other enable options this is order 1815 "./configure --help".
1642 dependant. You can specify this and then disable options which this
1643 enables by *following* this with the appropriate commands.
1644 1816
1645 --enable-xft 1817 You can specify this and then disable options you do not like by
1818 *following* this with the appropriate "--disable-..." arguments, or
1819 you can start with a minimal configuration by specifying
1820 "--disable-everything" and than adding just the "--enable-..."
1821 arguments you want.
1822
1823 --enable-xft (default: enabled)
1646 Add support for Xft (anti-aliases, among others) fonts. Xft fonts 1824 Add support for Xft (anti-aliases, among others) fonts. Xft fonts
1647 are slower and require lots of memory, but as long as you don't use 1825 are slower and require lots of memory, but as long as you don't use
1648 them, you don't pay for them. 1826 them, you don't pay for them.
1649 1827
1650 --enable-font-styles 1828 --enable-font-styles (default: on)
1651 Add support for bold, *italic* and *bold italic* font styles. The 1829 Add support for bold, *italic* and *bold italic* font styles. The
1652 fonts can be set manually or automatically. 1830 fonts can be set manually or automatically.
1653 1831
1654 --with-codesets=NAME,... 1832 --with-codesets=NAME,... (default: all)
1655 Compile in support for additional codeset (encoding) groups (eu, vn 1833 Compile in support for additional codeset (encoding) groups ("eu",
1656 are always compiled in, which includes most 8-bit character sets). 1834 "vn" are always compiled in, which includes most 8-bit character
1657 These codeset tables are currently only used for driving X11 core 1835 sets). These codeset tables are used for driving X11 core fonts,
1658 fonts, they are not required for Xft fonts. Compiling them in will 1836 they are not required for Xft fonts, although having them compiled
1659 make your binary bigger (together about 700kB), but it doesn't 1837 in lets rxvt-unicode choose replacement fonts more intelligently.
1660 increase memory usage unless you use an X11 font requiring one of 1838 Compiling them in will make your binary bigger (all of together cost
1661 these encodings. 1839 about 700kB), but it doesn't increase memory usage unless you use a
1840 font requiring one of these encodings.
1662 1841
1663 all all available codeset groups 1842 all all available codeset groups
1664 zh common chinese encodings 1843 zh common chinese encodings
1665 zh_ext rarely used but very big chinese encodigs 1844 zh_ext rarely used but very big chinese encodigs
1666 jp common japanese encodings 1845 jp common japanese encodings
1667 jp_ext rarely used but big japanese encodings 1846 jp_ext rarely used but big japanese encodings
1668 kr korean encodings 1847 kr korean encodings
1669 1848
1670 --enable-xim 1849 --enable-xim (default: on)
1671 Add support for XIM (X Input Method) protocol. This allows using 1850 Add support for XIM (X Input Method) protocol. This allows using
1672 alternative input methods (e.g. kinput2) and will also correctly set 1851 alternative input methods (e.g. kinput2) and will also correctly set
1673 up the input for people using dead keys or compose keys. 1852 up the input for people using dead keys or compose keys.
1674 1853
1675 --enable-unicode3 1854 --enable-unicode3 (default: off)
1676 Enable direct support for displaying unicode codepoints above 65535 1855 Enable direct support for displaying unicode codepoints above 65535
1677 (the basic multilingual page). This increases storage requirements 1856 (the basic multilingual page). This increases storage requirements
1678 per character from 2 to 4 bytes. X11 fonts do not yet support these 1857 per character from 2 to 4 bytes. X11 fonts do not yet support these
1679 extra characters, but Xft does. 1858 extra characters, but Xft does.
1680 1859
1682 even without this flag, but the number of such characters is limited 1861 even without this flag, but the number of such characters is limited
1683 to a view thousand (shared with combining characters, see next 1862 to a view thousand (shared with combining characters, see next
1684 switch), and right now rxvt-unicode cannot display them 1863 switch), and right now rxvt-unicode cannot display them
1685 (input/output and cut&paste still work, though). 1864 (input/output and cut&paste still work, though).
1686 1865
1687 --enable-combining 1866 --enable-combining (default: on)
1688 Enable automatic composition of combining characters into composite 1867 Enable automatic composition of combining characters into composite
1689 characters. This is required for proper viewing of text where 1868 characters. This is required for proper viewing of text where
1690 accents are encoded as seperate unicode characters. This is done by 1869 accents are encoded as seperate unicode characters. This is done by
1691 using precomposited characters when available or creating new 1870 using precomposited characters when available or creating new
1692 pseudo-characters when no precomposed form exists. 1871 pseudo-characters when no precomposed form exists.
1693 1872
1694 Without --enable-unicode3, the number of additional precomposed 1873 Without --enable-unicode3, the number of additional precomposed
1695 characters is rather limited (2048, if this is full, rxvt will use 1874 characters is rather limited (2048, if this is full, rxvt-unicode
1696 the private use area, extending the number of combinations to 8448). 1875 will use the private use area, extending the number of combinations
1697 With --enable-unicode3, no practical limit exists. This will also 1876 to 8448). With --enable-unicode3, no practical limit exists.
1698 enable storage of characters >65535. 1877
1878 This option will also enable storage (but not display) of characters
1879 beyond plane 0 (>65535) when --enable-unicode3 was not specified.
1699 1880
1700 The combining table also contains entries for arabic presentation 1881 The combining table also contains entries for arabic presentation
1701 forms, but these are not currently used. Bug me if you want these to 1882 forms, but these are not currently used. Bug me if you want these to
1702 be used. 1883 be used (and tell me how these are to be used...).
1703 1884
1704 --enable-fallback(=CLASS) 1885 --enable-fallback(=CLASS) (default: Rxvt)
1705 When reading resource settings, also read settings for class CLASS 1886 When reading resource settings, also read settings for class CLASS.
1706 (default: Rxvt). To disable resource fallback use 1887 To disable resource fallback use --disable-fallback.
1707 --disable-fallback.
1708 1888
1709 --with-res-name=NAME 1889 --with-res-name=NAME (default: urxvt)
1710 Use the given name (default: urxvt) as default application name when 1890 Use the given name as default application name when reading
1711 reading resources. Specify --with-res-name=rxvt to replace rxvt. 1891 resources. Specify --with-res-name=rxvt to replace rxvt.
1712 1892
1713 --with-res-class=CLASS 1893 --with-res-class=CLASS /default: URxvt)
1714 Use the given class (default: URxvt) as default application class 1894 Use the given class as default application class when reading
1715 when reading resources. Specify --with-res-class=Rxvt to replace 1895 resources. Specify --with-res-class=Rxvt to replace rxvt.
1716 rxvt.
1717 1896
1718 --enable-utmp 1897 --enable-utmp (default: on)
1719 Write user and tty to utmp file (used by programs like w) at start 1898 Write user and tty to utmp file (used by programs like w) at start
1720 of rxvt execution and delete information when rxvt exits. 1899 of rxvt execution and delete information when rxvt exits.
1721 1900
1722 --enable-wtmp 1901 --enable-wtmp (default: on)
1723 Write user and tty to wtmp file (used by programs like last) at 1902 Write user and tty to wtmp file (used by programs like last) at
1724 start of rxvt execution and write logout when rxvt exits. This 1903 start of rxvt execution and write logout when rxvt exits. This
1725 option requires --enable-utmp to also be specified. 1904 option requires --enable-utmp to also be specified.
1726 1905
1727 --enable-lastlog 1906 --enable-lastlog (default: on)
1728 Write user and tty to lastlog file (used by programs like lastlogin) 1907 Write user and tty to lastlog file (used by programs like lastlogin)
1729 at start of rxvt execution. This option requires --enable-utmp to 1908 at start of rxvt execution. This option requires --enable-utmp to
1730 also be specified. 1909 also be specified.
1731 1910
1732 --enable-xpm-background 1911 --enable-xpm-background (default: on)
1733 Add support for XPM background pixmaps. 1912 Add support for XPM background pixmaps.
1734 1913
1735 --enable-transparency 1914 --enable-transparency (default: on)
1736 Add support for inheriting parent backgrounds thus giving a fake 1915 Add support for inheriting parent backgrounds thus giving a fake
1737 transparency to the term. 1916 transparency to the term.
1738 1917
1739 --enable-fading 1918 --enable-fading (default: on)
1740 Add support for fading the text when focus is lost. 1919 Add support for fading the text when focus is lost (requires
1920 "--enable-transparency").
1741 1921
1742 --enable-tinting 1922 --enable-tinting (default: on)
1743 Add support for tinting of transparent backgrounds. 1923 Add support for tinting of transparent backgrounds (requires
1924 "--enable-transparency").
1744 1925
1745 --enable-menubar 1926 --enable-menubar (default: off) [DEPRECATED]
1746 Add support for our menu bar system (this interacts badly with 1927 Add support for our menu bar system (this interacts badly with
1747 dynamic locale switching currently). 1928 dynamic locale switching currently). This option is DEPRECATED and
1929 will be removed in the future.
1748 1930
1749 --enable-rxvt-scroll 1931 --enable-rxvt-scroll (default: on)
1750 Add support for the original rxvt scrollbar. 1932 Add support for the original rxvt scrollbar.
1751 1933
1752 --enable-next-scroll 1934 --enable-next-scroll (default: on)
1753 Add support for a NeXT-like scrollbar. 1935 Add support for a NeXT-like scrollbar.
1754 1936
1755 --enable-xterm-scroll 1937 --enable-xterm-scroll (default: on)
1756 Add support for an Xterm-like scrollbar. 1938 Add support for an Xterm-like scrollbar.
1757 1939
1758 --enable-plain-scroll 1940 --enable-plain-scroll (default: on)
1759 Add support for a very unobtrusive, plain-looking scrollbar that is 1941 Add support for a very unobtrusive, plain-looking scrollbar that is
1760 the favourite of the rxvt-unicode author, having used it for many 1942 the favourite of the rxvt-unicode author, having used it for many
1761 years. 1943 years.
1762 1944
1763 --enable-half-shadow 1945 --enable-half-shadow (default: off)
1764 Make shadows on the scrollbar only half the normal width & height. 1946 Make shadows on the scrollbar only half the normal width & height.
1765 only applicable to rxvt scrollbars. 1947 only applicable to rxvt scrollbars.
1766 1948
1767 --enable-ttygid 1949 --enable-ttygid (default: off)
1768 Change tty device setting to group "tty" - only use this if your 1950 Change tty device setting to group "tty" - only use this if your
1769 system uses this type of security. 1951 system uses this type of security.
1770 1952
1771 --disable-backspace-key 1953 --disable-backspace-key
1772 Disable any handling of the backspace key by us - let the X server 1954 Removes any handling of the backspace key by us - let the X server
1773 do it. 1955 do it.
1774 1956
1775 --disable-delete-key 1957 --disable-delete-key
1776 Disable any handling of the delete key by us - let the X server do 1958 Removes any handling of the delete key by us - let the X server do
1777 it. 1959 it.
1778 1960
1779 --disable-resources 1961 --disable-resources
1780 Remove all resources checking. 1962 Removes any support for resource checking.
1781 1963
1782 --enable-xgetdefault 1964 --enable-xgetdefault
1783 Make resources checking via XGetDefault() instead of our small 1965 Make resources checking via XGetDefault() instead of our small
1784 version which only checks ~/.Xdefaults, or if that doesn't exist 1966 version which only checks ~/.Xdefaults, or if that doesn't exist
1785 then ~/.Xresources. 1967 then ~/.Xresources.
1786 1968
1787 Please note that nowadays, things like XIM will automatically pull 1969 Please note that nowadays, things like XIM will automatically pull
1788 in and use the full X resource manager, so the overhead of using it 1970 in and use the full X resource manager, so the overhead of using it
1789 might be very small, if nonexistant. 1971 might be very small, if nonexistant.
1790 1972
1791 --enable-strings 1973 --enable-strings (default: off)
1792 Add support for our possibly faster memset() function and other 1974 Add support for our possibly faster memset() function and other
1793 various routines, overriding your system's versions which may have 1975 various routines, overriding your system's versions which may have
1794 been hand-crafted in assembly or may require extra libraries to link 1976 been hand-crafted in assembly or may require extra libraries to link
1795 in. (this breaks ANSI-C rules and has problems on many GNU/Linux 1977 in. (this breaks ANSI-C rules and has problems on many GNU/Linux
1796 systems). 1978 systems).
1797 1979
1798 --disable-swapscreen 1980 --disable-swapscreen
1799 Remove support for swap screen. 1981 Remove support for secondary/swap screen.
1800 1982
1801 --enable-frills 1983 --enable-frills (default: on)
1802 Add support for many small features that are not essential but nice 1984 Add support for many small features that are not essential but nice
1803 to have. Normally you want this, but for very small binaries you may 1985 to have. Normally you want this, but for very small binaries you may
1804 want to disable this. 1986 want to disable this.
1805 1987
1806 A non-exhaustive list of features enabled by "--enable-frills" 1988 A non-exhaustive list of features enabled by "--enable-frills"
1807 (possibly in combination with other switches) is: 1989 (possibly in combination with other switches) is:
1808 1990
1809 MWM-hints 1991 MWM-hints
1992 EWMH-hints (pid, utf8 names) and protocols (ping)
1810 seperate underline colour 1993 seperate underline colour (-underlineColor)
1811 settable border widths and borderless switch 1994 settable border widths and borderless switch (-w, -b, -bl)
1812 settable extra linespacing 1995 settable extra linespacing /-lsp)
1813 extra window properties (e.g. UTF-8 window names and PID)
1814 iso-14755-2 and -3, and visual feedback 1996 iso-14755-2 and -3, and visual feedback
1815 backindex and forwardindex escape sequence 1997 backindex and forwardindex escape sequence
1816 window op and locale change escape sequences 1998 window op and some xterm/OSC escape sequences
1817 tripleclickwords 1999 tripleclickwords (-tcw)
1818 settable insecure mode 2000 settable insecure mode (-insecure)
1819 keysym remapping support 2001 keysym remapping support
2002 cursor blinking and underline cursor (-cb, -uc)
2003 XEmbed support (-embed)
2004 user-pty (-pty-fd)
2005 hold on exit (-hold)
2006 skip builtin block graphics (-sbg)
2007 sgr modes 90..97 and 100..107
1820 2008
1821 --enable-iso14755 2009 --enable-iso14755 (default: on)
1822 Enable extended ISO 14755 support (see rxvt(1), or doc/rxvt.1.txt). 2010 Enable extended ISO 14755 support (see rxvt(1), or doc/rxvt.1.txt).
1823 Basic support (section 5.1) is enabled by "--enable-frills", while 2011 Basic support (section 5.1) is enabled by "--enable-frills", while
1824 support for 5.2, 5.3 and 5.4 is enabled with this switch. 2012 support for 5.2, 5.3 and 5.4 is enabled with this switch.
1825 2013
1826 --enable-keepscrolling 2014 --enable-keepscrolling (default: on)
1827 Add support for continual scrolling of the display when you hold the 2015 Add support for continual scrolling of the display when you hold the
1828 mouse button down on a scrollbar arrow. 2016 mouse button down on a scrollbar arrow.
1829 2017
1830 --enable-mousewheel 2018 --enable-mousewheel (default: on)
1831 Add support for scrolling via mouse wheel or buttons 4 & 5. 2019 Add support for scrolling via mouse wheel or buttons 4 & 5.
1832 2020
1833 --enable-slipwheeling 2021 --enable-slipwheeling (default: on)
1834 Add support for continual scrolling (using the mouse wheel as an 2022 Add support for continual scrolling (using the mouse wheel as an
1835 accelerator) while the control key is held down. This option 2023 accelerator) while the control key is held down. This option
1836 requires --enable-mousewheel to also be specified. 2024 requires --enable-mousewheel to also be specified.
1837 2025
1838 --disable-new-selection 2026 --disable-new-selection
1839 Remove support for mouse selection style like that of xterm. 2027 Remove support for mouse selection style like that of xterm.
1840 2028
1841 --enable-dmalloc 2029 --enable-dmalloc (default: off)
1842 Use Gray Watson's malloc - which is good for debugging See 2030 Use Gray Watson's malloc - which is good for debugging See
1843 http://www.letters.com/dmalloc/ for details If you use either this 2031 http://www.letters.com/dmalloc/ for details If you use either this
1844 or the next option, you may need to edit src/Makefile after 2032 or the next option, you may need to edit src/Makefile after
1845 compiling to point DINCLUDE and DLIB to the right places. 2033 compiling to point DINCLUDE and DLIB to the right places.
1846 2034
1847 You can only use either this option and the following (should you 2035 You can only use either this option and the following (should you
1848 use either) . 2036 use either) .
1849 2037
1850 --enable-dlmalloc 2038 --enable-dlmalloc (default: off)
1851 Use Doug Lea's malloc - which is good for a production version See 2039 Use Doug Lea's malloc - which is good for a production version See
1852 <http://g.oswego.edu/dl/html/malloc.html> for details. 2040 <http://g.oswego.edu/dl/html/malloc.html> for details.
1853 2041
1854 --enable-smart-resize 2042 --enable-smart-resize (default: on)
1855 Add smart growth/shrink behaviour when changing font size via from 2043 Add smart growth/shrink behaviour when changing font size via hot
1856 hot keys. This should keep in a fixed position the rxvt corner which 2044 keys. This should keep the window corner which is closest to a
1857 is closest to a corner of the screen. 2045 corner of the screen in a fixed position.
1858 2046
1859 --enable-cursor-blink
1860 Add support for a blinking cursor.
1861
1862 --enable-pointer-blank 2047 --enable-pointer-blank (default: on)
1863 Add support to have the pointer disappear when typing or inactive. 2048 Add support to have the pointer disappear when typing or inactive.
1864 2049
1865 --with-name=NAME 2050 --enable-perl (default: off)
2051 Enable an embedded perl interpreter. See the rxvtperl(3) manpage
2052 (doc/rxvtperl.txt) for more info on this feature, or the files in
2053 src/perl-ext/ for the extensions that are installed by default. The
2054 perl interpreter that is used can be specified via the "PERL"
2055 environment variable when running configure.
2056
2057 --with-name=NAME (default: urxvt)
1866 Set the basename for the installed binaries (default: "urxvt", 2058 Set the basename for the installed binaries, resulting in "urxvt",
1867 resulting in "urxvt", "urxvtd" etc.). Specify "--with-name=rxvt" to 2059 "urxvtd" etc.). Specify "--with-name=rxvt" to replace with "rxvt".
1868 replace with "rxvt".
1869 2060
1870 --with-term=NAME 2061 --with-term=NAME (default: rxvt-unicode)
1871 Change the environmental variable for the terminal to NAME (default 2062 Change the environmental variable for the terminal to NAME.
1872 "rxvt-unicode")
1873 2063
1874 --with-terminfo=PATH 2064 --with-terminfo=PATH
1875 Change the environmental variable for the path to the terminfo tree 2065 Change the environmental variable for the path to the terminfo tree
1876 to PATH. 2066 to PATH.
1877 2067

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines