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

Comparing rxvt-unicode/doc/rxvt.7.txt (file contents):
Revision 1.25 by root, Tue Nov 8 17:35:28 2005 UTC vs.
Revision 1.36 by root, Tue Jan 10 04:26:54 2006 UTC

18 The newest version of this document is also available on the World Wide 18 The newest version of this document is also available on the World Wide
19 Web at 19 Web at
20 <http://cvs.schmorp.de/browse/*checkout*/rxvt-unicode/doc/rxvt.7.html>. 20 <http://cvs.schmorp.de/browse/*checkout*/rxvt-unicode/doc/rxvt.7.html>.
21 21
22FREQUENTLY ASKED QUESTIONS 22FREQUENTLY ASKED QUESTIONS
23 Isn't rxvt supposed to be small? Don't all those features bloat?
24 I often get asked about this, and I think, no, they didn't cause
25 extra bloat. If you compare a minimal rxvt and a minimal urxvt, you
26 can see that the urxvt binary is larger (due to some encoding tables
27 always being compiled in), but it actually uses less memory (RSS)
28 after startup. Even with "--disable-everything", this comparison is
29 a bit unfair, as many features unique to urxvt (locale, encoding
30 conversion, iso14755 etc.) are already in use in this mode.
31
32 text data bss drs rss filename
33 98398 1664 24 15695 1824 rxvt --disable-everything
34 188985 9048 66616 18222 1788 urxvt --disable-everything
35
36 When you "--enable-everything" (which _is_ unfair, as this involves
37 xft and full locale/XIM support which are quite bloaty inside libX11
38 and my libc), the two diverge, but not unreasnobaly so.
39
40 text data bss drs rss filename
41 163431 2152 24 20123 2060 rxvt --enable-everything
42 1035683 49680 66648 29096 3680 urxvt --enable-everything
43
44 The very large size of the text section is explained by the
45 east-asian encoding tables, which, if unused, take up disk space but
46 nothing else and can be compiled out unless you rely on X11 core
47 fonts that use those encodings. The BSS size comes from the 64k
48 emergency buffer that my c++ compiler allocates (but of course
49 doesn't use unless you are out of memory). Also, using an xft font
50 instead of a core font immediately adds a few megabytes of RSS. Xft
51 indeed is responsible for a lot of RSS even when not used.
52
53 Of course, due to every character using two or four bytes instead of
54 one, a large scrollback buffer will ultimately make rxvt-unicode use
55 more memory.
56
57 Compared to e.g. Eterm (5112k), aterm (3132k) and xterm (4680k),
58 this still fares rather well. And compared to some monsters like
59 gnome-terminal (21152k + extra 4204k in separate processes) or
60 konsole (22200k + extra 43180k in daemons that stay around after
61 exit, plus half a minute of startup time, including the hundreds of
62 warnings it spits out), it fares extremely well *g*.
63
64 Why C++, isn't that unportable/bloated/uncool?
65 Is this a question? :) It comes up very often. The simple answer is:
66 I had to write it, and C++ allowed me to write and maintain it in a
67 fraction of the time and effort (which is a scarce resource for me).
68 Put even shorter: It simply wouldn't exist without C++.
69
70 My personal stance on this is that C++ is less portable than C, but
71 in the case of rxvt-unicode this hardly matters, as its portability
72 limits are defined by things like X11, pseudo terminals, locale
73 support and unix domain sockets, which are all less portable than
74 C++ itself.
75
76 Regarding the bloat, see the above question: It's easy to write
77 programs in C that use gobs of memory, an certainly possible to
78 write programs in C++ that don't. C++ also often comes with large
79 libraries, but this is not necessarily the case with GCC. Here is
80 what rxvt links against on my system with a minimal config:
81
82 libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00002aaaaabc3000)
83 libc.so.6 => /lib/libc.so.6 (0x00002aaaaadde000)
84 libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab01d000)
85 /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000)
86
87 And here is rxvt-unicode:
88
89 libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00002aaaaabc3000)
90 libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00002aaaaada2000)
91 libc.so.6 => /lib/libc.so.6 (0x00002aaaaaeb0000)
92 libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab0ee000)
93 /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000)
94
95 No large bloated libraries (of course, none were linked in
96 statically), except maybe libX11 :)
97
98 Does it support tabs, can I have a tabbed rxvt-unicode?
99 rxvt-unicode does not directly support tabs. It will work fine with
100 tabbing functionality of many window managers or similar tabbing
101 programs, and its embedding-features allow it to be embedded into
102 other programs, as witnessed by doc/rxvt-tabbed or the upcoming
103 "Gtk2::URxvt" perl module, which features a tabbed urxvt (murxvt)
104 terminal as an example embedding application.
105
23 How do I know which rxvt-unicode version I'm using? 106 How do I know which rxvt-unicode version I'm using?
24 The version number is displayed with the usage (-h). Also the escape 107 The version number is displayed with the usage (-h). Also the escape
25 sequence "ESC [ 8 n" sets the window title to the version number. 108 sequence "ESC [ 8 n" sets the window title to the version number.
109 When using the rxvtc client, the version displayed is that of the
110 daemon.
26 111
27 I am using Debian GNU/Linux and have a problem... 112 I am using Debian GNU/Linux and have a problem...
28 The Debian GNU/Linux package of rxvt-unicode in sarge contains large 113 The Debian GNU/Linux package of rxvt-unicode in sarge contains large
29 patches that considerably change the behaviour of rxvt-unicode. 114 patches that considerably change the behaviour of rxvt-unicode.
30 Before reporting a bug to the original rxvt-unicode author please 115 Before reporting a bug to the original rxvt-unicode author please
37 For other problems that also affect the Debian package, you can and 122 For other problems that also affect the Debian package, you can and
38 probably should use the Debian BTS, too, because, after all, it's 123 probably should use the Debian BTS, too, because, after all, it's
39 also a bug in the Debian version and it serves as a reminder for 124 also a bug in the Debian version and it serves as a reminder for
40 other users that might encounter the same issue. 125 other users that might encounter the same issue.
41 126
127 I am maintaining rxvt-unicode for distribution/OS XXX, any
128 recommendation?
129 You should build one binary with the default options. configure now
130 enables most useful options, and the trend goes to making them
131 runtime-switchable, too, so there is usually no drawback to enbaling
132 them, except higher disk and possibly memory usage. The perl
133 interpreter should be enabled, as important functionality (menus,
134 selection, likely more in the future) depends on it.
135
136 You should not overwrite the "perl-ext-common" snd "perl-ext"
137 resources system-wide (except maybe with "defaults"). This will
138 result in useful behaviour. If your distribution aims at low memory,
139 add an empty "perl-ext-common" resource to the app-defaults file.
140 This will keep the perl interpreter disabled until the user enables
141 it.
142
143 If you can/want build more binaries, I recommend building a minimal
144 one with "--disable-everything" (very useful) and a maximal one with
145 "--enable-everything" (less useful, it will be very big due to a lot
146 of encodings built-in that increase download times and are rarely
147 used).
148
149 I need to make it setuid/setgid to support utmp/ptys on my OS, is this
150 safe?
151 Likely not. While I honestly try to make it secure, and am probably
152 not bad at it, I think it is simply unreasonable to expect all of
153 freetype + fontconfig + xft + xlib + ... + rxvt-unicode itself to
154 all be secure. Also, rxvt-unicode disables some options when it
155 detects that it runs setuid or setgid, which is not nice.
156
157 Elevated privileges are only required for utmp and pty operations on
158 some systems (for example, GNU/Linux doesn't need any extra
159 privileges for ptys, but some need it for utmp support). If
160 rxvt-unicode doesn't support the library/setuid helper that your OS
161 needs I'll be happy to assist you in implementing support for it.
162
163 So, while setuid/setgid operation is supported and not a problem on
164 your typical single-user-no-other-logins unix desktop, always
165 remember that its an awful lot of code, most of which isn't checked
166 for security issues regularly.
167
42 When I log-in to another system it tells me about missing terminfo data? 168 When I log-in to another system it tells me about missing terminfo data?
43 The terminal description used by rxvt-unicode is not as widely 169 The terminal description used by rxvt-unicode is not as widely
44 available as that for xterm, or even rxvt (for which the same 170 available as that for xterm, or even rxvt (for which the same
45 problem often arises). 171 problem often arises).
46 172
70 196
71 "tic" outputs some error when compiling the terminfo entry. 197 "tic" outputs some error when compiling the terminfo entry.
72 Most likely it's the empty definition for "enacs=". Just replace it 198 Most likely it's the empty definition for "enacs=". Just replace it
73 by "enacs=\E[0@" and try again. 199 by "enacs=\E[0@" and try again.
74 200
75 "bash"'s readline does not work correctly under urxvt. 201 "bash"'s readline does not work correctly under rxvt.
76 I need a termcap file entry. 202 I need a termcap file entry.
77 One reason you might want this is that some distributions or 203 One reason you might want this is that some distributions or
78 operating systems still compile some programs using the 204 operating systems still compile some programs using the
79 long-obsoleted termcap library (Fedora Core's bash is one example) 205 long-obsoleted termcap library (Fedora Core's bash is one example)
80 and rely on a termcap entry for "rxvt-unicode". 206 and rely on a termcap entry for "rxvt-unicode".
191 indeed look correct. 317 indeed look correct.
192 318
193 In that case, select a font of your taste and add it to the font 319 In that case, select a font of your taste and add it to the font
194 list, e.g.: 320 list, e.g.:
195 321
196 urxvt -fn basefont,font2,font3... 322 rxvt -fn basefont,font2,font3...
197 323
198 When rxvt-unicode sees a character, it will first look at the base 324 When rxvt-unicode sees a character, it will first look at the base
199 font. If the base font does not contain the character, it will go to 325 font. If the base font does not contain the character, it will go to
200 the next font, and so on. Specifying your own fonts will also speed 326 the next font, and so on. Specifying your own fonts will also speed
201 up this search and use less resources within rxvt-unicode and the 327 up this search and use less resources within rxvt-unicode and the
486 Mouse cut/paste suddenly no longer works. 612 Mouse cut/paste suddenly no longer works.
487 Make sure that mouse reporting is actually turned off since killing 613 Make sure that mouse reporting is actually turned off since killing
488 some editors prematurely may leave the mouse in mouse report mode. 614 some editors prematurely may leave the mouse in mouse report mode.
489 I've heard that tcsh may use mouse reporting unless it otherwise 615 I've heard that tcsh may use mouse reporting unless it otherwise
490 specified. A quick check is to see if cut/paste works when the Alt 616 specified. A quick check is to see if cut/paste works when the Alt
491 or Shift keys are depressed. See urxvt(7) 617 or Shift keys are depressed. See rxvt(7)
492 618
493 What's with this bold/blink stuff? 619 What's with this bold/blink stuff?
494 If no bold colour is set via "colorBD:", bold will invert text using 620 If no bold colour is set via "colorBD:", bold will invert text using
495 the standard foreground colour. 621 the standard foreground colour.
496 622
551 URxvt.color6: #73f7ff 677 URxvt.color6: #73f7ff
552 URxvt.color14: #73f7ff 678 URxvt.color14: #73f7ff
553 URxvt.color7: #e1dddd 679 URxvt.color7: #e1dddd
554 URxvt.color15: #e1dddd 680 URxvt.color15: #e1dddd
555 681
556 How can I start urxvtd in a race-free way? 682 How can I start rxvtd in a race-free way?
557 Try "urxvtd -f -o", which tells urxvtd to open the display, create 683 Try "rxvtd -f -o", which tells rxvtd to open the display, create the
558 the listening socket and then fork. 684 listening socket and then fork.
559 685
560 What's with the strange Backspace/Delete key behaviour? 686 What's with the strange Backspace/Delete key behaviour?
561 Assuming that the physical Backspace key corresponds to the 687 Assuming that the physical Backspace key corresponds to the
562 BackSpace keysym (not likely for Linux ... see the following 688 BackSpace keysym (not likely for Linux ... see the following
563 question) there are two standard values that can be used for 689 question) there are two standard values that can be used for
576 702
577 For starting a new rxvt-unicode: 703 For starting a new rxvt-unicode:
578 704
579 # use Backspace = ^H 705 # use Backspace = ^H
580 $ stty erase ^H 706 $ stty erase ^H
581 $ urxvt 707 $ rxvt
582 708
583 # use Backspace = ^? 709 # use Backspace = ^?
584 $ stty erase ^? 710 $ stty erase ^?
585 $ urxvt 711 $ rxvt
586 712
587 Toggle with "ESC [ 36 h" / "ESC [ 36 l" as documented in urxvt(7). 713 Toggle with "ESC [ 36 h" / "ESC [ 36 l" as documented in rxvt(7).
588 714
589 For an existing rxvt-unicode: 715 For an existing rxvt-unicode:
590 716
591 # use Backspace = ^H 717 # use Backspace = ^H
592 $ stty erase ^H 718 $ stty erase ^H
618 There are some compile-time selections available via configure. 744 There are some compile-time selections available via configure.
619 Unless you have run "configure" with the "--disable-resources" 745 Unless you have run "configure" with the "--disable-resources"
620 option you can use the `keysym' resource to alter the keystrings 746 option you can use the `keysym' resource to alter the keystrings
621 associated with keysyms. 747 associated with keysyms.
622 748
623 Here's an example for a URxvt session started using "urxvt -name 749 Here's an example for a URxvt session started using "rxvt -name
624 URxvt" 750 URxvt"
625 751
626 URxvt.keysym.Home: \033[1~ 752 URxvt.keysym.Home: \033[1~
627 URxvt.keysym.End: \033[4~ 753 URxvt.keysym.End: \033[4~
628 URxvt.keysym.C-apostrophe: \033<C-'> 754 URxvt.keysym.C-apostrophe: \033<C-'>
1145 l Scroll to bottom on TTY output 1271 l Scroll to bottom on TTY output
1146 1272
1147 "Ps = 1011" (rxvt) 1273 "Ps = 1011" (rxvt)
1148 h Scroll to bottom when a key is pressed 1274 h Scroll to bottom when a key is pressed
1149 l Don't scroll to bottom when a key is pressed 1275 l Don't scroll to bottom when a key is pressed
1276
1277 "Ps = 1021" (rxvt)
1278 h Bold/italic implies high intensity (see option -is)
1279 l Font styles have no effect on intensity (Compile styles)
1150 1280
1151 "Ps = 1047" 1281 "Ps = 1047"
1152 h Use Alternate Screen Buffer 1282 h Use Alternate Screen Buffer
1153 l Use Normal Screen Buffer - clear Alternate Screen Buffer if returning from it 1283 l Use Normal Screen Buffer - clear Alternate Screen Buffer if returning from it
1154 1284
1195 Ps = 711 Set bold fontset to Pt. Similar to Ps = 50 (Compile styles). 1325 Ps = 711 Set bold fontset to Pt. Similar to Ps = 50 (Compile styles).
1196 Ps = 712 Set italic fontset to Pt. Similar to Ps = 50 (Compile styles). 1326 Ps = 712 Set italic fontset to Pt. Similar to Ps = 50 (Compile styles).
1197 Ps = 713 Set bold-italic fontset to Pt. Similar to Ps = 50 (Compile styles). 1327 Ps = 713 Set bold-italic fontset to Pt. Similar to Ps = 50 (Compile styles).
1198 Ps = 720 Move viewing window up by Pt lines, or clear scrollback buffer if Pt = 0 (Compile frills). 1328 Ps = 720 Move viewing window up by Pt lines, or clear scrollback buffer if Pt = 0 (Compile frills).
1199 Ps = 721 Move viewing window down by Pt lines, or clear scrollback buffer if Pt = 0 (Compile frills). 1329 Ps = 721 Move viewing window down by Pt lines, or clear scrollback buffer if Pt = 0 (Compile frills).
1330 Ps = 777 Call the perl extension with the given string, which should be of the form extension:parameters (Compile perl).
1200 1331
1201 1332
1202 1333
1203menuBar 1334menuBar
1204 The exact syntax used is *almost* solidified. In the menus, DON'T try to 1335 The exact syntax used is *almost* solidified. In the menus, DON'T try to
1775 --enable-lastlog (default: on) 1906 --enable-lastlog (default: on)
1776 Write user and tty to lastlog file (used by programs like lastlogin) 1907 Write user and tty to lastlog file (used by programs like lastlogin)
1777 at start of rxvt execution. This option requires --enable-utmp to 1908 at start of rxvt execution. This option requires --enable-utmp to
1778 also be specified. 1909 also be specified.
1779 1910
1780 --enable-xpm-background (default: off) 1911 --enable-xpm-background (default: on)
1781 Add support for XPM background pixmaps. 1912 Add support for XPM background pixmaps.
1782 1913
1783 --enable-transparency (default: off) 1914 --enable-transparency (default: on)
1784 Add support for inheriting parent backgrounds thus giving a fake 1915 Add support for inheriting parent backgrounds thus giving a fake
1785 transparency to the term. 1916 transparency to the term.
1786 1917
1787 --enable-fading (default: on) 1918 --enable-fading (default: on)
1788 Add support for fading the text when focus is lost (requires 1919 Add support for fading the text when focus is lost (requires
1790 1921
1791 --enable-tinting (default: on) 1922 --enable-tinting (default: on)
1792 Add support for tinting of transparent backgrounds (requires 1923 Add support for tinting of transparent backgrounds (requires
1793 "--enable-transparency"). 1924 "--enable-transparency").
1794 1925
1795 --enable-menubar (default: off) 1926 --enable-menubar (default: off) [DEPRECATED]
1796 Add support for our menu bar system (this interacts badly with 1927 Add support for our menu bar system (this interacts badly with
1797 dynamic locale switching currently). 1928 dynamic locale switching currently). This option is DEPRECATED and
1929 will be removed in the future.
1798 1930
1799 --enable-rxvt-scroll (default: on) 1931 --enable-rxvt-scroll (default: on)
1800 Add support for the original rxvt scrollbar. 1932 Add support for the original rxvt scrollbar.
1801 1933
1802 --enable-next-scroll (default: on) 1934 --enable-next-scroll (default: on)
1856 A non-exhaustive list of features enabled by "--enable-frills" 1988 A non-exhaustive list of features enabled by "--enable-frills"
1857 (possibly in combination with other switches) is: 1989 (possibly in combination with other switches) is:
1858 1990
1859 MWM-hints 1991 MWM-hints
1860 EWMH-hints (pid, utf8 names) and protocols (ping) 1992 EWMH-hints (pid, utf8 names) and protocols (ping)
1861 seperate underline colour 1993 seperate underline colour (-underlineColor)
1862 settable border widths and borderless switch 1994 settable border widths and borderless switch (-w, -b, -bl)
1863 settable extra linespacing 1995 settable extra linespacing /-lsp)
1864 iso-14755-2 and -3, and visual feedback 1996 iso-14755-2 and -3, and visual feedback
1865 backindex and forwardindex escape sequence 1997 backindex and forwardindex escape sequence
1866 window op and some xterm/OSC escape sequences 1998 window op and some xterm/OSC escape sequences
1867 tripleclickwords 1999 tripleclickwords (-tcw)
1868 settable insecure mode 2000 settable insecure mode (-insecure)
1869 keysym remapping support 2001 keysym remapping support
1870 cursor blinking and underline cursor 2002 cursor blinking and underline cursor (-cb, -uc)
1871 -embed and -pty-fd options 2003 XEmbed support (-embed)
2004 user-pty (-pty-fd)
2005 hold on exit (-hold)
2006 skip builtin block graphics (-sbg)
2007 sgr modes 90..97 and 100..107
1872 2008
1873 --enable-iso14755 (default: on) 2009 --enable-iso14755 (default: on)
1874 Enable extended ISO 14755 support (see urxvt(1), or doc/rxvt.1.txt). 2010 Enable extended ISO 14755 support (see rxvt(1), or doc/rxvt.1.txt).
1875 Basic support (section 5.1) is enabled by "--enable-frills", while 2011 Basic support (section 5.1) is enabled by "--enable-frills", while
1876 support for 5.2, 5.3 and 5.4 is enabled with this switch. 2012 support for 5.2, 5.3 and 5.4 is enabled with this switch.
1877 2013
1878 --enable-keepscrolling (default: on) 2014 --enable-keepscrolling (default: on)
1879 Add support for continual scrolling of the display when you hold the 2015 Add support for continual scrolling of the display when you hold the
1903 Use Doug Lea's malloc - which is good for a production version See 2039 Use Doug Lea's malloc - which is good for a production version See
1904 <http://g.oswego.edu/dl/html/malloc.html> for details. 2040 <http://g.oswego.edu/dl/html/malloc.html> for details.
1905 2041
1906 --enable-smart-resize (default: on) 2042 --enable-smart-resize (default: on)
1907 Add smart growth/shrink behaviour when changing font size via hot 2043 Add smart growth/shrink behaviour when changing font size via hot
1908 keys. This should keep in a fixed position the urxvt corner which is 2044 keys. This should keep the window corner which is closest to a
1909 closest to a corner of the screen. 2045 corner of the screen in a fixed position.
1910 2046
1911 --enable-pointer-blank (default: on) 2047 --enable-pointer-blank (default: on)
1912 Add support to have the pointer disappear when typing or inactive. 2048 Add support to have the pointer disappear when typing or inactive.
2049
2050 --enable-perl (default: off)
2051 Enable an embedded perl interpreter. See the rxvtperl(3) manpage
2052 (doc/rxvtperl.txt) for more info on this feature, or the files in
2053 src/perl-ext/ for the extensions that are installed by default. The
2054 perl interpreter that is used can be specified via the "PERL"
2055 environment variable when running configure.
1913 2056
1914 --with-name=NAME (default: urxvt) 2057 --with-name=NAME (default: urxvt)
1915 Set the basename for the installed binaries, resulting in "urxvt", 2058 Set the basename for the installed binaries, resulting in "urxvt",
1916 "urxvtd" etc.). Specify "--with-name=rxvt" to replace with "rxvt". 2059 "urxvtd" etc.). Specify "--with-name=rxvt" to replace with "rxvt".
1917 2060

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines