--- rxvt-unicode/README.FAQ 2008/01/25 18:42:22 1.54 +++ rxvt-unicode/README.FAQ 2012/09/09 12:21:25 1.67 @@ -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 @@ -81,12 +93,12 @@ [ ${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' + printf "\eZ" 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 + printf '\e[7n' # query the rxvt we are in for the DISPLAY string + read DISPLAY # set it in our local shell fi fi @@ -148,10 +160,10 @@ unix domain sockets, which are all less portable than C++ itself. Regarding the bloat, see the above question: It's easy to write programs - in C that use gobs of memory, an certainly possible to write programs in - C++ that don't. C++ also often comes with large libraries, but this is - not necessarily the case with GCC. Here is what rxvt links against on my - system with a minimal config: + in C that use gobs of memory, and certainly possible to write programs + in C++ that don't. C++ also often comes with large libraries, but this + is not necessarily the case with GCC. Here is what rxvt links against on + my system with a minimal config: libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00002aaaaabc3000) libc.so.6 => /lib/libc.so.6 (0x00002aaaaadde000) @@ -171,10 +183,10 @@ Rendering, Font & Look and Feel Issues I can't get transparency working, what am I doing wrong? - 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. + 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. Here are four ways to get transparency. Do read the manpage and option descriptions for the programs mentioned and rxvt-unicode. Really, do it! @@ -185,7 +197,9 @@ 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. + support, or you are unable to read. This method requires that the + background-setting program sets the _XROOTPMAP_ID or ESETROOT_PMAP_ID + property. Compatible programs are Esetroot, hsetroot and feh. 2. Use a simple pixmap and emulate pseudo-transparency. This enables you to use effects other than tinting and shading: Just shade/tint/whatever @@ -194,7 +208,7 @@ convert wallpaper.jpg -blur 20x20 -modulate 30 background.jpg urxvt -pixmap "background.jpg;:root" - That works. If you think it doesn't, you lack AfterImage support, or you + That works. If you think it doesn't, you lack GDK-PixBuf support, or you are unable to read. 3. Use an ARGB visual: @@ -303,14 +317,14 @@ "--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 +348,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 @@ -489,6 +503,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 @@ -498,10 +516,9 @@ 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. + editors prematurely may leave it active. I've heard that tcsh may use + mouse reporting unless it is otherwise specified. A quick check is to + see if cut/paste works when the Alt or Shift keys are pressed. What's with the strange Backspace/Delete key behaviour? Assuming that the physical Backspace key corresponds to the Backspace @@ -512,34 +529,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" + $ printf "\e[?67h" # use Backspace = ^? $ stty erase ^? - $ echo -n "^[[36l" + $ printf "\e[?67l" This helps satisfy some of the Backspace discrepancies that occur, but if you use Backspace = "^H", make sure that the termcap/terminfo value @@ -565,26 +564,14 @@ Here's an example for a URxvt session started using "urxvt -name URxvt" - 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: command:\033]701;zh_CN.GBK\007 + URxvt.keysym.Prior: \033[5~ + URxvt.keysym.Next: \033[6~ + URxvt.keysym.Home: \033[7~ + URxvt.keysym.End: \033[8~ + URxvt.keysym.Up: \033[A + URxvt.keysym.Down: \033[B + URxvt.keysym.Right: \033[C + URxvt.keysym.Left: \033[D See some more examples in the documentation for the keysym resource. @@ -637,7 +624,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 @@ -720,7 +707,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: @@ -734,14 +721,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 @@ -780,16 +767,19 @@ 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. + $HOME/.terminfo for this to work. Debian systems have a broken tic which + will not be able to overwrite the existing rxvt-unicode terminfo entry - + you might have to manually delete all traces of rxvt-unicode* from + /etc/terminfo. 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 @@ -806,6 +796,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. @@ -825,28 +820,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 @@ -1022,10 +997,10 @@ patches that considerably change the behaviour of rxvt-unicode (but unfortunately this notice has been removed). 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). + 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 @@ -1040,7 +1015,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 @@ -1078,7 +1053,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)