--- rxvt-unicode/README.FAQ 2005/02/03 10:24:09 1.3 +++ rxvt-unicode/README.FAQ 2005/02/11 18:14:07 1.9 @@ -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 + () 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 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 @@ 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 @@ 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 + 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": + 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 @@ 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 @@ $ 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 @@ 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: @@ -505,29 +563,29 @@ option you can use the `keysym' resource to alter the keystrings associated with keysyms. - Here's an example for a URxvt session started using `rxvt -name - URxvt' + Here's an example for a URxvt session started using "rxvt -name + URxvt" - URxvt.keysym.Home: \e[1~ - URxvt.keysym.End: \e[4~ - URxvt.keysym.C-apostrophe: \e - URxvt.keysym.C-slash: \e - URxvt.keysym.C-semicolon: \e - URxvt.keysym.C-grave: \e - URxvt.keysym.C-comma: \e - URxvt.keysym.C-period: \e - URxvt.keysym.C-0x60: \e - URxvt.keysym.C-Tab: \e - URxvt.keysym.C-Return: \e - URxvt.keysym.S-Return: \e - URxvt.keysym.S-space: \e - URxvt.keysym.M-Up: \e - URxvt.keysym.M-Down: \e - URxvt.keysym.M-Left: \e - URxvt.keysym.M-Right: \e - URxvt.keysym.M-C-0: list \e + URxvt.keysym.Home: \033[1~ + URxvt.keysym.End: \033[4~ + URxvt.keysym.C-apostrophe: \033 + URxvt.keysym.C-slash: \033 + URxvt.keysym.C-semicolon: \033 + URxvt.keysym.C-grave: \033 + URxvt.keysym.C-comma: \033 + URxvt.keysym.C-period: \033 + URxvt.keysym.C-0x60: \033 + URxvt.keysym.C-Tab: \033 + URxvt.keysym.C-Return: \033 + URxvt.keysym.S-Return: \033 + URxvt.keysym.S-space: \033 + URxvt.keysym.M-Up: \033 + URxvt.keysym.M-Down: \033 + URxvt.keysym.M-Left: \033 + URxvt.keysym.M-Right: \033 + URxvt.keysym.M-C-0: list \033 URxvt.keysym.M-C-a: list \033 - URxvt.keysym.F12: proto:\033]701;zh_CN.GBK\007 + URxvt.keysym.F12: command:\033]701;zh_CN.GBK\007 See some more examples in the documentation for the keysym resource. @@ -545,8 +603,8 @@ 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? + 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