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

Comparing rxvt-unicode/doc/rxvt.7.pod (file contents):
Revision 1.47 by root, Mon Feb 14 10:48:44 2005 UTC vs.
Revision 1.75 by root, Wed Jan 11 05:29:40 2006 UTC

24 24
25=head1 FREQUENTLY ASKED QUESTIONS 25=head1 FREQUENTLY ASKED QUESTIONS
26 26
27=over 4 27=over 4
28 28
29=item Isn't rxvt supposed to be small? Don't all those features bloat?
30
31I often get asked about this, and I think, no, they didn't cause extra
32bloat. If you compare a minimal rxvt and a minimal urxvt, you can see
33that the urxvt binary is larger (due to some encoding tables always being
34compiled in), but it actually uses less memory (RSS) after startup. Even
35with C<--disable-everything>, this comparison is a bit unfair, as many
36features unique to urxvt (locale, encoding conversion, iso14755 etc.) are
37already in use in this mode.
38
39 text data bss drs rss filename
40 98398 1664 24 15695 1824 rxvt --disable-everything
41 188985 9048 66616 18222 1788 urxvt --disable-everything
42
43When you C<--enable-everything> (which _is_ unfair, as this involves xft
44and full locale/XIM support which are quite bloaty inside libX11 and my
45libc), the two diverge, but not unreasnobaly so.
46
47 text data bss drs rss filename
48 163431 2152 24 20123 2060 rxvt --enable-everything
49 1035683 49680 66648 29096 3680 urxvt --enable-everything
50
51The very large size of the text section is explained by the east-asian
52encoding tables, which, if unused, take up disk space but nothing else
53and can be compiled out unless you rely on X11 core fonts that use those
54encodings. The BSS size comes from the 64k emergency buffer that my c++
55compiler allocates (but of course doesn't use unless you are out of
56memory). Also, using an xft font instead of a core font immediately adds a
57few megabytes of RSS. Xft indeed is responsible for a lot of RSS even when
58not used.
59
60Of course, due to every character using two or four bytes instead of one,
61a large scrollback buffer will ultimately make rxvt-unicode use more
62memory.
63
64Compared to e.g. Eterm (5112k), aterm (3132k) and xterm (4680k), this
65still fares rather well. And compared to some monsters like gnome-terminal
66(21152k + extra 4204k in separate processes) or konsole (22200k + extra
6743180k in daemons that stay around after exit, plus half a minute of
68startup time, including the hundreds of warnings it spits out), it fares
69extremely well *g*.
70
71=item Why C++, isn't that unportable/bloated/uncool?
72
73Is this a question? :) It comes up very often. The simple answer is: I had
74to write it, and C++ allowed me to write and maintain it in a fraction
75of the time and effort (which is a scarce resource for me). Put even
76shorter: It simply wouldn't exist without C++.
77
78My personal stance on this is that C++ is less portable than C, but in
79the case of rxvt-unicode this hardly matters, as its portability limits
80are defined by things like X11, pseudo terminals, locale support and unix
81domain sockets, which are all less portable than C++ itself.
82
83Regarding the bloat, see the above question: It's easy to write programs
84in C that use gobs of memory, an certainly possible to write programs in
85C++ that don't. C++ also often comes with large libraries, but this is
86not necessarily the case with GCC. Here is what rxvt links against on my
87system with a minimal config:
88
89 libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00002aaaaabc3000)
90 libc.so.6 => /lib/libc.so.6 (0x00002aaaaadde000)
91 libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab01d000)
92 /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000)
93
94And here is rxvt-unicode:
95
96 libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00002aaaaabc3000)
97 libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00002aaaaada2000)
98 libc.so.6 => /lib/libc.so.6 (0x00002aaaaaeb0000)
99 libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab0ee000)
100 /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000)
101
102No large bloated libraries (of course, none were linked in statically),
103except maybe libX11 :)
104
105=item Does it support tabs, can I have a tabbed rxvt-unicode?
106
107rxvt-unicode does not directly support tabs. It will work fine with
108tabbing functionality of many window managers or similar tabbing programs,
109and its embedding-features allow it to be embedded into other programs,
110as witnessed by F<doc/rxvt-tabbed> or the upcoming C<Gtk2::URxvt> perl
111module, which features a tabbed urxvt (murxvt) terminal as an example
112embedding application.
113
29=item How do I know which rxvt-unicode version I'm using? 114=item How do I know which rxvt-unicode version I'm using?
30 115
31The version number is displayed with the usage (-h). Also the escape 116The version number is displayed with the usage (-h). Also the escape
32sequence C<ESC [ 8 n> sets the window title to the version number. 117sequence C<ESC [ 8 n> sets the window title to the version number. When
118using the @@RXVT_NAME@@c client, the version displayed is that of the
119daemon.
33 120
34=item I am using Debian GNU/Linux and have a problem... 121=item I am using Debian GNU/Linux and have a problem...
35 122
36The Debian GNU/Linux package of rxvt-unicode contains large patches that 123The Debian GNU/Linux package of rxvt-unicode in sarge contains large
37considerably change the behaviour of rxvt-unicode. Before reporting a 124patches that considerably change the behaviour of rxvt-unicode. Before
38bug to the original rxvt-unicode author please download and install the 125reporting a bug to the original rxvt-unicode author please download and
39genuine version (L<http://software.schmorp.de#rxvt-unicode>) and try to 126install the genuine version (L<http://software.schmorp.de#rxvt-unicode>)
40reproduce the problem. If you cannot, chances are that the problems are 127and try to reproduce the problem. If you cannot, chances are that the
41specific to Debian GNU/Linux, in which case it should be reported via the 128problems are specific to Debian GNU/Linux, in which case it should be
42Debian Bug Tracking System (use C<reportbug> to report the bug). 129reported via the Debian Bug Tracking System (use C<reportbug> to report
130the bug).
43 131
44For other problems that also affect the Debian package, you can and 132For other problems that also affect the Debian package, you can and
45probably should use the Debian BTS, too, because, after all, it's also a 133probably should use the Debian BTS, too, because, after all, it's also a
46bug in the Debian version and it serves as a reminder for other users that 134bug in the Debian version and it serves as a reminder for other users that
47might encounter the same issue. 135might encounter the same issue.
136
137=item I am maintaining rxvt-unicode for distribution/OS XXX, any recommendation?
138
139You should build one binary with the default options. F<configure>
140now enables most useful options, and the trend goes to making them
141runtime-switchable, too, so there is usually no drawback to enbaling them,
142except higher disk and possibly memory usage. The perl interpreter should
143be enabled, as important functionality (menus, selection, likely more in
144the future) depends on it.
145
146You should not overwrite the C<perl-ext-common> snd C<perl-ext> resources
147system-wide (except maybe with C<defaults>). This will result in useful
148behaviour. If your distribution aims at low memory, add an empty
149C<perl-ext-common> resource to the app-defaults file. This will keep the
150perl interpreter disabled until the user enables it.
151
152If you can/want build more binaries, I recommend building a minimal
153one with C<--disable-everything> (very useful) and a maximal one with
154C<--enable-everything> (less useful, it will be very big due to a lot of
155encodings built-in that increase download times and are rarely used).
156
157=item I need to make it setuid/setgid to support utmp/ptys on my OS, is this safe?
158
159Likely not. While I honestly try to make it secure, and am probably
160not bad at it, I think it is simply unreasonable to expect all of
161freetype + fontconfig + xft + xlib + ... + rxvt-unicode itself to all be
162secure. Also, rxvt-unicode disables some options when it detects that it
163runs setuid or setgid, which is not nice.
164
165Elevated privileges are only required for utmp and pty operations on some
166systems (for example, GNU/Linux doesn't need any extra privileges for
167ptys, but some need it for utmp support). If rxvt-unicode doesn't support
168the library/setuid helper that your OS needs I'll be happy to assist you
169in implementing support for it.
170
171So, while setuid/setgid operation is supported and not a problem on your
172typical single-user-no-other-logins unix desktop, always remember that
173its an awful lot of code, most of which isn't checked for security issues
174regularly.
48 175
49=item When I log-in to another system it tells me about missing terminfo data? 176=item When I log-in to another system it tells me about missing terminfo data?
50 177
51The terminal description used by rxvt-unicode is not as widely available 178The terminal description used by rxvt-unicode is not as widely available
52as that for xterm, or even rxvt (for which the same problem often arises). 179as that for xterm, or even rxvt (for which the same problem often arises).
72 URxvt.termName: rxvt 199 URxvt.termName: rxvt
73 200
74If you don't plan to use B<rxvt> (quite common...) you could also replace 201If you don't plan to use B<rxvt> (quite common...) you could also replace
75the rxvt terminfo file with the rxvt-unicode one. 202the rxvt terminfo file with the rxvt-unicode one.
76 203
204=item C<tic> outputs some error when compiling the terminfo entry.
205
206Most likely it's the empty definition for C<enacs=>. Just replace it by
207C<enacs=\E[0@> and try again.
208
77=item C<bash>'s readline does not work correctly under @@RXVT_NAME@@. 209=item C<bash>'s readline does not work correctly under @@RXVT_NAME@@.
78 210
79=item I need a termcap file entry. 211=item I need a termcap file entry.
80 212
81One reason you might want this is that some distributions or operating 213One reason you might want this is that some distributions or operating
94 rxvt-unicode|rxvt-unicode terminal (X Window System):\ 226 rxvt-unicode|rxvt-unicode terminal (X Window System):\
95 :am:bw:eo:km:mi:ms:xn:xo:\ 227 :am:bw:eo:km:mi:ms:xn:xo:\
96 :co#80:it#8:li#24:lm#0:\ 228 :co#80:it#8:li#24:lm#0:\
97 :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ 229 :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\
98 :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\ 230 :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\
99 :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ae=^O:al=\E[L:\ 231 :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ae=\E(B:al=\E[L:\
100 :as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:\ 232 :as=\E(0:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\
101 :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:\ 233 :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\
102 :ec=\E[%dX:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:ic=\E[@:\ 234 :dl=\E[M:do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:\
235 :i1=\E[?47l\E=\E[?1l:ic=\E[@:im=\E[4h:\
103 :im=\E[4h:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ 236 :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\
104 :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\ 237 :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\
105 :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:kD=\E[3~:\ 238 :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:kD=\E[3~:\
106 :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:\ 239 :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:\
107 :kh=\E[7~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ 240 :kh=\E[7~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\
108 :mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:rc=\E8:\ 241 :mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:rc=\E8:\
257might be forced to use a different font. 390might be forced to use a different font.
258 391
259All of this is not a problem when using X11 core fonts, as their bounding 392All of this is not a problem when using X11 core fonts, as their bounding
260box data is correct. 393box data is correct.
261 394
395=item On Solaris 9, many line-drawing characters are too wide.
396
397Seems to be a known bug, read
398L<http://nixdoc.net/files/forum/about34198.html>. Some people use the
399following ugly workaround to get non-double-wide-characters working:
400
401 #define wcwidth(x) wcwidth(x) > 1 ? 1 : wcwidth(x)
402
262=item My Compose (Multi_key) key is no longer working. 403=item My Compose (Multi_key) key is no longer working.
263 404
264The most common causes for this are that either your locale is not set 405The most common causes for this are that either your locale is not set
265correctly, or you specified a B<preeditStyle> that is not supported by 406correctly, or you specified a B<preeditStyle> that is not supported by
266your input method. For example, if you specified B<OverTheSpot> and 407your input method. For example, if you specified B<OverTheSpot> and
309 450
310As you might have guessed, FreeBSD does neither define this symobl nor 451As you might have guessed, FreeBSD does neither define this symobl nor
311does it support it. Instead, it uses it's own internal representation of 452does it support it. Instead, it uses it's own internal representation of
312B<wchar_t>. This is, of course, completely fine with respect to standards. 453B<wchar_t>. This is, of course, completely fine with respect to standards.
313 454
455However, that means rxvt-unicode only works in C<POSIX>, C<ISO-8859-1> and
456C<UTF-8> locales under FreeBSD (which all use Unicode as B<wchar_t>.
457
314However, C<__STDC_ISO_10646__> is the only sane way to support 458C<__STDC_ISO_10646__> is the only sane way to support multi-language
315multi-language apps in an OS, as using a locale-dependent (and 459apps in an OS, as using a locale-dependent (and non-standardized)
316non-standardized) representation of B<wchar_t> makes it impossible to 460representation of B<wchar_t> makes it impossible to convert between
317convert between B<wchar_t> (as used by X11 and your applications) and any 461B<wchar_t> (as used by X11 and your applications) and any other encoding
318other encoding without implementing OS-specific-wrappers for each and 462without implementing OS-specific-wrappers for each and every locale. There
319every locale. There simply are no APIs to convert B<wchar_t> into anything 463simply are no APIs to convert B<wchar_t> into anything except the current
320except the current locale encoding. 464locale encoding.
321 465
322Some applications (such as the formidable B<mlterm>) work around this 466Some applications (such as the formidable B<mlterm>) work around this
323by carrying their own replacement functions for character set handling 467by carrying their own replacement functions for character set handling
324with them, and either implementing OS-dependent hacks or doing multiple 468with them, and either implementing OS-dependent hacks or doing multiple
325conversions (which is slow and unreliable in case the OS implements 469conversions (which is slow and unreliable in case the OS implements
326encodings slightly different than the terminal emulator). 470encodings slightly different than the terminal emulator).
327 471
328The rxvt-unicode author insists that the right way to fix this is in the 472The rxvt-unicode author insists that the right way to fix this is in the
329system libraries once and for all, instead of forcing every app to carry 473system libraries once and for all, instead of forcing every app to carry
330complete replacements for them :) 474complete replacements for them :)
475
476=item I use Solaris 9 and it doesn't compile/work/etc.
477
478Try the diff in F<doc/solaris9.patch> as a base. It fixes the worst
479problems with C<wcwidth> and a compile problem.
480
481=item How can I use rxvt-unicode under cygwin?
482
483rxvt-unicode should compile and run out of the box on cygwin, using
484the X11 libraries that come with cygwin. libW11 emulation is no
485longer supported (and makes no sense, either, as it only supported a
486single font). I recommend starting the X-server in C<-multiwindow> or
487C<-rootless> mode instead, which will result in similar look&feel as the
488old libW11 emulation.
489
490At the time of this writing, cygwin didn't seem to support any multi-byte
491encodings (you might try C<LC_CTYPE=C-UTF-8>), so you are likely limited
492to 8-bit encodings.
331 493
332=item How does rxvt-unicode determine the encoding to use? 494=item How does rxvt-unicode determine the encoding to use?
333 495
334=item Is there an option to switch encodings? 496=item Is there an option to switch encodings?
335 497
451 613
452=item Can I speed up Xft rendering somehow? 614=item Can I speed up Xft rendering somehow?
453 615
454Yes, the most obvious way to speed it up is to avoid Xft entirely, as 616Yes, the most obvious way to speed it up is to avoid Xft entirely, as
455it is simply slow. If you still want Xft fonts you might try to disable 617it is simply slow. If you still want Xft fonts you might try to disable
456antialiasing (by appending C<:antialiasing=false>), which saves lots of 618antialiasing (by appending C<:antialias=false>), which saves lots of
457memory and also speeds up rendering considerably. 619memory and also speeds up rendering considerably.
458 620
459=item Rxvt-unicode doesn't seem to anti-alias its fonts, what is wrong? 621=item Rxvt-unicode doesn't seem to anti-alias its fonts, what is wrong?
460 622
461Rxvt-unicode will use whatever you specify as a font. If it needs to 623Rxvt-unicode will use whatever you specify as a font. If it needs to
539 URxvt.color7: #e1dddd 701 URxvt.color7: #e1dddd
540 URxvt.color15: #e1dddd 702 URxvt.color15: #e1dddd
541 703
542=item How can I start @@RXVT_NAME@@d in a race-free way? 704=item How can I start @@RXVT_NAME@@d in a race-free way?
543 705
544Despite it's name, @@RXVT_NAME@@d is not a real daemon, but more like a 706Try C<@@RXVT_NAME@@d -f -o>, which tells @@RXVT_NAME@@d to open the
545server that answers @@RXVT_NAME@@c's requests, so it doesn't background 707display, create the listening socket and then fork.
546itself.
547
548To ensure @@RXVT_NAME@@d is listening on it's socket, you can use the
549following method to wait for the startup message before continuing:
550
551 { @@RXVT_NAME@@d & } | read
552 708
553=item What's with the strange Backspace/Delete key behaviour? 709=item What's with the strange Backspace/Delete key behaviour?
554 710
555Assuming that the physical Backspace key corresponds to the 711Assuming that the physical Backspace key corresponds to the
556BackSpace keysym (not likely for Linux ... see the following 712BackSpace keysym (not likely for Linux ... see the following
1416 B<< C<h> >> Scroll to bottom when a key is pressed 1572 B<< C<h> >> Scroll to bottom when a key is pressed
1417 B<< C<l> >> Don't scroll to bottom when a key is pressed 1573 B<< C<l> >> Don't scroll to bottom when a key is pressed
1418 1574
1419=end table 1575=end table
1420 1576
1577=item B<< C<Ps = 1021> >> (B<rxvt>)
1578
1579=begin table
1580
1581 B<< C<h> >> Bold/italic implies high intensity (see option B<-is>)
1582 B<< C<l> >> Font styles have no effect on intensity (Compile styles)
1583
1584=end table
1585
1421=item B<< C<Ps = 1047> >> 1586=item B<< C<Ps = 1047> >>
1422 1587
1423=begin table 1588=begin table
1424 1589
1425 B<< C<h> >> Use Alternate Screen Buffer 1590 B<< C<h> >> Use Alternate Screen Buffer
1471 B<< C<Ps = 10> >> Change colour of text foreground to B<< C<Pt> >> B<(NB: may change in future)> 1636 B<< C<Ps = 10> >> Change colour of text foreground to B<< C<Pt> >> B<(NB: may change in future)>
1472 B<< C<Ps = 11> >> Change colour of text background to B<< C<Pt> >> B<(NB: may change in future)> 1637 B<< C<Ps = 11> >> Change colour of text background to B<< C<Pt> >> B<(NB: may change in future)>
1473 B<< C<Ps = 12> >> Change colour of text cursor foreground to B<< C<Pt> >> 1638 B<< C<Ps = 12> >> Change colour of text cursor foreground to B<< C<Pt> >>
1474 B<< C<Ps = 13> >> Change colour of mouse foreground to B<< C<Pt> >> 1639 B<< C<Ps = 13> >> Change colour of mouse foreground to B<< C<Pt> >>
1475 B<< C<Ps = 17> >> Change colour of highlight characters to B<< C<Pt> >> 1640 B<< C<Ps = 17> >> Change colour of highlight characters to B<< C<Pt> >>
1476 B<< C<Ps = 18> >> Change colour of bold characters to B<< C<Pt> >> 1641 B<< C<Ps = 18> >> Change colour of bold characters to B<< C<Pt> >> [deprecated, see 706]
1477 B<< C<Ps = 19> >> Change colour of underlined characters to B<< C<Pt> >> 1642 B<< C<Ps = 19> >> Change colour of underlined characters to B<< C<Pt> >> [deprecated, see 707]
1478 B<< C<Ps = 20> >> Change default background to B<< C<Pt> >> 1643 B<< C<Ps = 20> >> Change default background to B<< C<Pt> >>
1479 B<< C<Ps = 39> >> Change default foreground colour to B<< C<Pt> >> I<rxvt compile-time option> 1644 B<< C<Ps = 39> >> Change default foreground colour to B<< C<Pt> >>.
1480 B<< C<Ps = 46> >> Change Log File to B<< C<Pt> >> I<unimplemented> 1645 B<< C<Ps = 46> >> Change Log File to B<< C<Pt> >> I<unimplemented>
1481 B<< C<Ps = 49> >> Change default background colour to B<< C<Pt> >> I<rxvt compile-time option> 1646 B<< C<Ps = 49> >> Change default background colour to B<< C<Pt> >>.
1482 B<< C<Ps = 50> >> Set fontset to B<< C<Pt> >>, with the following special values of B<< C<Pt> >> (B<rxvt>) B<< C<#+n> >> change up B<< C<n> >> B<< C<#-n> >> change down B<< C<n> >> if B<< C<n> >> is missing of 0, a value of 1 is used I<empty> change to font0 B<< C<n> >> change to font B<< C<n> >> 1647 B<< C<Ps = 50> >> Set fontset to B<< C<Pt> >>, with the following special values of B<< C<Pt> >> (B<rxvt>) B<< C<#+n> >> change up B<< C<n> >> B<< C<#-n> >> change down B<< C<n> >> if B<< C<n> >> is missing of 0, a value of 1 is used I<empty> change to font0 B<< C<n> >> change to font B<< C<n> >>
1483 B<< C<Ps = 55> >> Log all scrollback buffer and all of screen to B<< C<Pt> >> 1648 B<< C<Ps = 55> >> Log all scrollback buffer and all of screen to B<< C<Pt> >>
1484 B<< C<Ps = 701> >> Change current locale to B<< C<Pt> >>, or, if B<< C<Pt> >> is B<< C<?> >>, return the current locale (@@RXVT_NAME@@ extension) 1649 B<< C<Ps = 701> >> Change current locale to B<< C<Pt> >>, or, if B<< C<Pt> >> is B<< C<?> >>, return the current locale (Compile frills).
1485 B<< C<Ps = 703> >> Menubar command B<< C<Pt> >> I<rxvt compile-time option> (rxvt-unicode extension) 1650 B<< C<Ps = 703> >> Menubar command B<< C<Pt> >> (Compile menubar).
1486 B<< C<Ps = 704> >> Change colour of italic characters to B<< C<Pt> >> 1651 B<< C<Ps = 704> >> Change colour of italic characters to B<< C<Pt> >>
1487 B<< C<Ps = 705> >> Change background pixmap tint colour to B<< C<Pt> >> 1652 B<< C<Ps = 705> >> Change background pixmap tint colour to B<< C<Pt> >> (Compile transparency).
1653 B<< C<Ps = 706> >> Change colour of bold characters to B<< C<Pt> >>
1654 B<< C<Ps = 707> >> Change colour of underlined characters to B<< C<Pt> >>
1488 B<< C<Ps = 710> >> Set normal fontset to B<< C<Pt> >>. Same as C<Ps = 50>. 1655 B<< C<Ps = 710> >> Set normal fontset to B<< C<Pt> >>. Same as C<Ps = 50>.
1489 B<< C<Ps = 711> >> Set bold fontset to B<< C<Pt> >>. Similar to C<Ps = 50>. 1656 B<< C<Ps = 711> >> Set bold fontset to B<< C<Pt> >>. Similar to C<Ps = 50> (Compile styles).
1490 B<< C<Ps = 712> >> Set italic fontset to B<< C<Pt> >>. Similar to C<Ps = 50>. 1657 B<< C<Ps = 712> >> Set italic fontset to B<< C<Pt> >>. Similar to C<Ps = 50> (Compile styles).
1491 B<< C<Ps = 713> >> Set bold-italic fontset to B<< C<Pt> >>. Similar to C<Ps = 50>. 1658 B<< C<Ps = 713> >> Set bold-italic fontset to B<< C<Pt> >>. Similar to C<Ps = 50> (Compile styles).
1659 B<< C<Ps = 720> >> Move viewing window up by B<< C<Pt> >> lines, or clear scrollback buffer if C<Pt = 0> (Compile frills).
1660 B<< C<Ps = 721> >> Move viewing window down by B<< C<Pt> >> lines, or clear scrollback buffer if C<Pt = 0> (Compile frills).
1661 B<< C<Ps = 777> >> Call the perl extension with the given string, which should be of the form C<extension:parameters> (Compile perl).
1492 1662
1493=end table 1663=end table
1494 1664
1495=back 1665=back
1496 1666
2153=end table 2323=end table
2154 2324
2155=head1 CONFIGURE OPTIONS 2325=head1 CONFIGURE OPTIONS
2156 2326
2157General hint: if you get compile errors, then likely your configuration 2327General hint: if you get compile errors, then likely your configuration
2158hasn't been tested well. Either try with --enable-everything or use the 2328hasn't been tested well. Either try with C<--enable-everything> or use
2159./reconf script as a base for experiments. ./reconf is used by myself, 2329the F<./reconf> script as a base for experiments. F<./reconf> is used by
2160so it should generally be a working config. Of course, you should always 2330myself, so it should generally be a working config. Of course, you should
2161report when a combination doesn't work, so it can be fixed. Marc Lehmann 2331always report when a combination doesn't work, so it can be fixed. Marc
2162<rxvt@schmorp.de>. 2332Lehmann <rxvt@schmorp.de>.
2333
2334All
2163 2335
2164=over 4 2336=over 4
2165 2337
2166=item --enable-everything 2338=item --enable-everything
2167 2339
2168Add support for all non-multichoice options listed in "./configure 2340Add (or remove) support for all non-multichoice options listed in "./configure
2169--help". Note that unlike other enable options this is order dependant. 2341--help".
2342
2170You can specify this and then disable options which this enables by 2343You can specify this and then disable options you do not like by
2171I<following> this with the appropriate commands. 2344I<following> this with the appropriate C<--disable-...> arguments,
2345or you can start with a minimal configuration by specifying
2346C<--disable-everything> and than adding just the C<--enable-...> arguments
2347you want.
2172 2348
2173=item --enable-xft 2349=item --enable-xft (default: enabled)
2174 2350
2175Add support for Xft (anti-aliases, among others) fonts. Xft fonts are 2351Add support for Xft (anti-aliases, among others) fonts. Xft fonts are
2176slower and require lots of memory, but as long as you don't use them, you 2352slower and require lots of memory, but as long as you don't use them, you
2177don't pay for them. 2353don't pay for them.
2178 2354
2179=item --enable-font-styles 2355=item --enable-font-styles (default: on)
2180 2356
2181Add support for B<bold>, I<italic> and B<< I<bold italic> >> font 2357Add support for B<bold>, I<italic> and B<< I<bold italic> >> font
2182styles. The fonts can be set manually or automatically. 2358styles. The fonts can be set manually or automatically.
2183 2359
2184=item --with-codesets=NAME,... 2360=item --with-codesets=NAME,... (default: all)
2185 2361
2186Compile in support for additional codeset (encoding) groups (eu, vn are 2362Compile in support for additional codeset (encoding) groups (C<eu>, C<vn>
2187always compiled in, which includes most 8-bit character sets). These 2363are always compiled in, which includes most 8-bit character sets). These
2188codeset tables are currently only used for driving X11 core fonts, they 2364codeset tables are used for driving X11 core fonts, they are not required
2189are not required for Xft fonts. Compiling them in will make your binary 2365for Xft fonts, although having them compiled in lets rxvt-unicode choose
2190bigger (together about 700kB), but it doesn't increase memory usage unless 2366replacement fonts more intelligently. Compiling them in will make your
2367binary bigger (all of together cost about 700kB), but it doesn't increase
2191you use an X11 font requiring one of these encodings. 2368memory usage unless you use a font requiring one of these encodings.
2192 2369
2193=begin table 2370=begin table
2194 2371
2195 all all available codeset groups 2372 all all available codeset groups
2196 zh common chinese encodings 2373 zh common chinese encodings
2199 jp_ext rarely used but big japanese encodings 2376 jp_ext rarely used but big japanese encodings
2200 kr korean encodings 2377 kr korean encodings
2201 2378
2202=end table 2379=end table
2203 2380
2204=item --enable-xim 2381=item --enable-xim (default: on)
2205 2382
2206Add support for XIM (X Input Method) protocol. This allows using 2383Add support for XIM (X Input Method) protocol. This allows using
2207alternative input methods (e.g. kinput2) and will also correctly 2384alternative input methods (e.g. kinput2) and will also correctly
2208set up the input for people using dead keys or compose keys. 2385set up the input for people using dead keys or compose keys.
2209 2386
2210=item --enable-unicode3 2387=item --enable-unicode3 (default: off)
2211 2388
2212Enable direct support for displaying unicode codepoints above 2389Enable direct support for displaying unicode codepoints above
221365535 (the basic multilingual page). This increases storage 239065535 (the basic multilingual page). This increases storage
2214requirements per character from 2 to 4 bytes. X11 fonts do not yet 2391requirements per character from 2 to 4 bytes. X11 fonts do not yet
2215support these extra characters, but Xft does. 2392support these extra characters, but Xft does.
2218even without this flag, but the number of such characters is 2395even without this flag, but the number of such characters is
2219limited to a view thousand (shared with combining characters, 2396limited to a view thousand (shared with combining characters,
2220see next switch), and right now rxvt-unicode cannot display them 2397see next switch), and right now rxvt-unicode cannot display them
2221(input/output and cut&paste still work, though). 2398(input/output and cut&paste still work, though).
2222 2399
2223=item --enable-combining 2400=item --enable-combining (default: on)
2224 2401
2225Enable automatic composition of combining characters into 2402Enable automatic composition of combining characters into
2226composite characters. This is required for proper viewing of text 2403composite characters. This is required for proper viewing of text
2227where accents are encoded as seperate unicode characters. This is 2404where accents are encoded as seperate unicode characters. This is
2228done by using precomposited characters when available or creating 2405done by using precomposited characters when available or creating
2238 2415
2239The combining table also contains entries for arabic presentation forms, 2416The combining table also contains entries for arabic presentation forms,
2240but these are not currently used. Bug me if you want these to be used (and 2417but these are not currently used. Bug me if you want these to be used (and
2241tell me how these are to be used...). 2418tell me how these are to be used...).
2242 2419
2243=item --enable-fallback(=CLASS) 2420=item --enable-fallback(=CLASS) (default: Rxvt)
2244 2421
2245When reading resource settings, also read settings for class CLASS 2422When reading resource settings, also read settings for class CLASS. To disable resource fallback use --disable-fallback.
2246(default: Rxvt). To disable resource fallback use --disable-fallback.
2247 2423
2248=item --with-res-name=NAME 2424=item --with-res-name=NAME (default: urxvt)
2249 2425
2250Use the given name (default: urxvt) as default application name when 2426Use the given name as default application name when
2251reading resources. Specify --with-res-name=rxvt to replace rxvt. 2427reading resources. Specify --with-res-name=rxvt to replace rxvt.
2252 2428
2253=item --with-res-class=CLASS 2429=item --with-res-class=CLASS /default: URxvt)
2254 2430
2255Use the given class (default: URxvt) as default application class 2431Use the given class as default application class
2256when reading resources. Specify --with-res-class=Rxvt to replace 2432when reading resources. Specify --with-res-class=Rxvt to replace
2257rxvt. 2433rxvt.
2258 2434
2259=item --enable-utmp 2435=item --enable-utmp (default: on)
2260 2436
2261Write user and tty to utmp file (used by programs like F<w>) at 2437Write user and tty to utmp file (used by programs like F<w>) at
2262start of rxvt execution and delete information when rxvt exits. 2438start of rxvt execution and delete information when rxvt exits.
2263 2439
2264=item --enable-wtmp 2440=item --enable-wtmp (default: on)
2265 2441
2266Write user and tty to wtmp file (used by programs like F<last>) at 2442Write user and tty to wtmp file (used by programs like F<last>) at
2267start of rxvt execution and write logout when rxvt exits. This 2443start of rxvt execution and write logout when rxvt exits. This
2268option requires --enable-utmp to also be specified. 2444option requires --enable-utmp to also be specified.
2269 2445
2270=item --enable-lastlog 2446=item --enable-lastlog (default: on)
2271 2447
2272Write user and tty to lastlog file (used by programs like 2448Write user and tty to lastlog file (used by programs like
2273F<lastlogin>) at start of rxvt execution. This option requires 2449F<lastlogin>) at start of rxvt execution. This option requires
2274--enable-utmp to also be specified. 2450--enable-utmp to also be specified.
2275 2451
2276=item --enable-xpm-background 2452=item --enable-xpm-background (default: on)
2277 2453
2278Add support for XPM background pixmaps. 2454Add support for XPM background pixmaps.
2279 2455
2280=item --enable-transparency 2456=item --enable-transparency (default: on)
2281 2457
2282Add support for inheriting parent backgrounds thus giving a fake 2458Add support for inheriting parent backgrounds thus giving a fake
2283transparency to the term. 2459transparency to the term.
2284 2460
2285=item --enable-fading 2461=item --enable-fading (default: on)
2286 2462
2287Add support for fading the text when focus is lost. 2463Add support for fading the text when focus is lost (requires C<--enable-transparency>).
2288 2464
2289=item --enable-tinting 2465=item --enable-tinting (default: on)
2290 2466
2291Add support for tinting of transparent backgrounds. 2467Add support for tinting of transparent backgrounds (requires C<--enable-transparency>).
2292 2468
2293=item --enable-menubar 2469=item --enable-menubar (default: off) [DEPRECATED]
2294 2470
2295Add support for our menu bar system (this interacts badly with 2471Add support for our menu bar system (this interacts badly with dynamic
2296dynamic locale switching currently). 2472locale switching currently). This option is DEPRECATED and will be removed
2473in the future.
2297 2474
2298=item --enable-rxvt-scroll 2475=item --enable-rxvt-scroll (default: on)
2299 2476
2300Add support for the original rxvt scrollbar. 2477Add support for the original rxvt scrollbar.
2301 2478
2302=item --enable-next-scroll 2479=item --enable-next-scroll (default: on)
2303 2480
2304Add support for a NeXT-like scrollbar. 2481Add support for a NeXT-like scrollbar.
2305 2482
2306=item --enable-xterm-scroll 2483=item --enable-xterm-scroll (default: on)
2307 2484
2308Add support for an Xterm-like scrollbar. 2485Add support for an Xterm-like scrollbar.
2309 2486
2310=item --enable-plain-scroll 2487=item --enable-plain-scroll (default: on)
2311 2488
2312Add support for a very unobtrusive, plain-looking scrollbar that 2489Add support for a very unobtrusive, plain-looking scrollbar that
2313is the favourite of the rxvt-unicode author, having used it for 2490is the favourite of the rxvt-unicode author, having used it for
2314many years. 2491many years.
2315 2492
2316=item --enable-half-shadow 2493=item --enable-half-shadow (default: off)
2317 2494
2318Make shadows on the scrollbar only half the normal width & height. 2495Make shadows on the scrollbar only half the normal width & height.
2319only applicable to rxvt scrollbars. 2496only applicable to rxvt scrollbars.
2320 2497
2321=item --enable-ttygid 2498=item --enable-ttygid (default: off)
2322 2499
2323Change tty device setting to group "tty" - only use this if 2500Change tty device setting to group "tty" - only use this if
2324your system uses this type of security. 2501your system uses this type of security.
2325 2502
2326=item --disable-backspace-key 2503=item --disable-backspace-key
2327 2504
2328Disable any handling of the backspace key by us - let the X server 2505Removes any handling of the backspace key by us - let the X server do it.
2506
2507=item --disable-delete-key
2508
2509Removes any handling of the delete key by us - let the X server
2329do it. 2510do it.
2330 2511
2331=item --disable-delete-key
2332
2333Disable any handling of the delete key by us - let the X server
2334do it.
2335
2336=item --disable-resources 2512=item --disable-resources
2337 2513
2338Remove all resources checking. 2514Removes any support for resource checking.
2339 2515
2340=item --enable-xgetdefault 2516=item --enable-xgetdefault
2341 2517
2342Make resources checking via XGetDefault() instead of our small 2518Make resources checking via XGetDefault() instead of our small
2343version which only checks ~/.Xdefaults, or if that doesn't exist then 2519version which only checks ~/.Xdefaults, or if that doesn't exist then
2345 2521
2346Please note that nowadays, things like XIM will automatically pull in and 2522Please note that nowadays, things like XIM will automatically pull in and
2347use the full X resource manager, so the overhead of using it might be very 2523use the full X resource manager, so the overhead of using it might be very
2348small, if nonexistant. 2524small, if nonexistant.
2349 2525
2350=item --enable-strings 2526=item --enable-strings (default: off)
2351 2527
2352Add support for our possibly faster memset() function and other 2528Add support for our possibly faster memset() function and other
2353various routines, overriding your system's versions which may 2529various routines, overriding your system's versions which may
2354have been hand-crafted in assembly or may require extra libraries 2530have been hand-crafted in assembly or may require extra libraries
2355to link in. (this breaks ANSI-C rules and has problems on many 2531to link in. (this breaks ANSI-C rules and has problems on many
2356GNU/Linux systems). 2532GNU/Linux systems).
2357 2533
2358=item --disable-swapscreen 2534=item --disable-swapscreen
2359 2535
2360Remove support for swap screen. 2536Remove support for secondary/swap screen.
2361 2537
2362=item --enable-frills 2538=item --enable-frills (default: on)
2363 2539
2364Add support for many small features that are not essential but nice to 2540Add support for many small features that are not essential but nice to
2365have. Normally you want this, but for very small binaries you may want to 2541have. Normally you want this, but for very small binaries you may want to
2366disable this. 2542disable this.
2367 2543
2368A non-exhaustive list of features enabled by C<--enable-frills> (possibly 2544A non-exhaustive list of features enabled by C<--enable-frills> (possibly
2369in combination with other switches) is: 2545in combination with other switches) is:
2370 2546
2371 MWM-hints 2547 MWM-hints
2548 EWMH-hints (pid, utf8 names) and protocols (ping)
2372 seperate underline colour 2549 seperate underline colour (-underlineColor)
2373 settable border widths and borderless switch 2550 settable border widths and borderless switch (-w, -b, -bl)
2374 settable extra linespacing 2551 settable extra linespacing /-lsp)
2375 extra window properties (e.g. UTF-8 window names and PID)
2376 iso-14755-2 and -3, and visual feedback 2552 iso-14755-2 and -3, and visual feedback
2377 backindex and forwardindex escape sequence 2553 backindex and forwardindex escape sequence
2378 window op and locale change escape sequences 2554 window op and some xterm/OSC escape sequences
2379 tripleclickwords 2555 tripleclickwords (-tcw)
2380 settable insecure mode 2556 settable insecure mode (-insecure)
2381 keysym remapping support 2557 keysym remapping support
2558 cursor blinking and underline cursor (-cb, -uc)
2559 XEmbed support (-embed)
2560 user-pty (-pty-fd)
2561 hold on exit (-hold)
2562 skip builtin block graphics (-sbg)
2563 sgr modes 90..97 and 100..107
2382 2564
2383=item --enable-iso14755 2565=item --enable-iso14755 (default: on)
2384 2566
2385Enable extended ISO 14755 support (see @@RXVT_NAME@@(1), or 2567Enable extended ISO 14755 support (see @@RXVT_NAME@@(1), or
2386F<doc/rxvt.1.txt>). Basic support (section 5.1) is enabled by 2568F<doc/rxvt.1.txt>). Basic support (section 5.1) is enabled by
2387C<--enable-frills>, while support for 5.2, 5.3 and 5.4 is enabled with 2569C<--enable-frills>, while support for 5.2, 5.3 and 5.4 is enabled with
2388this switch. 2570this switch.
2389 2571
2390=item --enable-keepscrolling 2572=item --enable-keepscrolling (default: on)
2391 2573
2392Add support for continual scrolling of the display when you hold 2574Add support for continual scrolling of the display when you hold
2393the mouse button down on a scrollbar arrow. 2575the mouse button down on a scrollbar arrow.
2394 2576
2395=item --enable-mousewheel 2577=item --enable-mousewheel (default: on)
2396 2578
2397Add support for scrolling via mouse wheel or buttons 4 & 5. 2579Add support for scrolling via mouse wheel or buttons 4 & 5.
2398 2580
2399=item --enable-slipwheeling 2581=item --enable-slipwheeling (default: on)
2400 2582
2401Add support for continual scrolling (using the mouse wheel as an 2583Add support for continual scrolling (using the mouse wheel as an
2402accelerator) while the control key is held down. This option 2584accelerator) while the control key is held down. This option
2403requires --enable-mousewheel to also be specified. 2585requires --enable-mousewheel to also be specified.
2404 2586
2405=item --disable-new-selection 2587=item --disable-new-selection
2406 2588
2407Remove support for mouse selection style like that of xterm. 2589Remove support for mouse selection style like that of xterm.
2408 2590
2409=item --enable-dmalloc 2591=item --enable-dmalloc (default: off)
2410 2592
2411Use Gray Watson's malloc - which is good for debugging See 2593Use Gray Watson's malloc - which is good for debugging See
2412http://www.letters.com/dmalloc/ for details If you use either this or the 2594http://www.letters.com/dmalloc/ for details If you use either this or the
2413next option, you may need to edit src/Makefile after compiling to point 2595next option, you may need to edit src/Makefile after compiling to point
2414DINCLUDE and DLIB to the right places. 2596DINCLUDE and DLIB to the right places.
2415 2597
2416You can only use either this option and the following (should 2598You can only use either this option and the following (should
2417you use either) . 2599you use either) .
2418 2600
2419=item --enable-dlmalloc 2601=item --enable-dlmalloc (default: off)
2420 2602
2421Use Doug Lea's malloc - which is good for a production version 2603Use Doug Lea's malloc - which is good for a production version
2422See L<http://g.oswego.edu/dl/html/malloc.html> for details. 2604See L<http://g.oswego.edu/dl/html/malloc.html> for details.
2423 2605
2424=item --enable-smart-resize 2606=item --enable-smart-resize (default: on)
2425 2607
2426Add smart growth/shrink behaviour when changing font size via from hot 2608Add smart growth/shrink behaviour when changing font size via hot
2427keys. This should keep in a fixed position the rxvt corner which is 2609keys. This should keep the window corner which is closest to a corner of
2428closest to a corner of the screen. 2610the screen in a fixed position.
2429 2611
2430=item --enable-cursor-blink
2431
2432Add support for a blinking cursor.
2433
2434=item --enable-pointer-blank 2612=item --enable-pointer-blank (default: on)
2435 2613
2436Add support to have the pointer disappear when typing or inactive. 2614Add support to have the pointer disappear when typing or inactive.
2437 2615
2438=item --with-name=NAME 2616=item --enable-perl (default: off)
2439 2617
2618Enable an embedded perl interpreter. See the B<@@RXVT_NAME@@perl(3)>
2619manpage (F<doc/rxvtperl.txt>) for more info on this feature, or the files
2620in F<src/perl-ext/> for the extensions that are installed by default. The
2621perl interpreter that is used can be specified via the C<PERL> environment
2622variable when running configure.
2623
2624=item --with-name=NAME (default: urxvt)
2625
2440Set the basename for the installed binaries (default: C<urxvt>, resulting 2626Set the basename for the installed binaries, resulting
2441in C<urxvt>, C<urxvtd> etc.). Specify C<--with-name=rxvt> to replace with 2627in C<urxvt>, C<urxvtd> etc.). Specify C<--with-name=rxvt> to replace with
2442C<rxvt>. 2628C<rxvt>.
2443 2629
2444=item --with-term=NAME 2630=item --with-term=NAME (default: rxvt-unicode)
2445 2631
2446Change the environmental variable for the terminal to NAME (default 2632Change the environmental variable for the terminal to NAME.
2447C<rxvt-unicode>)
2448 2633
2449=item --with-terminfo=PATH 2634=item --with-terminfo=PATH
2450 2635
2451Change the environmental variable for the path to the terminfo tree to 2636Change the environmental variable for the path to the terminfo tree to
2452PATH. 2637PATH.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines