*** empty log message ***
[dana/urxvt.git] / README.FAQ
index 41fb729..11ea49d 100644 (file)
@@ -1,7 +1,22 @@
 FREQUENTLY ASKED QUESTIONS
     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[8n" sets the window title to the version number.
+        sequence "ESC [ 8 n" sets the window title to the version number.
+
+    I am using Debian GNU/Linux and have a problem...
+        The Debian GNU/Linux package of rxvt-unicode contains large patches
+        that considerably change the behaviour of rxvt-unicode. Before
+        reporting a bug to the original rxvt-unicode author please download
+        and install the genuine version
+        (<http://software.schmorp.de#rxvt-unicode>) and try to reproduce the
+        problem. If you cannot, chances are that the problems are specific
+        to Debian GNU/Linux, in which case it should be reported via the
+        Debian Bug Tracking System (use "reportbug" to report the bug).
+
+        For other problems that also affect the Debian package, you can and
+        probably should use the Debian BTS, too, because, after all, it's
+        also a bug in the Debian version and it serves as a reminder for
+        other users that might encounter the same issue.
 
     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
@@ -23,22 +38,29 @@ FREQUENTLY ASKED QUESTIONS
         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:
+        If you always want to do this (and are fine with the consequences)
+        you can either recompile rxvt-unicode with the desired TERM value or
+        use a resource to set it:
 
            URxvt.termName: rxvt
 
         If you don't plan to use rxvt (quite common...) you could also
         replace the rxvt terminfo file with the rxvt-unicode one.
 
+    "bash"'s readline does not work correctly under rxvt.
     I need a termcap file entry.
+        One reason you might want this is that some distributions or
+        operating systems still compile some programs using the
+        long-obsoleted termcap (Fedora Core's bash is one example) and rely
+        on a termcap entry for "rxvt-unicode".
+
         You could use rxvt's termcap entry with resonable results in many
         cases. You can also create a termcap entry by using terminfo's
         infocmp program like this:
 
            infocmp -C rxvt-unicode
 
-        OR you could this termcap entry:
+        Or you could use this termcap entry, generated by the command above:
 
            rxvt-unicode|rxvt-unicode terminal (X Window System):\
                    :am:bw:eo:km:mi:ms:xn:xo:\
@@ -86,6 +108,14 @@ FREQUENTLY ASKED QUESTIONS
         log-in to another system it tells me about missing terminfo data? on
         how to do this).
 
+    My numerical keypad acts weird and generates differing output?
+        Some Debian GNUL/Linux users seem to have this problem, although no
+        specific details were reported so far. It is possible that this is
+        caused by the wrong "TERM" setting, although the details of wether
+        and how this can happen are unknown, as "TERM=rxvt" should offer a
+        compatible keymap. See the answer to the previous question, and
+        please report if that helped.
+
     Rxvt-unicode does not seem to understand the selected encoding?
     Unicode does not seem to work?
         If you encounter strange problems like typing an accented character
@@ -96,8 +126,8 @@ FREQUENTLY ASKED QUESTIONS
         Rxvt-unicode must be started with the same "LC_CTYPE" 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. "en_GB.UTF-8". Needless to say, this is
-        not going to work.
+        locale to something else, e.g. "en_GB.UTF-8". 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
@@ -107,7 +137,9 @@ FREQUENTLY ASKED QUESTIONS
 
         If this doesn't work, then maybe you use a "LC_CTYPE" specification
         not supported on your systems. Some systems have a "locale" command
-        which displays this. If it displays sth. like:
+        which displays this (also, "perl -e0" can be used to check locale
+        settings, as it will complain loudly if it cannot set the locale).
+        If it displays something like:
 
           locale: Cannot set LC_CTYPE to default locale: ...
 
@@ -125,12 +157,12 @@ FREQUENTLY ASKED QUESTIONS
         want to display.
 
         rxvt-unicode 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 detect that a specific glyph is wrong: it has to
-        believe the font that the characters it contains indeed look
-        correct.
+        Often the result is fine, but sometimes the chosen font looks
+        bad/ugly/wrong. Some fonts have totally strange characters that
+        don't resemble the correct glyph at all, and rxvt-unicode lacks the
+        artificial intelligence to detect that a specific glyph is wrong: it
+        has to believe the font that the characters it claims to contain
+        indeed look correct.
 
         In that case, select a font of your taste and add it to the font
         list, e.g.:
@@ -143,20 +175,21 @@ FREQUENTLY ASKED QUESTIONS
         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 principal cell size,
-        which must be the same due to the way terminals work.
+        The only limitation is that none of the fonts may be larger than the
+        base font, as the base font defines the terminal character cell
+        size, which must be the same due to the way terminals work.
 
     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. Subsequent 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.
+        first sees a japanese/chinese character, it might choose a japanese
+        font for display. Subsequent japanese characters will use 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 chinese characters that are also in
+        the japanese font.
 
         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
@@ -164,10 +197,13 @@ FREQUENTLY ASKED QUESTIONS
         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).
+        In the future it might be possible to switch language 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).
+
+        Until then, you might get away with switching fonts at runtime (see
+        "Can I switch the fonts at runtime?" later in this document).
 
     Why does rxvt-unicode sometimes leave pixel droppings?
         Most fonts were not designed for terminal use, which means that
@@ -211,23 +247,24 @@ FREQUENTLY ASKED QUESTIONS
         telnet escape character and so on.
 
     How can I keep rxvt-unicode from using reverse video so much?
-        First of all, make sure you are running with the right terminfo
-        ("urxvt"), 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:
+        First of all, make sure you are running with the right terminal
+        settings ("TERM=rxvt-unicode"), 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
+           URxvt.colorBD:  white
+           URxvt.colorIT:  green
 
     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.
+        For some unexplainable reason, some rare programs 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 "urxvt" terminfo
+        In the meantime, you can either edit your "rxvt-unicode" terminfo
         definition to only claim 8 colour support or use "TERM=rxvt", which
         will fix colours but keep you from using other rxvt-unicode
         features.
@@ -240,7 +277,8 @@ FREQUENTLY ASKED QUESTIONS
 
         As you might have guessed, FreeBSD does neither define this symobl
         nor does it support it. Instead, it uses it's own internal
-        representation of wchar_t. This is, of course, completely legal.
+        representation of wchar_t. This is, of course, completely fine with
+        respect to standards.
 
         However, "__STDC_ISO_10646__" is the only sane way to support
         multi-language apps in an OS, as using a locale-dependent (and
@@ -259,7 +297,7 @@ FREQUENTLY ASKED QUESTIONS
 
         The rxvt-unicode author insists that the right way to fix this is in
         the system libraries once and for all, instead of forcing every app
-        to carry complete replacements.
+        to carry complete replacements for them :)
 
     How does rxvt-unicode determine the encoding to use?
     Is there an option to switch encodings?
@@ -272,6 +310,9 @@ FREQUENTLY ASKED QUESTIONS
         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 *locale*.
+        Applications not using that info will have problems (for example,
+        "xterm" gets the width of characters wrong as it uses it's own,
+        locale-independent table under all locales).
 
         Rxvt-unicode uses the "LC_CTYPE" locale category to select encoding.
         All programs doing the same (that is, most) will automatically agree
@@ -289,31 +330,37 @@ FREQUENTLY ASKED QUESTIONS
 
         Rxvt-unicode ignores all other locale categories, and except for the
         encoding, ignores country or language-specific settings, i.e.
-        "de_DE.UTF-8" and "ja_JP.UTF-8" are the same for rxvt-unicode.
+        "de_DE.UTF-8" and "ja_JP.UTF-8" are the normally same to
+        rxvt-unicode.
 
         If you want to use a specific encoding you have to make sure you
         start rxvt-unicode with the correct "LC_CTYPE" category.
 
     Can I switch locales at runtime?
-        Yes, using an escape sequence. Try sth. like this, which sets
+        Yes, using an escape sequence. Try something like this, which sets
         rxvt-unicode's idea of "LC_CTYPE".
 
           printf '\e]701;%s\007' ja_JP.SJIS
 
-        See also the previous question.
+        See also the previous answer.
 
         Sometimes this capability is rather handy when you want to work in
-        one locale (e.g. "de_DE.UTF-8") but some programs don't support
-        UTF-8. For example, I use this script to start "xjdic", which first
-        switches to a locale supported by xjdic and back later:
+        one locale (e.g. "de_DE.UTF-8") but some programs don't support it
+        (e.g. UTF-8). For example, I use this script to start "xjdic", 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
 
+        You can also use xterm's "luit" program, which usually works fine,
+        except for some locales where character width differs between
+        program- and rxvt-unicode-locales.
+
     Can I switch the fonts at runtime?
-        Yes, using an escape sequence. Try sth. like this, which has the
-        same effect as using the "-fn" switch, and takes effect immediately:
+        Yes, using an escape sequence. Try something like this, which has
+        the same effect as using the "-fn" switch, and takes effect
+        immediately:
 
            printf '\e]50;%s\007' "9x15bold,xft:Kochi Gothic"
 
@@ -326,11 +373,11 @@ FREQUENTLY ASKED QUESTIONS
     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 "xft:Bitstream Vera
-        Sans Mono" completely fails in it's italic face. A workaround is to
-        enable freetype autohinting, i.e. like this:
+        Sans Mono" completely fails in it's italic face. A workaround might
+        be 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
+           URxvt.italicFont:        xft:Bitstream Vera Sans Mono:italic:autohint=true
+           URxvt.boldItalicFont:    xft:Bitstream Vera Sans Mono:bold:italic:autohint=true
 
     My input method wants <some encoding> but I want UTF-8, what can I do?
         You can specify separate locales for the input method and the rest
@@ -344,12 +391,12 @@ FREQUENTLY ASKED QUESTIONS
         as your input method limits you.
 
     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.
+        Rxvt-unicode tries to obey the rule of not charging you for
+        something 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 "--enable-unicode3", rxvt-unicode will
@@ -403,26 +450,26 @@ FREQUENTLY ASKED QUESTIONS
         Here are values that are supposed to resemble a VGA screen,
         including the murky brown that passes for low-intensity yellow:
 
-           URxvt*color0:   #000000
-           URxvt*color1:   #A80000
-           URxvt*color2:   #00A800
-           URxvt*color3:   #A8A800
-           URxvt*color4:   #0000A8
-           URxvt*color5:   #A800A8
-           URxvt*color6:   #00A8A8
-           URxvt*color7:   #A8A8A8
-
-           URxvt*color8:   #000054
-           URxvt*color9:   #FF0054
-           URxvt*color10:  #00FF54
-           URxvt*color11:  #FFFF54
-           URxvt*color12:  #0000FF
-           URxvt*color13:  #FF00FF
-           URxvt*color14:  #00FFFF
-           URxvt*color15:  #FFFFFF
-
-        And here is a more complete set of non-standard colors described as
-        "pretty girly":
+           URxvt.color0:   #000000
+           URxvt.color1:   #A80000
+           URxvt.color2:   #00A800
+           URxvt.color3:   #A8A800
+           URxvt.color4:   #0000A8
+           URxvt.color5:   #A800A8
+           URxvt.color6:   #00A8A8
+           URxvt.color7:   #A8A8A8
+
+           URxvt.color8:   #000054
+           URxvt.color9:   #FF0054
+           URxvt.color10:  #00FF54
+           URxvt.color11:  #FFFF54
+           URxvt.color12:  #0000FF
+           URxvt.color13:  #FF00FF
+           URxvt.color14:  #00FFFF
+           URxvt.color15:  #FFFFFF
+
+        And here is a more complete set of non-standard colors described
+        (not by me) as "pretty girly".
 
            URxvt.cursorColor:  #dc74d1
            URxvt.pointerColor: #dc74d1
@@ -443,6 +490,16 @@ FREQUENTLY ASKED QUESTIONS
            URxvt.color7:       #e1dddd
            URxvt.color15:      #e1dddd
 
+    How can I start rxvtd in a race-free way?
+        Despite it's name, rxvtd is not a real daemon, but more like a
+        server that answers rxvtc's requests, so it doesn't background
+        itself.
+
+        To ensure rxvtd is listening on it's socket, you can use the
+        following method to wait for the startup message before continuing:
+
+          { rxvtd & } | read
+
     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
@@ -470,7 +527,7 @@ FREQUENTLY ASKED QUESTIONS
            $ stty erase ^?
            $ rxvt
 
-        Toggle with "ESC[36h" / "ESC[36l" as documented in rxvt(7).
+        Toggle with "ESC [ 36 h" / "ESC [ 36 l" as documented in rxvt(7).
 
         For an existing rxvt-unicode:
 
@@ -489,7 +546,8 @@ FREQUENTLY ASKED QUESTIONS
         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.
+        vt100 for Execute ("ESC [ 3 ~") and is in the supplied
+        termcap/terminfo.
 
         Some other Backspace problems:
 
@@ -503,49 +561,33 @@ FREQUENTLY ASKED QUESTIONS
         There are some compile-time selections available via configure.
         Unless you have run "configure" with the "--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
-        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
+        associated with keysyms.
+
+        Here's an example for a URxvt session started using "rxvt -name
+        URxvt"
+
+           URxvt.keysym.Home:          \033[1~
+           URxvt.keysym.End:           \033[4~
+           URxvt.keysym.C-apostrophe:  \033<C-'>
+           URxvt.keysym.C-slash:       \033<C-/>
+           URxvt.keysym.C-semicolon:   \033<C-;>
+           URxvt.keysym.C-grave:       \033<C-`>
+           URxvt.keysym.C-comma:       \033<C-,>
+           URxvt.keysym.C-period:      \033<C-.>
+           URxvt.keysym.C-0x60:        \033<C-`>
+           URxvt.keysym.C-Tab:         \033<C-Tab>
+           URxvt.keysym.C-Return:      \033<C-Return>
+           URxvt.keysym.S-Return:      \033<S-Return>
+           URxvt.keysym.S-space:       \033<S-Space>
+           URxvt.keysym.M-Up:          \033<M-Up>
+           URxvt.keysym.M-Down:        \033<M-Down>
+           URxvt.keysym.M-Left:        \033<M-Left>
+           URxvt.keysym.M-Right:       \033<M-Right>
+           URxvt.keysym.M-C-0:         list \033<M-C- 0123456789 >
+           URxvt.keysym.M-C-a:         list \033<M-C- abcdefghijklmnopqrstuvwxyz >
+           URxvt.keysym.F12:           command:\033]701;zh_CN.GBK\007
+
+        See some more examples in the documentation for the keysym resource.
 
     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
@@ -561,8 +603,8 @@ FREQUENTLY ASKED QUESTIONS
         possible keyboard mappings, it is better to use `xmodmap' to remap
         the keys as required for your particular machine.
 
-    How do I distinguish if I'm running rxvt-unicode or a regular xterm? I
-    need this to decide about setting colors etc.
+    How do I distinguish wether I'm running rxvt-unicode or a regular xterm?
+    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