Do not link rxvtc to ev_cpp.o, it does not use libev.
[dana/urxvt.git] / README.FAQ
index f0a6bdf..80460ca 100644 (file)
@@ -5,6 +5,17 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
     "#rxvt-unicode" has some rxvt-unicode enthusiasts that might be
     interested in learning about new and exciting problems (but not FAQs :).
 
+   I use Gentoo, and I have a problem...
+    There are three big problems with Gentoo Linux: first of all, most if
+    not all Gentoo systems are completely broken (missing or mismatched
+    header files, broken compiler etc. are just the tip of the iceberg);
+    secondly, the Gentoo maintainer thinks it is a good idea to add broken
+    patches to the code; and lastly, it should be called Gentoo GNU/Linux.
+
+    For these reasons, it is impossible to support rxvt-unicode on Gentoo.
+    Problems appearing on Gentoo systems will usually simply be ignored
+    unless they can be reproduced on non-Gentoo systems.
+
    Does it support tabs, can I have a tabbed rxvt-unicode?
     Beginning with version 7.3, there is a perl extension that implements a
     simple tabbed terminal. It is installed by default, so any of these
@@ -44,7 +55,7 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
     Try "urxvtd -f -o", which tells urxvtd to open the display, create the
     listening socket and then fork.
 
-   How can I start urxvtd automatically when I run URXVT_NAME@@c?
+   How can I start urxvtd automatically when I run urxvtc?
     If you want to start urxvtd automatically whenever you run urxvtc and
     the daemon isn't running yet, use this script:
 
@@ -60,7 +71,7 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
     re-run the command. Subsequent invocations of the script will re-use the
     existing daemon.
 
-   How do I distinguish wether I'm running rxvt-unicode or a regular xterm? I need this to decide about setting colors etc.
+   How do I distinguish whether I'm running rxvt-unicode or a regular xterm? I need this to decide about setting colors etc.
     The original 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
@@ -92,8 +103,8 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
 
    How do I compile the manual pages on my own?
     You need to have a recent version of perl installed as /usr/bin/perl,
-    one that comes with pod2man, pod2text and pod2html. Then go to the doc
-    subdirectory and enter "make alldoc".
+    one that comes with pod2man, pod2text and pod2xhtml (from Pod::Xhtml).
+    Then go to the doc subdirectory and enter "make alldoc".
 
    Isn't rxvt-unicode supposed to be small? Don't all those features bloat?
     I often get asked about this, and I think, no, they didn't cause extra
@@ -110,7 +121,7 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
 
     When you "--enable-everything" (which *is* unfair, as this involves xft
     and full locale/XIM support which are quite bloaty inside libX11 and my
-    libc), the two diverge, but not unreasnobaly so.
+    libc), the two diverge, but not unreasonably so.
 
         text    data     bss     drs     rss filename
       163431    2152      24   20123    2060 rxvt --enable-everything
@@ -162,8 +173,8 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
 
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00002aaaaabc3000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00002aaaaada2000)
-       libc.so.6 => /lib/libc.so.6 (0x00002aaaaaeb0000)     
-       libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab0ee000)   
+       libc.so.6 => /lib/libc.so.6 (0x00002aaaaaeb0000)
+       libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab0ee000)
        /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000)
 
     No large bloated libraries (of course, none were linked in statically),
@@ -171,18 +182,18 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
 
   Rendering, Font & Look and Feel Issues
    I can't get transparency working, what am I doing wrong?
-    First of all, transparency isn't officially supported in rxvt-unicode,
-    so you are mostly on your own. Do not bug the author about it (but you
-    may bug everybody else). Also, if you can't get it working consider it a
-    rite of passage: ... and you failed.
+    First of all, please address all transparency related issues to Sasha
+    Vasko at sasha@aftercode.net and do not bug the author about it. Also,
+    if you can't get it working consider it a rite of passage: ... and you
+    failed.
 
     Here are four ways to get transparency. Do read the manpage and option
     descriptions for the programs mentioned and rxvt-unicode. Really, do it!
 
-    1. Use inheritPixmap:
+    1. Use transparent mode:
 
        Esetroot wallpaper.jpg
-       urxvt -ip -tint red -sh 40
+       urxvt -tr -tint red -sh 40
 
     That works. If you think it doesn't, you lack transparency and tinting
     support, or you are unable to read.
@@ -191,11 +202,11 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
     to use effects other than tinting and shading: Just shade/tint/whatever
     your picture with gimp or any other tool:
 
-       convert wallpaper.jpg -blur 20x20 -modulate 30 background.xpm
-       urxvt -pixmap background.xpm -pe automove-background
+       convert wallpaper.jpg -blur 20x20 -modulate 30 background.jpg
+       urxvt -pixmap "background.jpg;:root"
 
-    That works. If you think it doesn't, you lack XPM and Perl support, or
-    you are unable to read.
+    That works. If you think it doesn't, you lack AfterImage support, or you
+    are unable to read.
 
     3. Use an ARGB visual:
 
@@ -204,8 +215,8 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
     This requires XFT support, and the support of your X-server. If that
     doesn't work for you, blame Xorg and Keith Packard. ARGB visuals aren't
     there yet, no matter what they claim. Rxvt-Unicode contains the
-    neccessary bugfixes and workarounds for Xft and Xlib to make it work,
-    but that doesn't mean that your WM has the required kludges in place.
+    necessary bugfixes and workarounds for Xft and Xlib to make it work, but
+    that doesn't mean that your WM has the required kludges in place.
 
     4. Use xcompmgr and let it do the job:
 
@@ -230,7 +241,7 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
     way is to ask for the character bounding box, which unfortunately is
     wrong in these cases).
 
-    It's not clear (to me at least), wether this is a bug in Xft, freetype,
+    It's not clear (to me at least), whether this is a bug in Xft, freetype,
     or the respective font. If you encounter this problem you might try
     using the "-lsp" option to give the font more height. If that doesn't
     work, you might be forced to use a different font.
@@ -299,8 +310,8 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
     standard foreground colour.
 
     For the standard background colour, blinking will actually make the text
-    blink when compiled with "--enable-blinking". with standard colours.
-    Without "--enable-blinking", the blink attribute will be ignored.
+    blink when compiled with "--enable-text-blink". Without
+    "--enable-text-blink", the blink attribute will be ignored.
 
     On ANSI colours, bold/blink attributes are used to set high-intensity
     foreground/background colors.
@@ -411,6 +422,12 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
     Until then, you might get away with switching fonts at runtime (see "Can
     I switch the fonts at runtime?" later in this document).
 
+   How can I make mplayer display video correctly?
+    We are working on it, in the meantime, as a workaround, use something
+    like:
+
+       urxvt -b 600 -geometry 20x1 -e sh -c 'mplayer -wid $WINDOWID file...'
+
   Keyboard, Mouse & User Interaction
    The new selection selects pieces that are too big, how can I select single words?
     If you want to select e.g. alphanumeric words, you can use the following
@@ -426,7 +443,7 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
 
        URxvt.selection.pattern-0: ([^"&'()*,;<=>?@[\\\\]^`{|})]+)
 
-    Please also note that the *LeftClick Shift-LeftClik* combination also
+    Please also note that the *LeftClick Shift-LeftClick* combination also
     selects words like the old code.
 
    I don't like the new selection/popups/hotkeys/perl, how do I change/disable it?
@@ -459,7 +476,7 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
     but when running a program that doesn't parse cursor movements or in
     some cases during rlogin sessions, it fails to detect this properly.
 
-    You can permamently switch this feature off by disabling the "readline"
+    You can permanently switch this feature off by disabling the "readline"
     extension:
 
        URxvt.perl-ext-common: default,-readline
@@ -467,7 +484,7 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
    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
+    caused by the wrong "TERM" setting, although the details of whether 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.
@@ -483,6 +500,10 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
     In this case either do not specify a preeditStyle or specify more than
     one pre-edit style, such as OverTheSpot,Root,None.
 
+    If it still doesn't work, then maybe your input method doesn't support
+    compose sequences - to fall back to the built-in one, make sure you
+    don't specify an input method via "-im" or "XMODIFIERS".
+
    I cannot type "Ctrl-Shift-2" to get an ASCII NUL character due to ISO 14755
     Either try "Ctrl-2" alone (it often is mapped to ASCII NUL even on
     international keyboards) or simply use ISO 14755 support to your
@@ -498,12 +519,12 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
     depressed.
 
    What's with the strange Backspace/Delete key behaviour?
-    Assuming that the physical Backspace key corresponds to the BackSpace
+    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: "^H" and "^?".
 
     Historically, either value is correct, but rxvt-unicode adopts the
-    debian policy of using "^?" when unsure, because it's the one only only
+    debian policy of using "^?" when unsure, because it's the one and only
     correct choice :).
 
     Rxvt-unicode tries to inherit the current stty settings and uses the
@@ -630,15 +651,15 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
     write.
 
     The selection stuff mainly makes the selection perl-error-message aware
-    and tells it to convert pelr error mssages into vi-commands to load the
+    and tells it to convert perl error messages into vi-commands to load the
     relevant file and go tot he error line number.
 
        URxvt.scrollstyle:      plain
        URxvt.secondaryScroll:  true
 
     As the documentation says: plain is the preferred scrollbar for the
-    author. The "secondaryScroll" confgiures urxvt to scroll in full-screen
-    apps, like screen, so lines scorlled out of screen end up in urxvt's
+    author. The "secondaryScroll" configures urxvt to scroll in full-screen
+    apps, like screen, so lines scrolled out of screen end up in urxvt's
     scrollback buffer.
 
        URxvt.background:       #000000
@@ -699,12 +720,12 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
        urxvt.boldItalicFont:   xft:Bitstream Vera Sans Mono:bold:italic:autohint=true
 
     I wrote rxvt-unicode to be able to specify fonts exactly. So don't be
-    overwhelmed. A special note: the "9x15bold" mentioend above is actually
+    overwhelmed. A special note: the "9x15bold" mentioned above is actually
     the version from XFree-3.3, as XFree-4 replaced it by a totally
     different font (different glyphs for ";" and many other harmless
     characters), while the second font is actually the "9x15bold" from
     XFree4/XOrg. The bold version has less chars than the medium version, so
-    I use it for rare characters, too. Whene ditign sources with vim, I use
+    I use it for rare characters, too. When editing sources with vim, I use
     italic for comments and other stuff, which looks quite good with
     Bitstream Vera anti-aliased.
 
@@ -728,7 +749,7 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
        IRC*keysym.M-C-1:       command:\033]710;suxuseuro\007\033]711;suxuseuro\007
        IRC*keysym.M-C-2:       command:\033]710;9x15bold\007\033]711;9x15bold\007
 
-    "Alt-Shift-1" and "Alt-Shift-2" switch between two different font sizes.
+    "Alt-Ctrl-1" and "Alt-Ctrl-2" switch between two different font sizes.
     "suxuseuro" allows me to keep an eye (and actually read) stuff while
     keeping a very small window. If somebody pastes something complicated
     (e.g. japanese), I temporarily switch to a larger font.
@@ -765,8 +786,8 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
       URxvt.resource: value
 
     If you want to use another form (there are lots of different ways of
-    specifying resources), make sure you understand wether and why it works.
-    If unsure, use the form above.
+    specifying resources), make sure you understand whether and why it
+    works. If unsure, use the form above.
 
    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
@@ -774,12 +795,16 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
     arises).
 
     The correct solution for this problem is to install the terminfo, this
-    can be done like this (with ncurses' infocmp):
+    can be done by simply installing rxvt-unicode on the remote system as
+    well (in case you have a nice package manager ready), or you can install
+    the terminfo database manually like this (with ncurses infocmp. works as
+    user and root):
 
        REMOTE=remotesystem.domain
-       infocmp rxvt-unicode | ssh $REMOTE "cat >/tmp/ti && tic /tmp/ti"
+       infocmp rxvt-unicode | ssh $REMOTE "mkdir -p .terminfo && cat >/tmp/ti && tic /tmp/ti"
 
-    ... or by installing rxvt-unicode normally on the remote system,
+    One some systems you might need to set $TERMINFO to the full path of
+    $HOME/.terminfo for this to work.
 
     If you cannot or do not want to do this, then you can simply set
     "TERM=rxvt" or even "TERM=xterm", and live with the small number of
@@ -796,6 +821,11 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
     If you don't plan to use rxvt (quite common...) you could also replace
     the rxvt terminfo file with the rxvt-unicode one and use "TERM=rxvt".
 
+   nano fails with "Error opening terminal: rxvt-unicode"
+    This exceptionally confusing and useless error message is printed by
+    nano when it can't find the terminfo database. Nothing is wrong with
+    your terminal, read the previous answer for a solution.
+
    "tic" outputs some error when compiling the terminfo entry.
     Most likely it's the empty definition for "enacs=". Just replace it by
     "enacs=\E[0@" and try again.
@@ -809,38 +839,18 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
     library (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:
+    You could use rxvt's termcap entry with reasonable 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 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:\
-               :co#80:it#8:li#24:lm#0:\
-               :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\
-               :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\
-               :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ae=\E(B:al=\E[L:\
-               :as=\E(0:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\
-               :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\
-               :dl=\E[M:do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:\
-               :i1=\E[?47l\E=\E[?1l:ic=\E[@:im=\E[4h:\
-               :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\
-               :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\
-               :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:kD=\E[3~:\
-               :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:\
-               :kh=\E[7~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\
-               :mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:rc=\E8:\
-               :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
-               :te=\E[r\E[?1049l:ti=\E[?1049h:ue=\E[24m:up=\E[A:\
-               :us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:\
-               :vs=\E[?25h:
+    Or you could use the termcap entry in doc/etc/rxvt-unicode.termcap,
+    generated by the command above.
 
    Why does "ls" no longer have coloured output?
     The "ls" in the GNU coreutils unfortunately doesn't use terminfo to
-    decide wether a terminal has colour, but uses its own configuration
+    decide whether a terminal has colour, but uses its own configuration
     file. Needless to say, "rxvt-unicode" is not in its default file (among
     with most other terminals supporting colour). Either add:
 
@@ -878,16 +888,16 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
     is subtly garbled, then you should check your locale settings.
 
     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 something else, e.g. "en_GB.UTF-8". Needless to say, this is not
-    going to work.
+    programs running in it. Often rxvt-unicode is started in the "C" locale,
+    while the login script running within the rxvt-unicode window changes
+    the locale to something else, e.g. "en_GB.UTF-8". Needless to say, this
+    is not going to work, and is the most common cause for problems.
 
     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 '\33]701;%s\007' "$LC_CTYPE"
+      printf '\33]701;%s\007' "$LC_CTYPE"   # $LANG or $LC_ALL are worth a try, too
 
     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
@@ -978,7 +988,7 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
     - Make sure the "XMODIFIERS" environment variable is set correctly when
     *starting* rxvt-unicode.
         When you want to use e.g. kinput2, it must be set to "@im=kinput2".
-        For scim, use "@im=SCIM". Youan see what input method servers are
+        For scim, use "@im=SCIM". You can see what input method servers are
         running with this command:
 
            xprop -root XIM_SERVERS
@@ -1025,7 +1035,7 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
    I am maintaining rxvt-unicode for distribution/OS XXX, any recommendation?
     You should build one binary with the default options. configure now
     enables most useful options, and the trend goes to making them
-    runtime-switchable, too, so there is usually no drawback to enbaling
+    runtime-switchable, too, so there is usually no drawback to enabling
     them, except higher disk and possibly memory usage. The perl interpreter
     should be enabled, as important functionality (menus, selection, likely
     more in the future) depends on it.
@@ -1057,25 +1067,18 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
     main(), or things like the dynamic loader of your system, which should
     result in very little risk.
 
-   On Solaris 9, many line-drawing characters are too wide.
-    Seems to be a known bug, read
-    <http://nixdoc.net/files/forum/about34198.html>. Some people use the
-    following ugly workaround to get non-double-wide-characters working:
-
-       #define wcwidth(x) wcwidth(x) > 1 ? 1 : wcwidth(x)
-
    I am on FreeBSD and rxvt-unicode does not seem to work at all.
     Rxvt-unicode requires the symbol "__STDC_ISO_10646__" to be defined in
     your compile environment, or an implementation that implements it,
-    wether it defines the symbol or not. "__STDC_ISO_10646__" requires that
+    whether it defines the symbol or not. "__STDC_ISO_10646__" requires that
     wchar_t is represented as unicode.
 
-    As you might have guessed, FreeBSD does neither define this symobl nor
+    As you might have guessed, FreeBSD does neither define this symbol nor
     does it support it. Instead, it uses its own internal representation of
     wchar_t. This is, of course, completely fine with respect to standards.
 
     However, that means rxvt-unicode only works in "POSIX", "ISO-8859-1" and
-    "UTF-8" locales under FreeBSD (which all use Unicode as wchar_t.
+    "UTF-8" locales under FreeBSD (which all use Unicode as wchar_t).
 
     "__STDC_ISO_10646__" is the only sane way to support multi-language apps
     in an OS, as using a locale-dependent (and non-standardized)
@@ -1095,10 +1098,6 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
     system libraries once and for all, instead of forcing every app to carry
     complete replacements for them :)
 
-   I use Solaris 9 and it doesn't compile/work/etc.
-    Try the diff in doc/solaris9.patch as a base. It fixes the worst
-    problems with "wcwidth" and a compile problem.
-
    How can I use rxvt-unicode under cygwin?
     rxvt-unicode should compile and run out of the box on cygwin, using the
     X11 libraries that come with cygwin. libW11 emulation is no longer
@@ -1111,3 +1110,20 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
     multi-byte encodings (you might try "LC_CTYPE=C-UTF-8"), so you are
     likely limited to 8-bit encodings.
 
+   Character widths are not correct.
+    urxvt uses the system wcwidth function to know the information about the
+    width of characters, so on systems with incorrect locale data you will
+    likely get bad results. Two notorious examples are Solaris 9, where
+    single-width characters like U+2514 are reported as double-width, and
+    Darwin 8, where combining chars are reported having width 1.
+
+    The solution is to upgrade your system or switch to a better one. A
+    possibly working workaround is to use a wcwidth implementation like
+
+    http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c
+
+   I want 256 colors
+    Are you sure you need 256 colors? 88 colors should be enough for most
+    purposes. If you really need more, there is an unsupported patch for it
+    in the doc directory, but please do not ask for it to be applied.
+