ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/README.FAQ
(Generate patch)

Comparing rxvt-unicode/README.FAQ (file contents):
Revision 1.43 by root, Mon Aug 7 16:17:30 2006 UTC vs.
Revision 1.56 by root, Tue Nov 4 23:00:43 2008 UTC

2 Meta, Features & Commandline Issues 2 Meta, Features & Commandline Issues
3 My question isn't answered here, can I ask a human? 3 My question isn't answered here, can I ask a human?
4 Before sending me mail, you could go to IRC: "irc.freenode.net", channel 4 Before sending me mail, you could go to IRC: "irc.freenode.net", channel
5 "#rxvt-unicode" has some rxvt-unicode enthusiasts that might be 5 "#rxvt-unicode" has some rxvt-unicode enthusiasts that might be
6 interested in learning about new and exciting problems (but not FAQs :). 6 interested in learning about new and exciting problems (but not FAQs :).
7
8 I use Gentoo, and I have a problem...
9 There are three big problems with Gentoo Linux: first of all, most if
10 not all Gentoo systems are completely broken (missing or mismatched
11 header files, broken compiler etc. are just the tip of the iceberg);
12 secondly, the Gentoo maintainer thinks it is a good idea to add broken
13 patches to the code; and lastly, it should be called Gentoo GNU/Linux.
14
15 For these reasons, it is impossible to support rxvt-unicode on Gentoo.
16 Problems appearing on Gentoo systems will usually simply be ignored
17 unless they can be reproduced on non-Gentoo systems.
7 18
8 Does it support tabs, can I have a tabbed rxvt-unicode? 19 Does it support tabs, can I have a tabbed rxvt-unicode?
9 Beginning with version 7.3, there is a perl extension that implements a 20 Beginning with version 7.3, there is a perl extension that implements a
10 simple tabbed terminal. It is installed by default, so any of these 21 simple tabbed terminal. It is installed by default, so any of these
11 should give you tabs: 22 should give you tabs:
42 53
43 How can I start urxvtd in a race-free way? 54 How can I start urxvtd in a race-free way?
44 Try "urxvtd -f -o", which tells urxvtd to open the display, create the 55 Try "urxvtd -f -o", which tells urxvtd to open the display, create the
45 listening socket and then fork. 56 listening socket and then fork.
46 57
47 How can I start urxvtd automatically when I run URXVT_NAME@@c? 58 How can I start urxvtd automatically when I run urxvtc?
48 If you want to start urxvtd automatically whenever you run urxvtc and 59 If you want to start urxvtd automatically whenever you run urxvtc and
49 the daemon isn't running yet, use this script: 60 the daemon isn't running yet, use this script:
50 61
51 #!/bin/sh 62 #!/bin/sh
52 urxvtc "$@" 63 urxvtc "$@"
90 fi 101 fi
91 fi 102 fi
92 103
93 How do I compile the manual pages on my own? 104 How do I compile the manual pages on my own?
94 You need to have a recent version of perl installed as /usr/bin/perl, 105 You need to have a recent version of perl installed as /usr/bin/perl,
95 one that comes with pod2man, pod2text and pod2html. Then go to the doc 106 one that comes with pod2man, pod2text and pod2xhtml (from Pod::Xhtml).
96 subdirectory and enter "make alldoc". 107 Then go to the doc subdirectory and enter "make alldoc".
97 108
98 Isn't rxvt-unicode supposed to be small? Don't all those features bloat? 109 Isn't rxvt-unicode supposed to be small? Don't all those features bloat?
99 I often get asked about this, and I think, no, they didn't cause extra 110 I often get asked about this, and I think, no, they didn't cause extra
100 bloat. If you compare a minimal rxvt and a minimal urxvt, you can see 111 bloat. If you compare a minimal rxvt and a minimal urxvt, you can see
101 that the urxvt binary is larger (due to some encoding tables always 112 that the urxvt binary is larger (due to some encoding tables always
160 171
161 And here is rxvt-unicode: 172 And here is rxvt-unicode:
162 173
163 libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00002aaaaabc3000) 174 libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00002aaaaabc3000)
164 libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00002aaaaada2000) 175 libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00002aaaaada2000)
165 libc.so.6 => /lib/libc.so.6 (0x00002aaaaaeb0000) 176 libc.so.6 => /lib/libc.so.6 (0x00002aaaaaeb0000)
166 libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab0ee000) 177 libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab0ee000)
167 /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000) 178 /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000)
168 179
169 No large bloated libraries (of course, none were linked in statically), 180 No large bloated libraries (of course, none were linked in statically),
170 except maybe libX11 :) 181 except maybe libX11 :)
171 182
172 Rendering, Font & Look and Feel Issues 183 Rendering, Font & Look and Feel Issues
173 I can't get transparency working, what am I doing wrong? 184 I can't get transparency working, what am I doing wrong?
174 First of all, transparency isn't officially supported in rxvt-unicode, 185 First of all, please address all transparency related issues to Sasha
175 so you are mostly on your own. Do not bug the author about it (but you 186 Vasko at sasha@aftercode.net and do not bug the author about it. Also,
176 may bug everybody else). Also, if you can't get it working consider it a 187 if you can't get it working consider it a rite of passage: ... and you
177 rite of passage: ... and you failed. 188 failed.
178 189
179 Here are four ways to get transparency. Do read the manpage and option 190 Here are four ways to get transparency. Do read the manpage and option
180 descriptions for the programs mentioned and rxvt-unicode. Really, do it! 191 descriptions for the programs mentioned and rxvt-unicode. Really, do it!
181 192
182 1. Use inheritPixmap: 193 1. Use transparent mode:
183 194
184 Esetroot wallpaper.jpg 195 Esetroot wallpaper.jpg
185 urxvt -ip -tint red -sh 40 196 urxvt -tr -tint red -sh 40
186 197
187 That works. If you think it doesn't, you lack transparency and tinting 198 That works. If you think it doesn't, you lack transparency and tinting
188 support, or you are unable to read. 199 support, or you are unable to read.
189 200
190 2. Use a simple pixmap and emulate pseudo-transparency. This enables you 201 2. Use a simple pixmap and emulate pseudo-transparency. This enables you
191 to use effects other than tinting and shading: Just shade/tint/whatever 202 to use effects other than tinting and shading: Just shade/tint/whatever
192 your picture with gimp or any other tool: 203 your picture with gimp or any other tool:
193 204
194 convert wallpaper.jpg -blur 20x20 -modulate 30 background.xpm 205 convert wallpaper.jpg -blur 20x20 -modulate 30 background.jpg
195 urxvt -pixmap background.xpm -pe automove-background 206 urxvt -pixmap "background.jpg;:root"
196 207
197 That works. If you think it doesn't, you lack XPM and Perl support, or 208 That works. If you think it doesn't, you lack AfterImage support, or you
198 you are unable to read. 209 are unable to read.
199 210
200 3. Use an ARGB visual: 211 3. Use an ARGB visual:
201 212
202 urxvt -depth 32 -fg grey90 -bg rgba:0000/0000/4444/cccc 213 urxvt -depth 32 -fg grey90 -bg rgba:0000/0000/4444/cccc
203 214
297 What's with this bold/blink stuff? 308 What's with this bold/blink stuff?
298 If no bold colour is set via "colorBD:", bold will invert text using the 309 If no bold colour is set via "colorBD:", bold will invert text using the
299 standard foreground colour. 310 standard foreground colour.
300 311
301 For the standard background colour, blinking will actually make the text 312 For the standard background colour, blinking will actually make the text
302 blink when compiled with "--enable-blinking". with standard colours. 313 blink when compiled with "--enable-text-blink". Without
303 Without "--enable-blinking", the blink attribute will be ignored. 314 "--enable-text-blink", the blink attribute will be ignored.
304 315
305 On ANSI colours, bold/blink attributes are used to set high-intensity 316 On ANSI colours, bold/blink attributes are used to set high-intensity
306 foreground/background colors. 317 foreground/background colors.
307 318
308 color0-7 are the low-intensity colors. 319 color0-7 are the low-intensity colors.
409 has been designed yet). 420 has been designed yet).
410 421
411 Until then, you might get away with switching fonts at runtime (see "Can 422 Until then, you might get away with switching fonts at runtime (see "Can
412 I switch the fonts at runtime?" later in this document). 423 I switch the fonts at runtime?" later in this document).
413 424
425 How can I make mplayer display video correctly?
426 We are working on it, in the meantime, as a workaround, use something
427 like:
428
429 urxvt -b 600 -geometry 20x1 -e sh -c 'mplayer -wid $WINDOWID file...'
430
414 Keyboard, Mouse & User Interaction 431 Keyboard, Mouse & User Interaction
415 The new selection selects pieces that are too big, how can I select single words? 432 The new selection selects pieces that are too big, how can I select single words?
416 If you want to select e.g. alphanumeric words, you can use the following 433 If you want to select e.g. alphanumeric words, you can use the following
417 setting: 434 setting:
418 435
424 To get a selection that is very similar to the old code, try this 441 To get a selection that is very similar to the old code, try this
425 pattern: 442 pattern:
426 443
427 URxvt.selection.pattern-0: ([^"&'()*,;<=>?@[\\\\]^`{|})]+) 444 URxvt.selection.pattern-0: ([^"&'()*,;<=>?@[\\\\]^`{|})]+)
428 445
429 Please also note that the *LeftClick Shift-LeftClik* combination also 446 Please also note that the *LeftClick Shift-LeftClick* combination also
430 selects words like the old code. 447 selects words like the old code.
431 448
432 I don't like the new selection/popups/hotkeys/perl, how do I change/disable it? 449 I don't like the new selection/popups/hotkeys/perl, how do I change/disable it?
433 You can disable the perl extension completely by setting the 450 You can disable the perl extension completely by setting the
434 perl-ext-common resource to the empty string, which also keeps 451 perl-ext-common resource to the empty string, which also keeps
501 Assuming that the physical Backspace key corresponds to the Backspace 518 Assuming that the physical Backspace key corresponds to the Backspace
502 keysym (not likely for Linux ... see the following question) there are 519 keysym (not likely for Linux ... see the following question) there are
503 two standard values that can be used for Backspace: "^H" and "^?". 520 two standard values that can be used for Backspace: "^H" and "^?".
504 521
505 Historically, either value is correct, but rxvt-unicode adopts the 522 Historically, either value is correct, but rxvt-unicode adopts the
506 debian policy of using "^?" when unsure, because it's the one only only 523 debian policy of using "^?" when unsure, because it's the one and only
507 correct choice :). 524 correct choice :).
508 525
509 Rxvt-unicode tries to inherit the current stty settings and uses the 526 Rxvt-unicode tries to inherit the current stty settings and uses the
510 value of `erase' to guess the value for backspace. If rxvt-unicode 527 value of `erase' to guess the value for backspace. If rxvt-unicode
511 wasn't started from a terminal (say, from a menu or by remote shell), 528 wasn't started from a terminal (say, from a menu or by remote shell),
772 The terminal description used by rxvt-unicode is not as widely available 789 The terminal description used by rxvt-unicode is not as widely available
773 as that for xterm, or even rxvt (for which the same problem often 790 as that for xterm, or even rxvt (for which the same problem often
774 arises). 791 arises).
775 792
776 The correct solution for this problem is to install the terminfo, this 793 The correct solution for this problem is to install the terminfo, this
777 can be done like this (with ncurses' infocmp): 794 can be done like this (with ncurses' infocmp and works as user and
795 admin):
778 796
779 REMOTE=remotesystem.domain 797 REMOTE=remotesystem.domain
780 infocmp rxvt-unicode | ssh $REMOTE "cat >/tmp/ti && tic /tmp/ti" 798 infocmp rxvt-unicode | ssh $REMOTE "mkdir -p .terminfo && cat >/tmp/ti && tic /tmp/ti"
781 799
782 ... or by installing rxvt-unicode normally on the remote system, 800 ... or by installing rxvt-unicode normally on the remote system,
801
802 One some systems you might need to set $TERMINFO to the full path of
803 $HOME/.terminfo for this to work.
783 804
784 If you cannot or do not want to do this, then you can simply set 805 If you cannot or do not want to do this, then you can simply set
785 "TERM=rxvt" or even "TERM=xterm", and live with the small number of 806 "TERM=rxvt" or even "TERM=xterm", and live with the small number of
786 problems arising, which includes wrong keymapping, less and different 807 problems arising, which includes wrong keymapping, less and different
787 colours and some refresh errors in fullscreen applications. It's a nice 808 colours and some refresh errors in fullscreen applications. It's a nice
813 cases. You can also create a termcap entry by using terminfo's infocmp 834 cases. You can also create a termcap entry by using terminfo's infocmp
814 program like this: 835 program like this:
815 836
816 infocmp -C rxvt-unicode 837 infocmp -C rxvt-unicode
817 838
818 Or you could use this termcap entry, generated by the command above: 839 Or you could use the termcap entry in doc/etc/rxvt-unicode.termcap,
819 840 generated by the command above.
820 rxvt-unicode|rxvt-unicode terminal (X Window System):\
821 :am:bw:eo:km:mi:ms:xn:xo:\
822 :co#80:it#8:li#24:lm#0:\
823 :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\
824 :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\
825 :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ae=\E(B:al=\E[L:\
826 :as=\E(0:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\
827 :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\
828 :dl=\E[M:do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:\
829 :i1=\E[?47l\E=\E[?1l:ic=\E[@:im=\E[4h:\
830 :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\
831 :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\
832 :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:kD=\E[3~:\
833 :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:\
834 :kh=\E[7~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\
835 :mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:rc=\E8:\
836 :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
837 :te=\E[r\E[?1049l:ti=\E[?1049h:ue=\E[24m:up=\E[A:\
838 :us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:\
839 :vs=\E[?25h:
840 841
841 Why does "ls" no longer have coloured output? 842 Why does "ls" no longer have coloured output?
842 The "ls" in the GNU coreutils unfortunately doesn't use terminfo to 843 The "ls" in the GNU coreutils unfortunately doesn't use terminfo to
843 decide whether a terminal has colour, but uses its own configuration 844 decide whether a terminal has colour, but uses its own configuration
844 file. Needless to say, "rxvt-unicode" is not in its default file (among 845 file. Needless to say, "rxvt-unicode" is not in its default file (among
876 If you encounter strange problems like typing an accented character but 877 If you encounter strange problems like typing an accented character but
877 getting two unrelated other characters or similar, or if program output 878 getting two unrelated other characters or similar, or if program output
878 is subtly garbled, then you should check your locale settings. 879 is subtly garbled, then you should check your locale settings.
879 880
880 Rxvt-unicode must be started with the same "LC_CTYPE" setting as the 881 Rxvt-unicode must be started with the same "LC_CTYPE" setting as the
881 programs. Often rxvt-unicode is started in the "C" locale, while the 882 programs running in it. Often rxvt-unicode is started in the "C" locale,
882 login script running within the rxvt-unicode window changes the locale 883 while the login script running within the rxvt-unicode window changes
883 to something else, e.g. "en_GB.UTF-8". Needless to say, this is not 884 the locale to something else, e.g. "en_GB.UTF-8". Needless to say, this
884 going to work. 885 is not going to work, and is the most common cause for problems.
885 886
886 The best thing is to fix your startup environment, as you will likely 887 The best thing is to fix your startup environment, as you will likely
887 run into other problems. If nothing works you can try this in your 888 run into other problems. If nothing works you can try this in your
888 .profile. 889 .profile.
889 890
890 printf '\33]701;%s\007' "$LC_CTYPE" 891 printf '\33]701;%s\007' "$LC_CTYPE" # $LANG or $LC_ALL are worth a try, too
891 892
892 If this doesn't work, then maybe you use a "LC_CTYPE" specification not 893 If this doesn't work, then maybe you use a "LC_CTYPE" specification not
893 supported on your systems. Some systems have a "locale" command which 894 supported on your systems. Some systems have a "locale" command which
894 displays this (also, "perl -e0" can be used to check locale settings, as 895 displays this (also, "perl -e0" can be used to check locale settings, as
895 it will complain loudly if it cannot set the locale). If it displays 896 it will complain loudly if it cannot set the locale). If it displays
1055 This forking is done as the very first within main(), which is very 1056 This forking is done as the very first within main(), which is very
1056 early and reduces possible bugs to initialisation code run before 1057 early and reduces possible bugs to initialisation code run before
1057 main(), or things like the dynamic loader of your system, which should 1058 main(), or things like the dynamic loader of your system, which should
1058 result in very little risk. 1059 result in very little risk.
1059 1060
1060 On Solaris 9, many line-drawing characters are too wide.
1061 Seems to be a known bug, read
1062 <http://nixdoc.net/files/forum/about34198.html>. Some people use the
1063 following ugly workaround to get non-double-wide-characters working:
1064
1065 #define wcwidth(x) wcwidth(x) > 1 ? 1 : wcwidth(x)
1066
1067 I am on FreeBSD and rxvt-unicode does not seem to work at all. 1061 I am on FreeBSD and rxvt-unicode does not seem to work at all.
1068 Rxvt-unicode requires the symbol "__STDC_ISO_10646__" to be defined in 1062 Rxvt-unicode requires the symbol "__STDC_ISO_10646__" to be defined in
1069 your compile environment, or an implementation that implements it, 1063 your compile environment, or an implementation that implements it,
1070 whether it defines the symbol or not. "__STDC_ISO_10646__" requires that 1064 whether it defines the symbol or not. "__STDC_ISO_10646__" requires that
1071 wchar_t is represented as unicode. 1065 wchar_t is represented as unicode.
1073 As you might have guessed, FreeBSD does neither define this symbol nor 1067 As you might have guessed, FreeBSD does neither define this symbol nor
1074 does it support it. Instead, it uses its own internal representation of 1068 does it support it. Instead, it uses its own internal representation of
1075 wchar_t. This is, of course, completely fine with respect to standards. 1069 wchar_t. This is, of course, completely fine with respect to standards.
1076 1070
1077 However, that means rxvt-unicode only works in "POSIX", "ISO-8859-1" and 1071 However, that means rxvt-unicode only works in "POSIX", "ISO-8859-1" and
1078 "UTF-8" locales under FreeBSD (which all use Unicode as wchar_t. 1072 "UTF-8" locales under FreeBSD (which all use Unicode as wchar_t).
1079 1073
1080 "__STDC_ISO_10646__" is the only sane way to support multi-language apps 1074 "__STDC_ISO_10646__" is the only sane way to support multi-language apps
1081 in an OS, as using a locale-dependent (and non-standardized) 1075 in an OS, as using a locale-dependent (and non-standardized)
1082 representation of wchar_t makes it impossible to convert between wchar_t 1076 representation of wchar_t makes it impossible to convert between wchar_t
1083 (as used by X11 and your applications) and any other encoding without 1077 (as used by X11 and your applications) and any other encoding without
1093 1087
1094 The rxvt-unicode author insists that the right way to fix this is in the 1088 The rxvt-unicode author insists that the right way to fix this is in the
1095 system libraries once and for all, instead of forcing every app to carry 1089 system libraries once and for all, instead of forcing every app to carry
1096 complete replacements for them :) 1090 complete replacements for them :)
1097 1091
1098 I use Solaris 9 and it doesn't compile/work/etc.
1099 Try the diff in doc/solaris9.patch as a base. It fixes the worst
1100 problems with "wcwidth" and a compile problem.
1101
1102 How can I use rxvt-unicode under cygwin? 1092 How can I use rxvt-unicode under cygwin?
1103 rxvt-unicode should compile and run out of the box on cygwin, using the 1093 rxvt-unicode should compile and run out of the box on cygwin, using the
1104 X11 libraries that come with cygwin. libW11 emulation is no longer 1094 X11 libraries that come with cygwin. libW11 emulation is no longer
1105 supported (and makes no sense, either, as it only supported a single 1095 supported (and makes no sense, either, as it only supported a single
1106 font). I recommend starting the X-server in "-multiwindow" or 1096 font). I recommend starting the X-server in "-multiwindow" or
1109 1099
1110 At the time of this writing, cygwin didn't seem to support any 1100 At the time of this writing, cygwin didn't seem to support any
1111 multi-byte encodings (you might try "LC_CTYPE=C-UTF-8"), so you are 1101 multi-byte encodings (you might try "LC_CTYPE=C-UTF-8"), so you are
1112 likely limited to 8-bit encodings. 1102 likely limited to 8-bit encodings.
1113 1103
1104 Character widths are not correct.
1105 urxvt uses the system wcwidth function to know the information about the
1106 width of characters, so on systems with incorrect locale data you will
1107 likely get bad results. Two notorious examples are Solaris 9, where
1108 single-width characters like U+2514 are reported as double-width, and
1109 Darwin 8, where combining chars are reported having width 1.
1110
1111 The solution is to upgrade your system or switch to a better one. A
1112 possibly working workaround is to use a wcwidth implementation like
1113
1114 http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c
1115

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines