--- rxvt-unicode/README.FAQ 2007/06/02 05:07:11 1.47 +++ rxvt-unicode/README.FAQ 2010/10/15 21:38:31 1.61 @@ -5,6 +5,17 @@ "#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 @@ -60,11 +71,12 @@ re-run the command. Subsequent invocations of the script will re-use the existing daemon. - How do I distinguish whether 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 colours 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 - variable to decide whether or not to use color. + variable to decide whether or not to use colour. How do I set the correct, full IP address for the DISPLAY variable? If you've compiled rxvt-unicode with DISPLAY_IS_IP and have enabled @@ -92,8 +104,8 @@ 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 @@ -162,9 +174,9 @@ 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) - /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000) + 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), except maybe libX11 :) @@ -179,10 +191,10 @@ 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 +203,11 @@ 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 libAfterImage or + GDK-PixBuf support, or you are unable to read. 3. Use an ARGB visual: @@ -299,18 +311,18 @@ 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. + foreground/background colours. - color0-7 are the low-intensity colors. + color0-7 are the low-intensity colours. - color8-15 are the corresponding high-intensity colors. + color8-15 are the corresponding high-intensity colours. - I don't like the screen colors. How do I change them? - You can change the screen colors at run-time using ~/.Xdefaults + I don't like the screen colours. How do I change them? + You can change the screen colours at run-time using ~/.Xdefaults resources (or as long-options). Here are values that are supposed to resemble a VGA screen, including @@ -334,7 +346,7 @@ URxvt.color14: #00FFFF URxvt.color15: #FFFFFF - And here is a more complete set of non-standard colors. + And here is a more complete set of non-standard colours. URxvt.cursorColor: #dc74d1 URxvt.pointerColor: #dc74d1 @@ -411,6 +423,12 @@ 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 +444,7 @@ 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? @@ -483,6 +501,10 @@ 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 @@ -506,34 +528,16 @@ 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 - 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 - $ urxvt - - # use Backspace = ^? - $ stty erase ^? - $ urxvt - - Toggle with "ESC [ 36 h" / "ESC [ 36 l". - - For an existing rxvt-unicode: + It is possible to toggle between "^H" and "^?" with the DECBKM private + mode: # use Backspace = ^H $ stty erase ^H - $ echo -n "^[[36h" + $ echo -n "^[[?67h" # use Backspace = ^? $ stty erase ^? - $ echo -n "^[[36l" + $ echo -n "^[[?67l" This helps satisfy some of the Backspace discrepancies that occur, but if you use Backspace = "^H", make sure that the termcap/terminfo value @@ -631,7 +635,7 @@ The selection stuff mainly makes the selection perl-error-message aware and tells it to convert perl error messages into vi-commands to load the - relevant file and go tot he error line number. + relevant file and go to the error line number. URxvt.scrollstyle: plain URxvt.secondaryScroll: true @@ -714,7 +718,7 @@ bold and normal fonts. Please note that I used the "urxvt" instance name and not the "URxvt" - class name. Thats because I use different configs for different + class name. That is because I use different configs for different purposes, for example, my IRC window is started with "-name IRC", and uses these defaults: @@ -728,14 +732,14 @@ 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. The above is all in my ".Xdefaults" (I don't use ".Xresources" nor "xrdb"). I also have some resources in a separate ".Xdefaults-hostname" - file for different hosts, for example, on ym main desktop, I use: + file for different hosts, for example, on my main desktop, I use: URxvt.keysym.C-M-q: command:\033[3;5;5t URxvt.keysym.C-M-y: command:\033[3;5;606t @@ -774,14 +778,14 @@ arises). The correct solution for this problem is to install the terminfo, this - can be done like this (with ncurses' infocmp and works as user and - admin): + 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 "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. @@ -800,6 +804,11 @@ 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. @@ -819,28 +828,8 @@ 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 @@ -987,7 +976,7 @@ xprop -root XIM_SERVERS - * + 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 of @@ -1034,7 +1023,7 @@ should be enabled, as important functionality (menus, selection, likely more in the future) depends on it. - You should not overwrite the "perl-ext-common" snd "perl-ext" resources + You should not overwrite the "perl-ext-common" and "perl-ext" resources system-wide (except maybe with "defaults"). This will result in useful behaviour. If your distribution aims at low memory, add an empty "perl-ext-common" resource to the app-defaults file. This will keep the @@ -1061,13 +1050,6 @@ 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 - . 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, @@ -1079,7 +1061,7 @@ 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) @@ -1099,10 +1081,6 @@ 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 @@ -1115,3 +1093,15 @@ 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 +