--- rxvt-unicode/doc/rxvt.1.pod 2004/08/24 15:46:27 1.22 +++ rxvt-unicode/doc/rxvt.1.pod 2005/06/30 14:02:17 1.66 @@ -14,6 +14,13 @@ configurability. As a result, B uses much less swap space -- a significant advantage on a machine serving many X sessions. +=head1 FREQUENTLY ASKED QUESTIONS + +See @@RXVT_NAME@@(7) (try C) for a list of +frequently asked questions and answer to them and some common +problems. That document is also accessible on the World-Wide-Web at +L. + =head1 RXVT-UNICODE VS. RXVT Unlike the original rxvt, B stores all text in Unicode @@ -26,7 +33,7 @@ fine, though. A somewhat difficult case are left-to-right scripts, such as hebrew: B adopts the view that bidirectional algorithms belong into the application, not the terminal emulator (too many things -- -such as cursor-movement while editing -- break othwerwise), but that might +such as cursor-movement while editing -- break otherwise), but that might change. If you are looking for a terminal that supports more exotic scripts, let @@ -55,8 +62,7 @@ It also makes technical information about escape sequences (which have been extended) easier accessible: see @@RXVT_NAME@@(7) for technical -reference documentation (escape sequences etc.) and the FAQ section at the -end of this document. +reference documentation (escape sequences etc.). =head1 OPTIONS @@ -108,7 +114,7 @@ =item B<-fade> I -Fade the text by the given percentage when focus is lost. +Fade the text by the given percentage when focus is lost. resource B. =item B<-tint> I @@ -121,7 +127,7 @@ I Darken (0 .. 100) or lighten (-1 .. -100) the transparent background image in addition to tinting it (i.e. B<-tint> must be -specified, too). +specified, too, e.g. C<-tint white>). =item B<-bg> I @@ -134,8 +140,8 @@ =item B<-pixmap> I Compile I: Specify XPM file for the background and also optionally -specify its scaling with a geometry string. Note you may need to add -quotes to avoid special shell interpretation of the `;' in the +specify its scaling with a geometry string. Note you may need to +add quotes to avoid special shell interpretation of the C<;> in the command-line; resource B. =item B<-cr> I @@ -160,11 +166,18 @@ Select the fonts to be used. This is a comma separated list of font names that are used in turn when trying to display Unicode characters. The first font defines the cell size for characters; other fonts might be -smaller, but not (in general) larger. A reasonable default font list is -always appended to it. See resource B for details. +smaller, but not (in general) larger. A (hopefully) reasonable default +font list is always appended to it. See resource B for more details. + +In short, to specify an X11 core font, just specify it's name or prefix it +with C. To specify an XFT-font, you need to prefix it with C, +e.g.: + + @@RXVT_NAME@@ -fn "xft:Bitstream Vera Sans Mono:pixelsize=15" + @@RXVT_NAME@@ -fn "9x15bold,xft:Bitstream Vera Sans Mono" See also the question "How does rxvt-unicode choose fonts?" in the FAQ -section. +section of @@RXVT_NAME@@(7). =item B<-fb> I @@ -227,9 +240,17 @@ =item B<-st>|B<+st> -Display normal (non XTerm/NeXT) scrollbar without/with a trough; +Display rxvt (non XTerm/NeXT) scrollbar without/with a trough; resource B. +=item B<-ptab>|B<+ptab> + +If enabled (default), "Horizontal Tab" characters are being stored as +actual wide characters in the screen buffer, which makes it possible to +select and paste them. Since a horizontal tab is a cursor movement and +not an actual glyph, this can sometimes be visually annoying as the cursor +on a tab character is displayed as a wide cursor; resource B. + =item B<-bc>|B<+bc> Blink the cursor; resource B. @@ -263,8 +284,9 @@ =item B<-lsp> I -Compile I: Lines (pixel height) to insert between each row -of the display; resource B. +Compile I: Lines (pixel height) to insert between each row of +the display. Useful to work around font rendering problems; resource +B. =item B<-tn> I @@ -310,10 +332,21 @@ =item B<-imlocale> I -The locale to use for opening the IM. You can use an LC_CTYPE of e.g. -de_DE.UTF-8 for normal text processing but ja_JP.EUC-JP for the input -extension to be able to input japanese characters while staying in -another locale. +The locale to use for opening the IM. You can use an C of e.g. +C for normal text processing but C for the +input extension to be able to input japanese characters while staying in +another locale. resource B. + +=item B<-imfont> I + +Set the font set to use for the X Input Method, see resource B +for more info. + +=item B<-tcw> + +Change the meaning of triple-click selection with the left mouse +button. Instead of selecting a full line it will extend the selection the +end of the logical line only. resource B. =item B<-insecure> @@ -337,11 +370,62 @@ Turn on/off secondary screen scroll (default enabled); resource B. -=item B<-xrm> I +=item B<-keysym.>I I + +Remap a key symbol. See resource B. + +=item B<-embed> I + +Tells @@RXVT_NAME@@ to embed it's windows into an already-existing window, +which enables applications to easily embed a terminal. -No effect on rxvt-unicode. Simply passes through an argument to be made -available in the instance's argument list. Appears in I in -some window managers. +Right now, @@RXVT_NAME@@ will first unmap/map the specified window, so it +shouldn't be a top-level window. @@RXVT_NAME@@ will also reconfigure it +quite a bit, so don't expect it to keep some specific state. It's best to +create an extra subwindow for @@RXVT_NAME@@ and leave it alone. + +The window will not be destroyed when @@RXVT_NAME@@ exits. + +It might be useful to know that @@RXVT_NAME@@ will not close file +descriptors passed to it (except for stdin/out/err, of course), so you +can use file descriptors to communicate with the programs within the +terminal. This works regardless of wether the C<-embed> option was used or +not. + +Here is a short Gtk2-perl snippet that illustrates how this option can be +used (a longer example is in F): + + my $rxvt = new Gtk2::Socket; + $rxvt->signal_connect_after (realize => sub { + my $xid = $_[0]->window->get_xid; + system "@@RXVT_NAME@@ -embed $xid &"; + }); + +=item B<-pty-fd> I + +Tells @@RXVT_NAME@@ NOT to execute any commands or create a new pty/tty +pair but instead use the given filehandle as the tty master. This is +useful if you want to drive @@RXVT_NAME@@ as a generic terminal emulator +without having to run a program within it. + +If this switch is given, @@RXVT_NAME@@ will not create any utmp/wtmp +entries and will not tinker with pty/tty permissions - you have to do that +yourself if you want that. + +Here is a example in perl that illustrates how this option can be used (a +longer example is in F): + + use IO::Pty; + use Fcntl; + + my $pty = new IO::Pty; + fcntl $pty, F_SETFD, 0; # clear close-on-exec + system "@@RXVT_NAME@@ -pty-fd " . (fileno $pty) . "&"; + close $pty; + + # now communicate with rxvt + my $slave = $pty->slave; + while (<$slave>) { print $slave "got <$_>\n" } =back @@ -354,8 +438,16 @@ Xresource data: using the X libraries (Xrm*-functions) or internal Xresources reader (B<~/.Xdefaults>). For the first method (ie. B<@@RXVT_NAME@@ -h> lists B), you can set and change the -resources using X11 tools like B. Many distribution do also load -settings from the B<~/.Xresources> file when X starts. +resources using X11 tools like B. Many distribution do also load +settings from the B<~/.Xresources> file when X starts. @@RXVT_NAME@@ +will consult the following files/resources in order, with later settings +overwriting earlier ones: + + 1. system-wide app-defaults file, either locale-dependent OR global + 2. app-defaults file in $XAPPLRESDIR + 3. RESOURCE_MANAGER property on root-window OR $HOME/.Xdefaults + 4. SCREEN_RESOURCES for the current screen + 5. $XENVIRONMENT file OR $HOME/.Xdefaults- If compiled with internal Xresources support (i.e. B<@@RXVT_NAME@@ -h> lists B<.Xdefaults>) then B<@@RXVT_NAME@@> accepts application defaults @@ -410,7 +502,7 @@ Use the specified colour to display bold or italic characters when the foreground colour is the default. If font styles are not available -(Compile styles) and this option is unset, reverse video is used instead. +(Compile I) and this option is unset, reverse video is used instead. =item B I @@ -422,6 +514,11 @@ Use the specified colour as the background for reverse video characters. +=item B I + +If set, use the specified colour as the colour for the underline +itself. If unset, use the foreground colour. + =item B I Use the specified colour for the cursor. The default is to use the @@ -464,10 +561,6 @@ Darken (0 .. 100) or lighten (-1 .. -100) the transparent background image in addition to tinting it. -=item B I - -Scale the tint colour by the given percentage. - =item B I Use the specified colour for the scrollbar [default #B2B2B2]. @@ -475,7 +568,7 @@ =item B I Use the specified colour for the scrollbar's trough area [default -#969696]. Only relevant for normal (non XTerm/NeXT) scrollbar. +#969696]. Only relevant for rxvt (non XTerm/NeXT) scrollbar. =item B I @@ -515,7 +608,7 @@ appended to it. option B<-fn>. Each font can either be a standard X11 core font (XLFD) name, with -optional prefix C or a Xft font (Compile xft), prefixed with C. +optional prefix C or a Xft font (Compile I), prefixed with C. In addition, each font can be prefixed with additional hints and specifications enclosed in square brackets (C<[]>). The only available @@ -535,7 +628,7 @@ it is named first) and thus defines the character cell grid to be 9 pixels wide and 15 pixels high. -the second font is just used to add additional unicode characters not in +The second font is just used to add additional unicode characters not in the base font, likewise the third, which is unfortunately non-bold, but the bold version of the font does contain less characters, so this is a useful supplement. @@ -577,7 +670,7 @@ =item B I Set scrollbar style to B, B, B or B. B is -the author's favourite.. +the author's favourite. =item B I @@ -619,6 +712,15 @@ B to initiate a screen dump to the printer and B or B to include the scrollback as well. +The string will be interpreted as if typed into the shell as-is. + +Example: + + URxvt*print-pipe: cat > $(TMPDIR=$HOME mktemp urxvt.XXXXXX) + +This creates a new file in your home directory with the screen contents +everytime you hit C. + =item B I B: enable the scrollbar [default]; option B<-sb>. B: @@ -647,9 +749,9 @@ =item B I -B: scroll with scrollback buffer when tty recieves new lines (and -B is False); option B<+sw>. B: do not scroll -with scrollback buffer when tty recieves new lines; option B<-sw>. +B: scroll with scrollback buffer when tty receives new lines (and +B is False); option B<-sw>. B: do not scroll +with scrollback buffer when tty recieves new lines; option B<+sw>. =item B I @@ -698,6 +800,11 @@ B: the mouse wheel scrolls a page full. B: the mouse wheel scrolls five lines [default]. +=item B I + +B: store tabs as wide characters. B: interpret tabs as cursor +movement only; option C<-ptab>. + =item B I B: blink the cursor. B: do not blink the cursor [default]; @@ -719,7 +826,8 @@ =item B I -Specifies number of seconds before blanking the pointer [default 2]. +Specifies number of seconds before blanking the pointer [default 2]. Use a +large number (e.g. C<987654321>) to effectively disable the timeout. =item B I @@ -751,16 +859,31 @@ =item B I -The locale to use for opening the IM. You can use an LC_CTYPE of e.g. -de_DE.UTF-8 for normal text processing but ja_JP.EUC-JP for the input -extension to be able to input japanese characters while staying in +The locale to use for opening the IM. You can use an C of e.g. +C for normal text processing but C for the +input extension to be able to input japanese characters while staying in another locale. option B<-imlocale>. +=item B I + +Specify the font-set used for XIM styles C or +C. It must be a standard X font set (XLFD patterns separated +by commas), i.e. it's not in the same format as the other font lists used +in @@RXVT_NAME@@. The default will be set-up to chose *any* suitable found +found, preferably one or two pixels differing in size to the base font. +option B<-imfont>. + +=item B I + +Change the meaning of triple-click selection with the left mouse +button. Instead of selecting a full line it will extend the selection to +the end of the logical line only. option B<-tcw>. + =item B I Enables "insecure" mode. Rxvt-unicode offers some escape sequences that echo arbitrary strings like the icon name or the locale. This could be -abused if somebody gets 8-bit-clean access to your display, wether +abused if somebody gets 8-bit-clean access to your display, whether throuh a mail client displaying mail bodies unfiltered or though write(1). Therefore, these sequences are disabled by default. (Note that other terminals, including xterm, have these sequences @@ -794,14 +917,89 @@ =item BI: I -Associate I with keysym I (B<0xFF00 - 0xFFFF>). It may -contain escape values (\a: bell, \b: backspace, \e, \E: escape, \n: -newline, \r: return, \t: -tab, \000: octal number) or control characters (^?: delete, ^@: null, -^A ...) and may enclosed with double quotes so that it can start or end -with whitespace. The intervening resource name B cannot be -omitted. This resource is only available when compiled with -KEYSYM_RESOURCE. +Compile I: Associate I with keysym I. The +intervening resource name B cannot be omitted. + +The format of I is "I<(modifiers-)key>", where I can be +any combination of B, B, B, B, +B, B, B, B, B, B, B, B, +and the abbreviated B, B, B, B, B, B, B, B, B<1>, +B<2>, B<3>, B<4>, B<5>. + +The B, B and B modifiers are usually aliased to +whatever modifier the NumLock key, Meta/Alt keys or ISO Level3 Shift/AltGr +keys are being mapped. B is a synthetic modifier mapped to the +current application keymap mode state. + +The spellings of I can be obtained by using B(1) command or +searching keysym macros from B and +omitting the prefix B. Alternatively you can specify I by its hex +keysym value (B<0x0000 - 0xFFFF>). Note that the lookup of Is is not +performed in an exact manner; however, the closest match is assured. + +I may contain escape values (C<\a>: bell, C<\b>: backspace, +C<\e>, C<\E>: escape, C<\n>: newline, C<\r>: carriage return, C<\t>: tab, +C<\000>: octal number) or verbatim control characters (C<^?>: delete, +C<^@>: null, C<^A> ...) and may be enclosed with double quotes so that it +can start or end with whitespace. + +Please note that you need to double the C<\> when using +C<--enable-xgetdefault>, as X itself does it's own de-escaping (you can +use C<\033> instead of C<\e> (and so on), which will work with both Xt and +@@RXVT_NAME@@'s own processing). + +You can define a range of keysyms in one shot by providing a I +with pattern B, where the delimeter `/' +should be a character not used by the strings. + +Its usage can be demonstrated by an example: + + URxvt.keysym.M-C-0x61: list|\033 + +The above line is equivalent to the following three lines: + + URxvt.keysym.Meta-Control-0x61: \033 + URxvt.keysym.Meta-Control-0x62: \033 + URxvt.keysym.Meta-Control-0x63: \033 + +If I takes the form of C, the specified B +is interpreted and executed as @@RXVT_NAME@@'s control sequence. For +example the following means "change the current locale to C +when Control-Meta-c is being pressed": + + URxvt.keysym.M-C-c: command:\033]701;zh_CN.GBK\007 + +Due the the large number of modifier combinations, a defined key mapping +will match if at I the specified identifiers are being set, and +no other key mappings with those and more bits are being defined. That +means that defining a key map for C will automatically provide +definitions for C, C and so on, unless some of those are defined +mappings themselves. + +Unfortunately, this will override built-in key mappings. For example +if you overwrite the C key you will disable @@RXVT_NAME@@'s +C mapping. To re-enable that, you can poke "holes" into the +user-defined keymap using the C replacement: + + URxvt.keysym.Insert: + URxvt.keysym.S-Insert: builtin: + +The first line defines a mapping for C and I combination +of modifiers. The second line re-establishes the default mapping for +C. + +The following example will map Control-Meta-1 and Control-Meta-2 to +the fonts C and C<9x15bold>, so you can have some limited +font-switching at runtime: + + URxvt.keysym.M-C-1: command:\033]50;suxuseuro\007 + URxvt.keysym.M-C-2: command:\033]50;9x15bold\007 + +Other things are possible, e.g. resizing (see @@RXVT_NAME@@(7) for more +info): + + URxvt.keysym.M-C-3: command:\033[8;25;80t + URxvt.keysym.M-C-4: command:\033[8;48;110t =back @@ -825,9 +1023,9 @@ If mouse reporting mode is active, the normal scrollbar actions are disabled -- on the assumption that we are using a fullscreen -application. Instead, pressing Button1 and Button3 sends B -(Next) and B (Prior), respectively. Similarly, clicking on the -up and down arrows sends B (Up) and B (Down), +application. Instead, pressing Button1 and Button3 sends B +(Next) and B (Prior), respectively. Similarly, clicking on the +up and down arrows sends B (Up) and B (Down), respectively. =head1 TEXT SELECTION AND INSERTION @@ -839,10 +1037,15 @@ =item B: -Left click at the beginning of the region, drag to the end of the -region and release; Right click to extend the marked region; Left -double-click to select a word; Left triple-click to select the entire -line. +Left click at the beginning of the region, drag to the end of the region +and release; Right click to extend the marked region; Left double-click +to select a word; Left triple-click to select the entire logical line +(which can span multiple screen lines), unless modified by resource +B. + +Starting a selection while pressing the B key (or B keys) +(Compile: I) will create a rectangular selection instead of a normal +one. =item B: @@ -874,7 +1077,7 @@ =over 4 -=item 5.1: Basic method +=item * 5.1: Basic method This allows you to enter unicode characters using their hexcode. @@ -891,7 +1094,7 @@ by pressing C and C, followed by C<6-7-1-D-SPACE-6-5-E-5>, followed by releasing the modifier keys. -=item 5.2: Keyboard symbols entry method +=item * 5.2: Keyboard symbols entry method This mode lets you input characters representing the keycap symbols of your keyboard, if representable in the current locale encoding. @@ -901,15 +1104,15 @@ invoke it's usual function but instead will insert the corresponding keycap symbol. The symbol will only be entered when the key has been released, otherwise pressing e.g. C would enter the symbol for -C, although your intention might have beenm to enter a +C, although your intention might have been to enter a reverse tab (Shift-Tab). -=item 5.3: Screen-selection entry method +=item * 5.3: Screen-selection entry method While this is implemented already (it's basically the selection mechanism), it could be extended by displaying a unicode character map. -=item 5.4: Feedback method for identifying displayed characters for later input +=item * 5.4: Feedback method for identifying displayed characters for later input This method lets you display the unicode character code associated with characters already displayed. @@ -931,10 +1134,10 @@ =head1 LOGIN STAMP -B<@@RXVT_NAME@@> tries to write an entry into the I(5) file so -that it can be seen via the I command, and can accept messages. -To allow this feature, B<@@RXVT_NAME@@> must be installed setuid root on -some systems. +B<@@RXVT_NAME@@> tries to write an entry into the I(5) file so that +it can be seen via the I command, and can accept messages. To +allow this feature, B<@@RXVT_NAME@@> may need to be installed setuid root +on some systems or setgid to root or to some other group on others. =head1 COLORS AND GRAPHICS @@ -985,498 +1188,90 @@ =back -=head1 FREQUENTLY ASKED QUESTIONS (FAQ) - -=over 4 +=head1 ENVIRONMENT -=item How do I know which rxvt-unicode version I'm using? +B<@@RXVT_NAME@@> sets and/or uses the following environment variables: -The version number is displayed with the usage (-h). Also the escape -sequence C sets the window title to the version number. +=over 4 -=item When I log-in to another system it tells me about missing terminfo data? +=item B -The terminal description used by rxvt-unicode is not as widely available -as that for xterm, or even rxvt (for which the same problem often arises). +Normally set to C, unless overwritten at configure time, via +resources or on the commandline. -The correct solution for this problem is to install the terminfo, this can be done -like this: +=item B - infocmp rxvt-unicode >rxvt.unicode.tic - scp rxvt-unicode.tic remotesystem: - ssh remotesystem tic rxvt-unicode.tic - -... or by installing rxvt-unicode normally on the remote system, +Either C, C, depending on wether @@RXVT_NAME@@ was +compiled with XPM support, and optionally with the added extension +C<-mono> to indicate that rxvt-unicode runs on a monochrome screen. -If you cannot or do not want to do this, then you can simply set -C or even C, and live with the small number of -problems arising, which includes wrong keymapping, less and different -colours and some refresh errors in fullscreen applications. It's a nice -quick-and-dirty workaround for rare cases, though. +=item B -If you always want to do this you can either recompile rxvt-unicode with -the desired TERM value or use a resource to set it: +Set to a string of the form C or C, where C is +the colour code used as default foreground/text colour (or the string +C to indicate that the default-colour escape sequence is to be +used), C is the colour code used as default background colour (or the +string C), and C is the string C if @@RXVT_NAME@@ +was compiled with XPM support. Libraries like C and C can +(and do) use this information to optimize screen output. - URxvt.termName: rxvt +=item B -=item How can I configure rxvt-unicode so that it looks similar to the original rxvt? +Set to the (decimal) X Window ID of the @@RXVT_NAME@@ window (the toplevel +window, which usually has subwindows for the scrollbar, the terminal +window and so on). -Felix von Leitner says that these two lines, in your F<.Xdefaults>, will make rxvt-unicode -behave similar to the original rxvt: +=item B - URxvt.font: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1 - URxvt.boldFont: -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-1 +Set to the terminfo directory iff @@RXVT_NAME@@ was configured with +C<--with-terminfo=PATH>. -=item Rxvt-unicode does not seem to understand the selected encoding? +=item B -=item Unicode does not seem to work? +Used by @@RXVT_NAME@@ to connect to the display and set to the correct +display in it's child processes. -If you encounter strange problems like typing an accented character but -getting two unrelated other characters or similar, or if program output is -subtly garbled, then you should check your locale settings. +=item B -Rxvt-unicode must be started with the same C setting as the -programs. Often rxvt-unicode is started in the C locale, while the -login script running within the rxvt-unicode window changes the locale to -sth. else, e.h. C. Needless to say, this is not going to work. +The shell to be used for command execution, defaults to C. -The best thing is to fix your startup environment, as you will likely run -into other problems. If nothing works you can try this in your .profile. +=item B - printf '\e]701;%s\007' "$LC_CTYPE" +The path where @@RXVT_NAME@@ looks for support files such as menu and xpm +files. -If this doesn't work, then maybe you use a C specification not -supported on your systems. Some systems have a C comamnd which -displays this. If it displays sth. like: +=item B - locale: Cannot set LC_CTYPE to default locale: ... +Used in the same way as C. -Then the locale you specified is not supported on your system. +=item B -If nothing works and you are sure that everything is set correctly then -you will need to remember a little known fact: Some programs just don't -support locales :( +The unix domain socket path used by @@RXVT_NAME@@c(1) and +@@RXVT_NAME@@d(1). -=item Why do the characters look ugly? +Default C<< $HOME/.rxvt-unicode->. -=item How does rxvt-unicode choose fonts? +=item B -Most fonts do not contain the full range of Unicode, which is -fine. Chances are that the font you (or the admin/package maintainer of -your system/os) have specified does not cover all the characters you want -to display. +Used to locate the default directory for the unix domain socket for +daemon communications and to locate various resource files (such as +C<.Xdefaults>) -B makes a best-effort try at finding a replacement -font. Often the result is fine, but sometimes the chosen font looks -bad. Many fonts have totally strange characters that don't resemble the -correct glyph at all, and rxvt-unicode lacks the artificial intelligence -to detetc that a specific glyph is wrong: it has to believe the font that -the characters it contains indeed look correct. +=item B -In that case, select a font of your taste and add it to the font list, -e.g.: +Directory where various X resource files are being located. - @@RXVT_NAME@@ -fn basefont,font2,font3... +=item B -When rxvt-unicode sees a character, it will first look at the base -font. If the base font does not contain the character, it will go to the -next font, and so on. Specifying your own fonts will also speed up this -search and use less resources within rxvt-unicode and the X-server. - -The only limitation is that all the fonts must not be larger than the base -font, as the base font defines the principial cell size, which must be the -same due to the way terminals work. - -=item Why do some chinese characters look so different than others? - -This is because there is a difference between script and language -- -rxvt-unicode does not know which language the text that is output -is, as it only knows the unicode character codes. If rxvt-unicode -first sees a japanese character, it might choose a japanese font for -it. Subseqzuent japanese characters will take that font. Now, many chinese -characters aren't represented in japanese fonts, so when the first -non-japanese character comes up, rxvt-unicode will look for a chinese font --- unfortunately at this point, it will still use the japanese font for -japanese characters that are also chinese. - -The workaround is easy: just tag a chinese font at the end of your font -list (see the previous question). The key is to view the font list as -a preference list: If you expect more japanese, list a japanese font -first. If you expect more chinese, put a chinese font first. - -In the future it might be possible to switch preferences at runtime (the -internal data structure has no problem with using different fonts for -the same character at the same time, but no interface for this has been -designed yet). - -=item How can I keep rxvt-unicode from using reverse video so much? - -First of all, make sure you are running with the right terminfo -(C), which will get rid of most of these effects. Then make sure -you have specified colours for italic and bold, as otherwise rxvt-unicode -might use reverse video to simulate the effect: - - URxvt*colorBD: white - URxvt*colorIT: green - -=item Some programs assume totally weird colours (red instead of blue), how can I fix that? - -For some unexplainable reason, some programs (i.e. irssi) assume a very -weird colour palette when confronted with a terminal with more than the -standard 8 colours (rxvt-unicode supports 88). The right fix is, of -course, to fix these programs not to assume non-ISO colours without very -good reasons. - -In the meantime, you can either edit your C terminfo definition to -only claim 8 colour support or use C, which will fix colours -but keep you from using other rxvt-unicode features. - -=item How does rxvt-unicode determine the encoding to use? - -=item Is there an option to switch encodings? - -Unlike some other terminals, rxvt-unicode has no encoding switch, and no -specific "utf-8" mode, such as xterm. In fact, it doesn't even know about -UTF-8 or any other encodings with respect to terminal I/O. - -The reasons is that there exists a perfectly fine mechanism for selecting -the encoding, doing I/O and (most important) communicating this to all -applications so everybody agrees on character properties such as width and -code number. This mechanism is the I. - -Rxvt-unicode uses the C locale category to select encoding. All -programs doing the same (that is, most) will automatically agree in the -interpretation of characters. - -Unfortunately, there is no system-independent way to select locales, nor -is there a standard on how locale specifiers will look like. - -On most systems, the content of the C environment variable -contains an arbitrary string which corresponds to an already-installed -locale. Common names for locales are C, C, -C, i.e. C, but other forms -(i.e. C or C) are also common. - -Rxvt-unicode ignores all other locale categories, and except for -the encoding, ignores country or language-specific settings, -i.e. C and C are the same for rxvt-unicode. - -If you want to use a specific encoding you have to make sure you start -rxvt-unicode with the correct C category. - -=item Can I switch locales at runtime? - -Yes, using an escape sequence. Try sth. like this, which sets -rxvt-unicode's idea of C. - - printf '\e]701;%s\007' ja_JP.SJIS - -See also the previous question. - -Sometimes this capability is rather handy when you want to work in one -locale (e.g. C) but some programs don't support UTF-8. For -example, I use this script to start C, which first switches to a -locale supported by xjdic and back later: - - printf '\e]701;%s\007' ja_JP.SJIS - xjdic -js - printf '\e]701;%s\007' de_DE.UTF-8 - -=item Can I switch the fonts at runtime? - -Yes, using an escape sequence. Try sth. like this, which has the same -effect as using the C<-fn> switch, and takes effect immediately: - - printf '\e]50;%s\007' "9x15bold,xft:Kochi Gothic" - -This is useful if you e.g. work primarily with japanese (and prefer a -japanese font), but you have to switch to chinese temporarily, where -japanese fonts would only be in your way. - -You can think of this as a kind of manual ISO-2022 switching. - -=item Why do italic characters look as if clipped? - -Many fonts have difficulties with italic characters and hinting. For -example, the otherwise very nicely hinted font C completely fails in it's italic face. A workaround is to enable -freetype autohinting, i.e. like this: - - URxvt*italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true - URxvt*boldItalicFont: xft:Bitstream Vera Sans Mono:bold:italic:autohint=true - -=item My input method wants but I want UTF-8, what can I do? - -You cna specify separate locales for the input method and the rest of the -terminal, using the resource C: - - URxvt*imlocale: ja_JP.EUC-JP - -Now you can start your terminal with C and still -use your input method. Please note, however, that you will not be able to -input characters outside C in a normal way then, as your input -method limits you. - -=item Rxvt-unicode uses gobs of memory, how can I reduce that? - -Rxvt-unicode tries to obey the rule of not charging you for sth. you -don't use. One thing you should try is to configure out all settings that -you don't need, for example, Xft support is a resource hog by design, -when used. Compiling it out ensures that no Xft font will be loaded -accidentally when rxvt-unicode tries to find a font for your characters. - -Also, many people (me included) like large windows and even larger -scrollback buffers: Without C<--enable-unicode3>, rxvt-unicode will use -6 bytes per screen cell. For a 160x?? window this amounts to almost a -kilobyte per line. A scorllback buffer of 10000 lines will then (if full) -use 10 Megabytes of memory. With C<--enable-unicode3> it gets worse, as -rxvt-unicode then uses 8 bytes per screen cell. - -=item Can I speed up Xft rendering somehow? - -Yes, the most obvious way to speed it up is to avoid Xft entirely, as -it is simply slow. If you still want Xft fonts you might try to disable -antialiasing (by appending C<:antialiasing=false>), which saves lots of -memory and also speeds up rendering considerably. - -=item Rxvt-unicode doesn't seem to anti-alias its fonts, what is wrong? - -Rxvt-unicode will use whatever you specify as a font. If it needs to -fall back to it's default font search list it will prefer X11 core -fonts, because they are small and fast, and then use Xft fonts. It has -antialiaisng disabled for most of them, because the author thinks they -look best that way. - -If you want antialiasing, you have to specify the fonts manually. - -=item Mouse cut/paste suddenly no longer works. - -Make sure that mouse reporting is actually turned off since killing -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 @@RXVT_NAME@@(7) - -=item What's with this bold/blink stuff? - -If no bold colour is set via C, bold will invert text using the -standard foreground colour. - -For the standard background colour, blinking will actually make the -text blink when compiled with C<--enable-blinking>. with standard -colours. Without C<--enable-blinking>, the blink attribute will be -ignored. - -On ANSI colours, bold/blink attributes are used to set high-intensity -foreground/background colors. - -color0-7 are the low-intensity colors. - -color8-15 are the corresponding high-intensity colors. - -=item I don't like the screen colors. How do I change them? - -You can change the screen colors at run-time using F<~/.Xdefaults> -resources (or as long-options). - -Here are values that are supposed to resemble a VGA screen, -including the murky brown that passes for low-intensity yellow: - - Rxvt*color0: #000000 - Rxvt*color1: #A80000 - Rxvt*color2: #00A800 - Rxvt*color3: #A8A800 - Rxvt*color4: #0000A8 - Rxvt*color5: #A800A8 - Rxvt*color6: #00A8A8 - Rxvt*color7: #A8A8A8 - - Rxvt*color8: #000054 - Rxvt*color9: #FF0054 - Rxvt*color10: #00FF54 - Rxvt*color11: #FFFF54 - Rxvt*color12: #0000FF - Rxvt*color13: #FF00FF - Rxvt*color14: #00FFFF - Rxvt*color15: #FFFFFF - -=item What's with the strange Backspace/Delete key behaviour? - -Assuming that the physical Backspace key corresponds to the -BackSpace keysym (not likely for Linux ... see the following -question) there are two standard values that can be used for -Backspace: C<^H> and C<^?>. - -Historically, either value is correct, but rxvt-unicode adopts the debian -policy of using C<^?> when unsure, because it's the one only only correct -choice :). - -Rxvt-unicode tries to inherit the current stty settings and uses the value -of `erase' to guess the value for backspace. If rxvt-unicode wasn't -started from a terminal (say, from a menu or by remote shell), then the -system value of `erase', which corresponds to CERASE in , will -be used (which may not be the same as your stty setting). - -For starting a new rxvt-unicode: - - # use Backspace = ^H - $ stty erase ^H - $ @@RXVT_NAME@@ - - # use Backspace = ^? - $ stty erase ^? - $ @@RXVT_NAME@@ - -Toggle with "ESC[36h" / "ESC[36l" as documented in @@RXVT_NAME@@(7). - -For an existing rxvt-unicode: - - # use Backspace = ^H - $ stty erase ^H - $ echo -n "^[[36h" - - # use Backspace = ^? - $ stty erase ^? - $ echo -n "^[[36l" - -This helps satisfy some of the Backspace discrepancies that occur, but -if you use Backspace = C<^H>, make sure that the termcap/terminfo value -properly reflects that. - -The Delete key is a another casualty of the ill-defined Backspace problem. -To avoid confusion between the Backspace and Delete keys, the Delete -key has been assigned an escape sequence to match the vt100 for Execute -(ESC[3~) and is in the supplied termcap/terminfo. - -Some other Backspace problems: - -some editors use termcap/terminfo, -some editors (vim I'm told) expect Backspace = ^H, -GNU Emacs (and Emacs-like editors) use ^H for help. - -Perhaps someday this will all be resolved in a consistent manner. - -=item I don't like the key-bindings. How do I change them? - -There are some compile-time selections available via configure. Unless -you have run "configure" with the C<--disable-resources> option you can -use the `keysym' resource to alter the keystrings associated with keysym -0xFF00 - 0xFFFF (function, cursor keys, etc). - -Here's an example for a tn3270 session started using `@@RXVT_NAME@@ -name tn3270' - - !# ----- special uses ------: - ! tn3270 login, remap function and arrow keys. - tn3270*font: *clean-bold-*-*--15-* - - ! keysym - used by rxvt only - ! Delete - ^D - tn3270*keysym.0xFFFF: \004 - - ! Home - ^A - tn3270*keysym.0xFF50: \001 - ! Left - ^B - tn3270*keysym.0xFF51: \002 - ! Up - ^P - tn3270*keysym.0xFF52: \020 - ! Right - ^F - tn3270*keysym.0xFF53: \006 - ! Down - ^N - tn3270*keysym.0xFF54: \016 - ! End - ^E - tn3270*keysym.0xFF57: \005 - - ! F1 - F12 - tn3270*keysym.0xFFBE: \e1 - tn3270*keysym.0xFFBF: \e2 - tn3270*keysym.0xFFC0: \e3 - tn3270*keysym.0xFFC1: \e4 - tn3270*keysym.0xFFC2: \e5 - tn3270*keysym.0xFFC3: \e6 - tn3270*keysym.0xFFC4: \e7 - tn3270*keysym.0xFFC5: \e8 - tn3270*keysym.0xFFC6: \e9 - tn3270*keysym.0xFFC7: \e0 - tn3270*keysym.0xFFC8: \e- - tn3270*keysym.0xFFC9: \e= - - ! map Prior/Next to F7/F8 - tn3270*keysym.0xFF55: \e7 - tn3270*keysym.0xFF56: \e8 - -=item I'm using keyboard model XXX that has extra Prior/Next/Insert keys. -How do I make use of them? For example, the Sun Keyboard type 4 -has the following mappings that rxvt-unicode doesn't recognize. - - KP_Insert == Insert - F22 == Print - F27 == Home - F29 == Prior - F33 == End - F35 == Next - -Rather than have rxvt-unicode try to accomodate all the various possible keyboard -mappings, it is better to use `xmodmap' to remap the keys as required for -your particular machine. - -=item How do I distinguish if I'm running rxvt-unicode or a regular xterm? -I need this to decide about setting colors etc. - -rxvt and rxvt-unicode always export the variable "COLORTERM", so you can -check and see if that is set. Note that several programs, JED, slrn, -Midnight Commander automatically check this variable to decide whether or -not to use color. - -=item How do I set the correct, full IP address for the DISPLAY variable? - -If you've compiled rxvt-unicode with DISPLAY_IS_IP and ahve enabled -insecure mode then it is possible to use the following shell script -snippets to correctly set the display. If your version of rxvt-unicode -wasn't also compiled with ESCZ_ANSWER (as assumed in these snippets) then -the COLORTERM variable can be used to distinguish rxvt-unicode from a -regular xterm. - -Courtesy of Chuck Blake with the following shell script -snippets: - - # Bourne/Korn/POSIX family of shells: - [ ${TERM:-foo} = foo ] && TERM=xterm # assume an xterm if we don't know - if [ ${TERM:-foo} = xterm ]; then - stty -icanon -echo min 0 time 15 # see if enhanced rxvt or not - echo -n '^[Z' - read term_id - stty icanon echo - if [ ""${term_id} = '^[[?1;2C' -a ${DISPLAY:-foo} = foo ]; then - echo -n '^[[7n' # query the rxvt we are in for the DISPLAY string - read DISPLAY # set it in our local shell - fi - fi - -=item How do I compile the manual pages for myself? - -You need to have a recent version of perl installed as F, -one that comes with F, F and F. Then go to -the doc subdirectory and enter C. +If set and accessible, gives the name of a X resource file to be loaded by +@@RXVT_NAME@@. =back -=head1 ENVIRONMENT - -B<@@RXVT_NAME@@> sets the environment variables B, B -and B. The environment variable B is set to the X -window id number of the B<@@RXVT_NAME@@> window and it also uses and -sets the environment variable B to specify which display -terminal to use. B<@@RXVT_NAME@@> uses the environment variables -B and B to find XPM files. - =head1 FILES =over 4 -=item B - -System file for login records. - =item B Color names. @@ -1501,13 +1296,9 @@ =item Project Coordinator -@@RXVT_MAINT@@ L<@@RXVT_MAINTEMAIL@@> - -=item Web page maintainter - -@@RXVT_WEBMAINT@@ L<@@RXVT_WEBMAINTEMAIL@@> +Marc A. Lehmann L<< >> -L<@@RXVT_WEBPAGE@@> +L =back @@ -1542,7 +1333,7 @@ Rewrote screen display and text selection routines. Project Coordinator (changes.txt 2.4.6 - rxvt-unicode) -=item Marc Alexander Lehmann L<< >> +=item Marc Alexander Lehmann L<< >> Forked rxvt-unicode, rewrote most of the display code and internal character handling to store text in unicode, improve xterm