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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines