--- rxvt-unicode/doc/rxvt.7.html 2005/11/08 17:35:28 1.25 +++ rxvt-unicode/doc/rxvt.7.html 2006/01/12 23:11:23 1.42 @@ -75,11 +75,173 @@

FREQUENTLY ASKED QUESTIONS

+
The new selection selects pieces that are too big/too small, can I +change this?
+
+
+Yes. For example, if you want to select smaller pieces (``words'') you can +use the following resource: +
+
+
+   URxvt.selection.pattern-0: ([[:word:]]+)
+
+
+

If you click more than twice, the selection will be extended +more and more.

+
+
+

To get a selection that is very similar to the old code, try this pattern:

+
+
+
+   URxvt.selection.pattern-0: ([^"&'()*,;<=>?@[\\\\]^`{|})]+)
+
+

+
I don't like the new selection/popups/hotkeys/perl, how do I +change/disable it?
+
+
+You can disable the perl extension completely by setting the +perl-ext-common resource to the empty string, which also keeps +rxvt-unicode from initialising perl, saving memory. +
+
+

If you only want to disable specific features, you first have to +identify which perl extension is responsible. For this, read the section +PREPACKAGED EXTENSIONS in the rxvtperl(3) manpage. For +example, to disable the selection-popup and option-popup, specify +this perl-ext-common resource:

+
+
+
+   URxvt.perl-ext-common: default,-selection-popup,-option-popup
+
+
+

This will keep the default extensions, but disable the two popup +extensions. Some extensions can also be configured, for example, +scrollback search mode is triggered by M-s. You can move it to any +other combination either by setting the searchable-scrollback resource:

+
+
+
+   URxvt.searchable-scrollback: CM-s
+
+

+
Isn't rxvt supposed to be small? Don't all those features bloat?
+
+
+I often get asked about this, and I think, no, they didn't cause extra +bloat. If you compare a minimal rxvt and a minimal urxvt, you can see +that the urxvt binary is larger (due to some encoding tables always being +compiled in), but it actually uses less memory (RSS) after startup. Even +with --disable-everything, this comparison is a bit unfair, as many +features unique to urxvt (locale, encoding conversion, iso14755 etc.) are +already in use in this mode. +
+
+
+    text    data     bss     drs     rss filename
+   98398    1664      24   15695    1824 rxvt --disable-everything
+  188985    9048   66616   18222    1788 urxvt --disable-everything
+
+
+

When you --enable-everything (which _is_ unfair, as this involves xft +and full locale/XIM support which are quite bloaty inside libX11 and my +libc), the two diverge, but not unreasnobaly so.

+
+
+
+    text    data     bss     drs     rss filename
+  163431    2152      24   20123    2060 rxvt --enable-everything
+ 1035683   49680   66648   29096    3680 urxvt --enable-everything
+
+
+

The very large size of the text section is explained by the east-asian +encoding tables, which, if unused, take up disk space but nothing else +and can be compiled out unless you rely on X11 core fonts that use those +encodings. The BSS size comes from the 64k emergency buffer that my c++ +compiler allocates (but of course doesn't use unless you are out of +memory). Also, using an xft font instead of a core font immediately adds a +few megabytes of RSS. Xft indeed is responsible for a lot of RSS even when +not used.

+
+
+

Of course, due to every character using two or four bytes instead of one, +a large scrollback buffer will ultimately make rxvt-unicode use more +memory.

+
+
+

Compared to e.g. Eterm (5112k), aterm (3132k) and xterm (4680k), this +still fares rather well. And compared to some monsters like gnome-terminal +(21152k + extra 4204k in separate processes) or konsole (22200k + extra +43180k in daemons that stay around after exit, plus half a minute of +startup time, including the hundreds of warnings it spits out), it fares +extremely well *g*.

+
+

+
Why C++, isn't that unportable/bloated/uncool?
+
+
+Is this a question? :) It comes up very often. The simple answer is: I had +to write it, and C++ allowed me to write and maintain it in a fraction +of the time and effort (which is a scarce resource for me). Put even +shorter: It simply wouldn't exist without C++. +
+
+

My personal stance on this is that C++ is less portable than C, but in +the case of rxvt-unicode this hardly matters, as its portability limits +are defined by things like X11, pseudo terminals, locale support and unix +domain sockets, which are all less portable than C++ itself.

+
+
+

Regarding the bloat, see the above question: It's easy to write programs +in C that use gobs of memory, an certainly possible to write programs in +C++ that don't. C++ also often comes with large libraries, but this is +not necessarily the case with GCC. Here is what rxvt links against on my +system with a minimal config:

+
+
+
+   libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00002aaaaabc3000)
+   libc.so.6 => /lib/libc.so.6 (0x00002aaaaadde000)
+   libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab01d000)
+   /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000)
+
+
+

And here is rxvt-unicode:

+
+
+
+   libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00002aaaaabc3000)
+   libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00002aaaaada2000)
+   libc.so.6 => /lib/libc.so.6 (0x00002aaaaaeb0000)     
+   libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab0ee000)   
+   /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000)
+
+
+

No large bloated libraries (of course, none were linked in statically), +except maybe libX11 :)

+
+

+
Does it support tabs, can I have a tabbed rxvt-unicode?
+
+
+rxvt-unicode does not directly support tabs. It will work fine with +tabbing functionality of many window managers or similar tabbing programs, +and its embedding-features allow it to be embedded into other programs, +as witnessed by doc/rxvt-tabbed or the upcoming Gtk2::URxvt perl +module, which features a tabbed urxvt (murxvt) terminal as an example +embedding application. +
+

How do I know which rxvt-unicode version I'm using?
The version number is displayed with the usage (-h). Also the escape -sequence ESC [ 8 n sets the window title to the version number. +sequence ESC [ 8 n sets the window title to the version number. When +using the rxvtc client, the version displayed is that of the +daemon.

I am using Debian GNU/Linux and have a problem...
@@ -101,6 +263,53 @@ might encounter the same issue.

+
I am maintaining rxvt-unicode for distribution/OS XXX, any recommendation?
+
+
+You should build one binary with the default options. configure +now enables most useful options, and the trend goes to making them +runtime-switchable, too, so there is usually no drawback to enbaling them, +except higher disk and possibly memory usage. The perl interpreter should +be enabled, as important functionality (menus, selection, likely more in +the future) depends on it. +
+
+

You should not overwrite the perl-ext-common snd perl-ext resources +system-wide (except maybe with defaults). This will result in useful +behaviour. If your distribution aims at low memory, add an empty +perl-ext-common resource to the app-defaults file. This will keep the +perl interpreter disabled until the user enables it.

+
+
+

If you can/want build more binaries, I recommend building a minimal +one with --disable-everything (very useful) and a maximal one with +--enable-everything (less useful, it will be very big due to a lot of +encodings built-in that increase download times and are rarely used).

+
+

+
I need to make it setuid/setgid to support utmp/ptys on my OS, is this safe?
+
+
+Likely not. While I honestly try to make it secure, and am probably not +bad at it, I think it is simply unreasonable to expect all of freetype ++ fontconfig + xft + xlib + perl + ... + rxvt-unicode itself to all be +secure. Also, rxvt-unicode disables some options when it detects that it +runs setuid or setgid, which is not nice. Besides, with the embedded perl +interpreter the possibility for security problems easily multiplies. +
+
+

Elevated privileges are only required for utmp and pty operations on some +systems (for example, GNU/Linux doesn't need any extra privileges for +ptys, but some need it for utmp support). It is planned to mvoe this into +a forked handler process, but this is not yet done.

+
+
+

So, while setuid/setgid operation is supported and not a problem on your +typical single-user-no-other-logins unix desktop, always remember that +its an awful lot of code, most of which isn't checked for security issues +regularly.

+
+

When I log-in to another system it tells me about missing terminfo data?
@@ -147,7 +356,7 @@ enacs=\E[0@ and try again.

-
bash's readline does not work correctly under urxvt.
+
bash's readline does not work correctly under rxvt.
I need a termcap file entry.
@@ -311,7 +520,7 @@
-   urxvt -fn basefont,font2,font3...
+ rxvt -fn basefont,font2,font3...

When rxvt-unicode sees a character, it will first look at the base @@ -695,7 +904,7 @@ some editors prematurely may leave the mouse in mouse report mode. I've heard that tcsh may use mouse reporting unless it otherwise specified. A quick check is to see if cut/paste works when the Alt or Shift keys are -depressed. See urxvt(7) +depressed. See rxvt(7)

What's with this bold/blink stuff?
@@ -779,10 +988,10 @@ URxvt.color15: #e1dddd

-
How can I start urxvtd in a race-free way?
+
How can I start rxvtd in a race-free way?
-Try urxvtd -f -o, which tells urxvtd to open the +Try rxvtd -f -o, which tells rxvtd to open the display, create the listening socket and then fork.

@@ -813,16 +1022,16 @@
    # use Backspace = ^H
    $ stty erase ^H
-   $ urxvt
+ $ rxvt
    # use Backspace = ^?
    $ stty erase ^?
-   $ urxvt
+ $ rxvt
-

Toggle with ESC [ 36 h / ESC [ 36 l as documented in urxvt(7).

+

Toggle with ESC [ 36 h / ESC [ 36 l as documented in rxvt(7).

For an existing rxvt-unicode:

@@ -870,7 +1079,7 @@ use the `keysym' resource to alter the keystrings associated with keysyms.
-

Here's an example for a URxvt session started using urxvt -name URxvt

+

Here's an example for a URxvt session started using rxvt -name URxvt

@@ -1706,6 +1915,11 @@
 
+
hScroll to bottom when a key is pressed
lDon't scroll to bottom when a key is pressed
Ps = 1021 > (rxvt)
+
+ + +
hBold/italic implies high intensity (see option -is)
lFont styles have no effect on intensity (Compile styles)
Ps = 1047 >
@@ -1747,8 +1961,8 @@ - - + + @@ -1759,12 +1973,15 @@ + + +
Ps = 12Change colour of text cursor foreground to Pt
Ps = 13Change colour of mouse foreground to Pt
Ps = 17Change colour of highlight characters to Pt
Ps = 18Change colour of bold characters to Pt
Ps = 19Change colour of underlined characters to Pt
Ps = 18Change colour of bold characters to Pt [deprecated, see 706]
Ps = 19Change colour of underlined characters to Pt [deprecated, see 707]
Ps = 20Change default background to Pt
Ps = 39Change default foreground colour to Pt.
Ps = 46Change Log File to Pt unimplemented
Ps = 703Menubar command Pt (Compile menubar).
Ps = 704Change colour of italic characters to Pt
Ps = 705Change background pixmap tint colour to Pt (Compile transparency).
Ps = 706Change colour of bold characters to Pt
Ps = 707Change colour of underlined characters to Pt
Ps = 710Set normal fontset to Pt. Same as Ps = 50.
Ps = 711Set bold fontset to Pt. Similar to Ps = 50 (Compile styles).
Ps = 712Set italic fontset to Pt. Similar to Ps = 50 (Compile styles).
Ps = 713Set bold-italic fontset to Pt. Similar to Ps = 50 (Compile styles).
Ps = 720Move viewing window up by Pt lines, or clear scrollback buffer if Pt = 0 (Compile frills).
Ps = 721Move viewing window down by Pt lines, or clear scrollback buffer if Pt = 0 (Compile frills).
Ps = 777Call the perl extension with the given string, which should be of the form extension:parameters (Compile perl).

@@ -2684,13 +2901,13 @@ --enable-utmp to also be specified.

-
--enable-xpm-background (default: off)
+
--enable-xpm-background (default: on)
Add support for XPM background pixmaps.

-
--enable-transparency (default: off)
+
--enable-transparency (default: on)
Add support for inheriting parent backgrounds thus giving a fake @@ -2709,11 +2926,12 @@ Add support for tinting of transparent backgrounds (requires --enable-transparency).

-
--enable-menubar (default: off)
+
--enable-menubar (default: off) [DEPRECATED]
-Add support for our menu bar system (this interacts badly with -dynamic locale switching currently). +Add support for our menu bar system (this interacts badly with dynamic +locale switching currently). This option is DEPRECATED and will be removed +in the future.

--enable-rxvt-scroll (default: on)
@@ -2775,19 +2993,6 @@ Removes any support for resource checking.

-
--enable-xgetdefault
-
-
-Make resources checking via XGetDefault() instead of our small -version which only checks ~/.Xdefaults, or if that doesn't exist then -~/.Xresources. -
-
-

Please note that nowadays, things like XIM will automatically pull in and -use the full X resource manager, so the overhead of using it might be very -small, if nonexistant.

-
-

--enable-strings (default: off)
@@ -2819,23 +3024,27 @@
   MWM-hints
   EWMH-hints (pid, utf8 names) and protocols (ping)
-  seperate underline colour
-  settable border widths and borderless switch
-  settable extra linespacing
+  seperate underline colour (-underlineColor)
+  settable border widths and borderless switch (-w, -b, -bl)
+  settable extra linespacing /-lsp)
   iso-14755-2 and -3, and visual feedback
   backindex and forwardindex escape sequence
   window op and some xterm/OSC escape sequences
-  tripleclickwords
-  settable insecure mode
+  tripleclickwords (-tcw)
+  settable insecure mode (-insecure)
   keysym remapping support
-  cursor blinking and underline cursor
-  -embed and -pty-fd options
+ cursor blinking and underline cursor (-cb, -uc) + XEmbed support (-embed) + user-pty (-pty-fd) + hold on exit (-hold) + skip builtin block graphics (-sbg) + sgr modes 90..97 and 100..107

--enable-iso14755 (default: on)
-Enable extended ISO 14755 support (see urxvt(1), or +Enable extended ISO 14755 support (see rxvt(1), or doc/rxvt.1.txt). Basic support (section 5.1) is enabled by --enable-frills, while support for 5.2, 5.3 and 5.4 is enabled with this switch. @@ -2892,8 +3101,8 @@
Add smart growth/shrink behaviour when changing font size via hot -keys. This should keep in a fixed position the urxvt corner which is -closest to a corner of the screen. +keys. This should keep the window corner which is closest to a corner of +the screen in a fixed position.

--enable-pointer-blank (default: on)
@@ -2902,6 +3111,16 @@ Add support to have the pointer disappear when typing or inactive.

+
--enable-perl (default: off)
+
+
+Enable an embedded perl interpreter. See the rxvtperl(3) +manpage (doc/rxvtperl.txt) for more info on this feature, or the files +in src/perl-ext/ for the extensions that are installed by default. The +perl interpreter that is used can be specified via the PERL environment +variable when running configure. +
+

--with-name=NAME (default: urxvt)