--- rxvt-unicode/doc/rxvt.1.pod 2004/08/24 15:46:27 1.22 +++ rxvt-unicode/doc/rxvt.1.pod 2004/09/08 17:10:23 1.30 @@ -14,6 +14,11 @@ 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. + =head1 RXVT-UNICODE VS. RXVT Unlike the original rxvt, B stores all text in Unicode @@ -26,7 +31,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 +60,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 @@ -164,7 +168,7 @@ always appended to it. See resource B for details. See also the question "How does rxvt-unicode choose fonts?" in the FAQ -section. +section of @@RXVT_NAME@@(7). =item B<-fb> I @@ -647,7 +651,7 @@ =item B I -B: scroll with scrollback buffer when tty recieves new lines (and +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>. @@ -760,7 +764,7 @@ 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 @@ -844,6 +848,10 @@ double-click to select a word; Left triple-click to select the entire line. +Starting a selection while pressing the B key (or B keys) +(Compile: frills) will create a rectangular selection instead of a normal +one. + =item B: Pressing and releasing the Middle mouse button (or B) in @@ -901,7 +909,7 @@ 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 @@ -985,481 +993,6 @@ =back -=head1 FREQUENTLY ASKED QUESTIONS (FAQ) - -=over 4 - -=item How do I know which rxvt-unicode version I'm using? - -The version number is displayed with the usage (-h). Also the escape -sequence C sets the window title to the version number. - -=item When I log-in to another system it tells me about missing terminfo data? - -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). - -The correct solution for this problem is to install the terminfo, this can be done -like this: - - 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, - -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. - -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: - - URxvt.termName: rxvt - -=item How can I configure rxvt-unicode so that it looks similar to the original rxvt? - -Felix von Leitner says that these two lines, in your F<.Xdefaults>, will make rxvt-unicode -behave similar to the original rxvt: - - 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 - -=item Rxvt-unicode does not seem to understand the selected encoding? - -=item Unicode does not seem to work? - -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. - -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 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. - - printf '\e]701;%s\007' "$LC_CTYPE" - -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: - - locale: Cannot set LC_CTYPE to default locale: ... - -Then the locale you specified is not supported on your system. - -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 :( - -=item Why do the characters look ugly? - -=item How does rxvt-unicode choose fonts? - -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. - -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. - -In that case, select a font of your taste and add it to the font list, -e.g.: - - @@RXVT_NAME@@ -fn basefont,font2,font3... - -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. - -=back - =head1 ENVIRONMENT B<@@RXVT_NAME@@> sets the environment variables B, B