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.60 by root, Fri Jul 29 03:12:10 2005 UTC vs.
Revision 1.65 by root, Sat Dec 31 17:16:17 2005 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 aminute 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 in sarge contains large 123The Debian GNU/Linux package of rxvt-unicode in sarge contains large
37patches that considerably change the behaviour of rxvt-unicode. Before 124patches that considerably change the behaviour of rxvt-unicode. Before
1443 1530
1444=begin table 1531=begin table
1445 1532
1446 B<< C<h> >> Scroll to bottom when a key is pressed 1533 B<< C<h> >> Scroll to bottom when a key is pressed
1447 B<< C<l> >> Don't scroll to bottom when a key is pressed 1534 B<< C<l> >> Don't scroll to bottom when a key is pressed
1535
1536=end table
1537
1538=item B<< C<Ps = 1021> >> (B<rxvt>)
1539
1540=begin table
1541
1542 B<< C<h> >> Bold/italic implies high intensity (see option B<-is>)
1543 B<< C<l> >> Font styles have no effect on intensity.
1448 1544
1449=end table 1545=end table
1450 1546
1451=item B<< C<Ps = 1047> >> 1547=item B<< C<Ps = 1047> >>
1452 1548
2185=end table 2281=end table
2186 2282
2187=head1 CONFIGURE OPTIONS 2283=head1 CONFIGURE OPTIONS
2188 2284
2189General hint: if you get compile errors, then likely your configuration 2285General hint: if you get compile errors, then likely your configuration
2190hasn't been tested well. Either try with --enable-everything or use the 2286hasn't been tested well. Either try with C<--enable-everything> or use
2191./reconf script as a base for experiments. ./reconf is used by myself, 2287the F<./reconf> script as a base for experiments. F<./reconf> is used by
2192so it should generally be a working config. Of course, you should always 2288myself, so it should generally be a working config. Of course, you should
2193report when a combination doesn't work, so it can be fixed. Marc Lehmann 2289always report when a combination doesn't work, so it can be fixed. Marc
2194<rxvt@schmorp.de>. 2290Lehmann <rxvt@schmorp.de>.
2291
2292All
2195 2293
2196=over 4 2294=over 4
2197 2295
2198=item --enable-everything 2296=item --enable-everything
2199 2297
2200Add support for all non-multichoice options listed in "./configure 2298Add (or remove) support for all non-multichoice options listed in "./configure
2201--help". Note that unlike other enable options this is order dependant. 2299--help".
2300
2202You can specify this and then disable options which this enables by 2301You can specify this and then disable options you do not like by
2203I<following> this with the appropriate commands. 2302I<following> this with the appropriate C<--disable-...> arguments,
2303or you can start with a minimal configuration by specifying
2304C<--disable-everything> and than adding just the C<--enable-...> arguments
2305you want.
2204 2306
2205=item --enable-xft 2307=item --enable-xft (default: enabled)
2206 2308
2207Add support for Xft (anti-aliases, among others) fonts. Xft fonts are 2309Add support for Xft (anti-aliases, among others) fonts. Xft fonts are
2208slower and require lots of memory, but as long as you don't use them, you 2310slower and require lots of memory, but as long as you don't use them, you
2209don't pay for them. 2311don't pay for them.
2210 2312
2211=item --enable-font-styles 2313=item --enable-font-styles (default: on)
2212 2314
2213Add support for B<bold>, I<italic> and B<< I<bold italic> >> font 2315Add support for B<bold>, I<italic> and B<< I<bold italic> >> font
2214styles. The fonts can be set manually or automatically. 2316styles. The fonts can be set manually or automatically.
2215 2317
2216=item --with-codesets=NAME,... 2318=item --with-codesets=NAME,... (default: all)
2217 2319
2218Compile in support for additional codeset (encoding) groups (C<eu>, C<vn> 2320Compile in support for additional codeset (encoding) groups (C<eu>, C<vn>
2219are always compiled in, which includes most 8-bit character sets). These 2321are always compiled in, which includes most 8-bit character sets). These
2220codeset tables are used for driving X11 core fonts, they are not required 2322codeset tables are used for driving X11 core fonts, they are not required
2221for Xft fonts, although having them compiled in lets rxvt-unicode choose 2323for Xft fonts, although having them compiled in lets rxvt-unicode choose
2232 jp_ext rarely used but big japanese encodings 2334 jp_ext rarely used but big japanese encodings
2233 kr korean encodings 2335 kr korean encodings
2234 2336
2235=end table 2337=end table
2236 2338
2237=item --enable-xim 2339=item --enable-xim (default: on)
2238 2340
2239Add support for XIM (X Input Method) protocol. This allows using 2341Add support for XIM (X Input Method) protocol. This allows using
2240alternative input methods (e.g. kinput2) and will also correctly 2342alternative input methods (e.g. kinput2) and will also correctly
2241set up the input for people using dead keys or compose keys. 2343set up the input for people using dead keys or compose keys.
2242 2344
2243=item --enable-unicode3 2345=item --enable-unicode3 (default: off)
2244 2346
2245Enable direct support for displaying unicode codepoints above 2347Enable direct support for displaying unicode codepoints above
224665535 (the basic multilingual page). This increases storage 234865535 (the basic multilingual page). This increases storage
2247requirements per character from 2 to 4 bytes. X11 fonts do not yet 2349requirements per character from 2 to 4 bytes. X11 fonts do not yet
2248support these extra characters, but Xft does. 2350support these extra characters, but Xft does.
2251even without this flag, but the number of such characters is 2353even without this flag, but the number of such characters is
2252limited to a view thousand (shared with combining characters, 2354limited to a view thousand (shared with combining characters,
2253see next switch), and right now rxvt-unicode cannot display them 2355see next switch), and right now rxvt-unicode cannot display them
2254(input/output and cut&paste still work, though). 2356(input/output and cut&paste still work, though).
2255 2357
2256=item --enable-combining 2358=item --enable-combining (default: on)
2257 2359
2258Enable automatic composition of combining characters into 2360Enable automatic composition of combining characters into
2259composite characters. This is required for proper viewing of text 2361composite characters. This is required for proper viewing of text
2260where accents are encoded as seperate unicode characters. This is 2362where accents are encoded as seperate unicode characters. This is
2261done by using precomposited characters when available or creating 2363done by using precomposited characters when available or creating
2271 2373
2272The combining table also contains entries for arabic presentation forms, 2374The combining table also contains entries for arabic presentation forms,
2273but these are not currently used. Bug me if you want these to be used (and 2375but these are not currently used. Bug me if you want these to be used (and
2274tell me how these are to be used...). 2376tell me how these are to be used...).
2275 2377
2276=item --enable-fallback(=CLASS) 2378=item --enable-fallback(=CLASS) (default: Rxvt)
2277 2379
2278When reading resource settings, also read settings for class CLASS 2380When reading resource settings, also read settings for class CLASS. To disable resource fallback use --disable-fallback.
2279(default: Rxvt). To disable resource fallback use --disable-fallback.
2280 2381
2281=item --with-res-name=NAME 2382=item --with-res-name=NAME (default: urxvt)
2282 2383
2283Use the given name (default: urxvt) as default application name when 2384Use the given name as default application name when
2284reading resources. Specify --with-res-name=rxvt to replace rxvt. 2385reading resources. Specify --with-res-name=rxvt to replace rxvt.
2285 2386
2286=item --with-res-class=CLASS 2387=item --with-res-class=CLASS /default: URxvt)
2287 2388
2288Use the given class (default: URxvt) as default application class 2389Use the given class as default application class
2289when reading resources. Specify --with-res-class=Rxvt to replace 2390when reading resources. Specify --with-res-class=Rxvt to replace
2290rxvt. 2391rxvt.
2291 2392
2292=item --enable-utmp 2393=item --enable-utmp (default: on)
2293 2394
2294Write user and tty to utmp file (used by programs like F<w>) at 2395Write user and tty to utmp file (used by programs like F<w>) at
2295start of rxvt execution and delete information when rxvt exits. 2396start of rxvt execution and delete information when rxvt exits.
2296 2397
2297=item --enable-wtmp 2398=item --enable-wtmp (default: on)
2298 2399
2299Write user and tty to wtmp file (used by programs like F<last>) at 2400Write user and tty to wtmp file (used by programs like F<last>) at
2300start of rxvt execution and write logout when rxvt exits. This 2401start of rxvt execution and write logout when rxvt exits. This
2301option requires --enable-utmp to also be specified. 2402option requires --enable-utmp to also be specified.
2302 2403
2303=item --enable-lastlog 2404=item --enable-lastlog (default: on)
2304 2405
2305Write user and tty to lastlog file (used by programs like 2406Write user and tty to lastlog file (used by programs like
2306F<lastlogin>) at start of rxvt execution. This option requires 2407F<lastlogin>) at start of rxvt execution. This option requires
2307--enable-utmp to also be specified. 2408--enable-utmp to also be specified.
2308 2409
2309=item --enable-xpm-background 2410=item --enable-xpm-background (default: off)
2310 2411
2311Add support for XPM background pixmaps. 2412Add support for XPM background pixmaps.
2312 2413
2313=item --enable-transparency 2414=item --enable-transparency (default: off)
2314 2415
2315Add support for inheriting parent backgrounds thus giving a fake 2416Add support for inheriting parent backgrounds thus giving a fake
2316transparency to the term. 2417transparency to the term.
2317 2418
2318=item --enable-fading 2419=item --enable-fading (default: on)
2319 2420
2320Add support for fading the text when focus is lost. 2421Add support for fading the text when focus is lost (requires C<--enable-transparency>).
2321 2422
2322=item --enable-tinting 2423=item --enable-tinting (default: on)
2323 2424
2324Add support for tinting of transparent backgrounds. 2425Add support for tinting of transparent backgrounds (requires C<--enable-transparency>).
2325 2426
2326=item --enable-menubar 2427=item --enable-menubar (default: off)
2327 2428
2328Add support for our menu bar system (this interacts badly with 2429Add support for our menu bar system (this interacts badly with
2329dynamic locale switching currently). 2430dynamic locale switching currently).
2330 2431
2331=item --enable-rxvt-scroll 2432=item --enable-rxvt-scroll (default: on)
2332 2433
2333Add support for the original rxvt scrollbar. 2434Add support for the original rxvt scrollbar.
2334 2435
2335=item --enable-next-scroll 2436=item --enable-next-scroll (default: on)
2336 2437
2337Add support for a NeXT-like scrollbar. 2438Add support for a NeXT-like scrollbar.
2338 2439
2339=item --enable-xterm-scroll 2440=item --enable-xterm-scroll (default: on)
2340 2441
2341Add support for an Xterm-like scrollbar. 2442Add support for an Xterm-like scrollbar.
2342 2443
2343=item --enable-plain-scroll 2444=item --enable-plain-scroll (default: on)
2344 2445
2345Add support for a very unobtrusive, plain-looking scrollbar that 2446Add support for a very unobtrusive, plain-looking scrollbar that
2346is the favourite of the rxvt-unicode author, having used it for 2447is the favourite of the rxvt-unicode author, having used it for
2347many years. 2448many years.
2348 2449
2349=item --enable-half-shadow 2450=item --enable-half-shadow (default: off)
2350 2451
2351Make shadows on the scrollbar only half the normal width & height. 2452Make shadows on the scrollbar only half the normal width & height.
2352only applicable to rxvt scrollbars. 2453only applicable to rxvt scrollbars.
2353 2454
2354=item --enable-ttygid 2455=item --enable-ttygid (default: off)
2355 2456
2356Change tty device setting to group "tty" - only use this if 2457Change tty device setting to group "tty" - only use this if
2357your system uses this type of security. 2458your system uses this type of security.
2358 2459
2359=item --disable-backspace-key 2460=item --disable-backspace-key
2360 2461
2361Disable any handling of the backspace key by us - let the X server 2462Removes any handling of the backspace key by us - let the X server do it.
2463
2464=item --disable-delete-key
2465
2466Removes any handling of the delete key by us - let the X server
2362do it. 2467do it.
2363 2468
2364=item --disable-delete-key
2365
2366Disable any handling of the delete key by us - let the X server
2367do it.
2368
2369=item --disable-resources 2469=item --disable-resources
2370 2470
2371Remove all resources checking. 2471Removes any support for resource checking.
2372 2472
2373=item --enable-xgetdefault 2473=item --enable-xgetdefault
2374 2474
2375Make resources checking via XGetDefault() instead of our small 2475Make resources checking via XGetDefault() instead of our small
2376version which only checks ~/.Xdefaults, or if that doesn't exist then 2476version which only checks ~/.Xdefaults, or if that doesn't exist then
2378 2478
2379Please note that nowadays, things like XIM will automatically pull in and 2479Please note that nowadays, things like XIM will automatically pull in and
2380use the full X resource manager, so the overhead of using it might be very 2480use the full X resource manager, so the overhead of using it might be very
2381small, if nonexistant. 2481small, if nonexistant.
2382 2482
2383=item --enable-strings 2483=item --enable-strings (default: off)
2384 2484
2385Add support for our possibly faster memset() function and other 2485Add support for our possibly faster memset() function and other
2386various routines, overriding your system's versions which may 2486various routines, overriding your system's versions which may
2387have been hand-crafted in assembly or may require extra libraries 2487have been hand-crafted in assembly or may require extra libraries
2388to link in. (this breaks ANSI-C rules and has problems on many 2488to link in. (this breaks ANSI-C rules and has problems on many
2389GNU/Linux systems). 2489GNU/Linux systems).
2390 2490
2391=item --disable-swapscreen 2491=item --disable-swapscreen
2392 2492
2393Remove support for swap screen. 2493Remove support for secondary/swap screen.
2394 2494
2395=item --enable-frills 2495=item --enable-frills (default: on)
2396 2496
2397Add support for many small features that are not essential but nice to 2497Add support for many small features that are not essential but nice to
2398have. Normally you want this, but for very small binaries you may want to 2498have. Normally you want this, but for very small binaries you may want to
2399disable this. 2499disable this.
2400 2500
2411 window op and some xterm/OSC escape sequences 2511 window op and some xterm/OSC escape sequences
2412 tripleclickwords 2512 tripleclickwords
2413 settable insecure mode 2513 settable insecure mode
2414 keysym remapping support 2514 keysym remapping support
2415 cursor blinking and underline cursor 2515 cursor blinking and underline cursor
2416 -embed and -pty-fd options 2516 -embed, -pty-fd and -hold options
2417 2517
2418=item --enable-iso14755 2518=item --enable-iso14755 (default: on)
2419 2519
2420Enable extended ISO 14755 support (see @@RXVT_NAME@@(1), or 2520Enable extended ISO 14755 support (see @@RXVT_NAME@@(1), or
2421F<doc/rxvt.1.txt>). Basic support (section 5.1) is enabled by 2521F<doc/rxvt.1.txt>). Basic support (section 5.1) is enabled by
2422C<--enable-frills>, while support for 5.2, 5.3 and 5.4 is enabled with 2522C<--enable-frills>, while support for 5.2, 5.3 and 5.4 is enabled with
2423this switch. 2523this switch.
2424 2524
2425=item --enable-keepscrolling 2525=item --enable-keepscrolling (default: on)
2426 2526
2427Add support for continual scrolling of the display when you hold 2527Add support for continual scrolling of the display when you hold
2428the mouse button down on a scrollbar arrow. 2528the mouse button down on a scrollbar arrow.
2429 2529
2430=item --enable-mousewheel 2530=item --enable-mousewheel (default: on)
2431 2531
2432Add support for scrolling via mouse wheel or buttons 4 & 5. 2532Add support for scrolling via mouse wheel or buttons 4 & 5.
2433 2533
2434=item --enable-slipwheeling 2534=item --enable-slipwheeling (default: on)
2435 2535
2436Add support for continual scrolling (using the mouse wheel as an 2536Add support for continual scrolling (using the mouse wheel as an
2437accelerator) while the control key is held down. This option 2537accelerator) while the control key is held down. This option
2438requires --enable-mousewheel to also be specified. 2538requires --enable-mousewheel to also be specified.
2439 2539
2440=item --disable-new-selection 2540=item --disable-new-selection
2441 2541
2442Remove support for mouse selection style like that of xterm. 2542Remove support for mouse selection style like that of xterm.
2443 2543
2444=item --enable-dmalloc 2544=item --enable-dmalloc (default: off)
2445 2545
2446Use Gray Watson's malloc - which is good for debugging See 2546Use Gray Watson's malloc - which is good for debugging See
2447http://www.letters.com/dmalloc/ for details If you use either this or the 2547http://www.letters.com/dmalloc/ for details If you use either this or the
2448next option, you may need to edit src/Makefile after compiling to point 2548next option, you may need to edit src/Makefile after compiling to point
2449DINCLUDE and DLIB to the right places. 2549DINCLUDE and DLIB to the right places.
2450 2550
2451You can only use either this option and the following (should 2551You can only use either this option and the following (should
2452you use either) . 2552you use either) .
2453 2553
2454=item --enable-dlmalloc 2554=item --enable-dlmalloc (default: off)
2455 2555
2456Use Doug Lea's malloc - which is good for a production version 2556Use Doug Lea's malloc - which is good for a production version
2457See L<http://g.oswego.edu/dl/html/malloc.html> for details. 2557See L<http://g.oswego.edu/dl/html/malloc.html> for details.
2458 2558
2459=item --enable-smart-resize 2559=item --enable-smart-resize (default: on)
2460 2560
2461Add smart growth/shrink behaviour when changing font size via from hot 2561Add smart growth/shrink behaviour when changing font size via hot
2462keys. This should keep in a fixed position the rxvt corner which is 2562keys. This should keep the window corner which is closest to a corner of
2463closest to a corner of the screen. 2563the screen in a fixed position.
2464 2564
2465=item --enable-pointer-blank 2565=item --enable-pointer-blank (default: on)
2466 2566
2467Add support to have the pointer disappear when typing or inactive. 2567Add support to have the pointer disappear when typing or inactive.
2468 2568
2469=item --with-name=NAME 2569=item --with-name=NAME (default: urxvt)
2470 2570
2471Set the basename for the installed binaries (default: C<urxvt>, resulting 2571Set the basename for the installed binaries, resulting
2472in C<urxvt>, C<urxvtd> etc.). Specify C<--with-name=rxvt> to replace with 2572in C<urxvt>, C<urxvtd> etc.). Specify C<--with-name=rxvt> to replace with
2473C<rxvt>. 2573C<rxvt>.
2474 2574
2475=item --with-term=NAME 2575=item --with-term=NAME (default: rxvt-unicode)
2476 2576
2477Change the environmental variable for the terminal to NAME (default 2577Change the environmental variable for the terminal to NAME.
2478C<rxvt-unicode>)
2479 2578
2480=item --with-terminfo=PATH 2579=item --with-terminfo=PATH
2481 2580
2482Change the environmental variable for the path to the terminfo tree to 2581Change the environmental variable for the path to the terminfo tree to
2483PATH. 2582PATH.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines