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.45 by root, Fri Dec 29 05:09:48 2006 UTC vs.
Revision 1.58 by root, Tue Mar 16 00:54:46 2010 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:
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
481 will continue without an input method. 498 will continue without an input method.
482 499
483 In this case either do not specify a preeditStyle or specify more than 500 In this case either do not specify a preeditStyle or specify more than
484 one pre-edit style, such as OverTheSpot,Root,None. 501 one pre-edit style, such as OverTheSpot,Root,None.
485 502
503 If it still doesn't work, then maybe your input method doesn't support
504 compose sequences - to fall back to the built-in one, make sure you
505 don't specify an input method via "-im" or "XMODIFIERS".
506
486 I cannot type "Ctrl-Shift-2" to get an ASCII NUL character due to ISO 14755 507 I cannot type "Ctrl-Shift-2" to get an ASCII NUL character due to ISO 14755
487 Either try "Ctrl-2" alone (it often is mapped to ASCII NUL even on 508 Either try "Ctrl-2" alone (it often is mapped to ASCII NUL even on
488 international keyboards) or simply use ISO 14755 support to your 509 international keyboards) or simply use ISO 14755 support to your
489 advantage, typing <Ctrl-Shift-0> to get a ASCII NUL. This works for 510 advantage, typing <Ctrl-Shift-0> to get a ASCII NUL. This works for
490 other codes, too, such as "Ctrl-Shift-1-d" to type the default telnet 511 other codes, too, such as "Ctrl-Shift-1-d" to type the default telnet
501 Assuming that the physical Backspace key corresponds to the Backspace 522 Assuming that the physical Backspace key corresponds to the Backspace
502 keysym (not likely for Linux ... see the following question) there are 523 keysym (not likely for Linux ... see the following question) there are
503 two standard values that can be used for Backspace: "^H" and "^?". 524 two standard values that can be used for Backspace: "^H" and "^?".
504 525
505 Historically, either value is correct, but rxvt-unicode adopts the 526 Historically, either value is correct, but rxvt-unicode adopts the
506 debian policy of using "^?" when unsure, because it's the one only only 527 debian policy of using "^?" when unsure, because it's the one and only
507 correct choice :). 528 correct choice :).
508 529
509 Rxvt-unicode tries to inherit the current stty settings and uses the 530 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 531 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), 532 wasn't started from a terminal (say, from a menu or by remote shell),
629 develop for myself mostly, so I actually use most of the extensions I 650 develop for myself mostly, so I actually use most of the extensions I
630 write. 651 write.
631 652
632 The selection stuff mainly makes the selection perl-error-message aware 653 The selection stuff mainly makes the selection perl-error-message aware
633 and tells it to convert perl error messages into vi-commands to load the 654 and tells it to convert perl error messages into vi-commands to load the
634 relevant file and go tot he error line number. 655 relevant file and go to the error line number.
635 656
636 URxvt.scrollstyle: plain 657 URxvt.scrollstyle: plain
637 URxvt.secondaryScroll: true 658 URxvt.secondaryScroll: true
638 659
639 As the documentation says: plain is the preferred scrollbar for the 660 As the documentation says: plain is the preferred scrollbar for the
712 my purposes, it works, and gives a different look, as my normal 733 my purposes, it works, and gives a different look, as my normal
713 (Non-bold) font is already bold, and I want to see a difference between 734 (Non-bold) font is already bold, and I want to see a difference between
714 bold and normal fonts. 735 bold and normal fonts.
715 736
716 Please note that I used the "urxvt" instance name and not the "URxvt" 737 Please note that I used the "urxvt" instance name and not the "URxvt"
717 class name. Thats because I use different configs for different 738 class name. That is because I use different configs for different
718 purposes, for example, my IRC window is started with "-name IRC", and 739 purposes, for example, my IRC window is started with "-name IRC", and
719 uses these defaults: 740 uses these defaults:
720 741
721 IRC*title: IRC 742 IRC*title: IRC
722 IRC*geometry: 87x12+535+542 743 IRC*geometry: 87x12+535+542
726 IRC*boldFont: suxuseuro 747 IRC*boldFont: suxuseuro
727 IRC*colorBD: white 748 IRC*colorBD: white
728 IRC*keysym.M-C-1: command:\033]710;suxuseuro\007\033]711;suxuseuro\007 749 IRC*keysym.M-C-1: command:\033]710;suxuseuro\007\033]711;suxuseuro\007
729 IRC*keysym.M-C-2: command:\033]710;9x15bold\007\033]711;9x15bold\007 750 IRC*keysym.M-C-2: command:\033]710;9x15bold\007\033]711;9x15bold\007
730 751
731 "Alt-Shift-1" and "Alt-Shift-2" switch between two different font sizes. 752 "Alt-Ctrl-1" and "Alt-Ctrl-2" switch between two different font sizes.
732 "suxuseuro" allows me to keep an eye (and actually read) stuff while 753 "suxuseuro" allows me to keep an eye (and actually read) stuff while
733 keeping a very small window. If somebody pastes something complicated 754 keeping a very small window. If somebody pastes something complicated
734 (e.g. japanese), I temporarily switch to a larger font. 755 (e.g. japanese), I temporarily switch to a larger font.
735 756
736 The above is all in my ".Xdefaults" (I don't use ".Xresources" nor 757 The above is all in my ".Xdefaults" (I don't use ".Xresources" nor
772 The terminal description used by rxvt-unicode is not as widely available 793 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 794 as that for xterm, or even rxvt (for which the same problem often
774 arises). 795 arises).
775 796
776 The correct solution for this problem is to install the terminfo, this 797 The correct solution for this problem is to install the terminfo, this
777 can be done like this (with ncurses' infocmp and works as user and 798 can be done by simply installing rxvt-unicode on the remote system as
778 admin): 799 well (in case you have a nice package manager ready), or you can install
800 the terminfo database manually like this (with ncurses infocmp. works as
801 user and root):
779 802
780 REMOTE=remotesystem.domain 803 REMOTE=remotesystem.domain
781 infocmp rxvt-unicode | ssh $REMOTE "mkdir -p .terminfo && cat >/tmp/ti && tic /tmp/ti" 804 infocmp rxvt-unicode | ssh $REMOTE "mkdir -p .terminfo && cat >/tmp/ti && tic /tmp/ti"
782
783 ... or by installing rxvt-unicode normally on the remote system,
784 805
785 One some systems you might need to set $TERMINFO to the full path of 806 One some systems you might need to set $TERMINFO to the full path of
786 $HOME/.terminfo for this to work. 807 $HOME/.terminfo for this to work.
787 808
788 If you cannot or do not want to do this, then you can simply set 809 If you cannot or do not want to do this, then you can simply set
798 URxvt.termName: rxvt 819 URxvt.termName: rxvt
799 820
800 If you don't plan to use rxvt (quite common...) you could also replace 821 If you don't plan to use rxvt (quite common...) you could also replace
801 the rxvt terminfo file with the rxvt-unicode one and use "TERM=rxvt". 822 the rxvt terminfo file with the rxvt-unicode one and use "TERM=rxvt".
802 823
824 nano fails with "Error opening terminal: rxvt-unicode"
825 This exceptionally confusing and useless error message is printed by
826 nano when it can't find the terminfo database. Nothing is wrong with
827 your terminal, read the previous answer for a solution.
828
803 "tic" outputs some error when compiling the terminfo entry. 829 "tic" outputs some error when compiling the terminfo entry.
804 Most likely it's the empty definition for "enacs=". Just replace it by 830 Most likely it's the empty definition for "enacs=". Just replace it by
805 "enacs=\E[0@" and try again. 831 "enacs=\E[0@" and try again.
806 832
807 "bash"'s readline does not work correctly under urxvt. 833 "bash"'s readline does not work correctly under urxvt.
817 cases. You can also create a termcap entry by using terminfo's infocmp 843 cases. You can also create a termcap entry by using terminfo's infocmp
818 program like this: 844 program like this:
819 845
820 infocmp -C rxvt-unicode 846 infocmp -C rxvt-unicode
821 847
822 Or you could use this termcap entry, generated by the command above: 848 Or you could use the termcap entry in doc/etc/rxvt-unicode.termcap,
823 849 generated by the command above.
824 rxvt-unicode|rxvt-unicode terminal (X Window System):\
825 :am:bw:eo:km:mi:ms:xn:xo:\
826 :co#80:it#8:li#24:lm#0:\
827 :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\
828 :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\
829 :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ae=\E(B:al=\E[L:\
830 :as=\E(0:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\
831 :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\
832 :dl=\E[M:do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:\
833 :i1=\E[?47l\E=\E[?1l:ic=\E[@:im=\E[4h:\
834 :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\
835 :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\
836 :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:kD=\E[3~:\
837 :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:\
838 :kh=\E[7~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\
839 :mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:rc=\E8:\
840 :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
841 :te=\E[r\E[?1049l:ti=\E[?1049h:ue=\E[24m:up=\E[A:\
842 :us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:\
843 :vs=\E[?25h:
844 850
845 Why does "ls" no longer have coloured output? 851 Why does "ls" no longer have coloured output?
846 The "ls" in the GNU coreutils unfortunately doesn't use terminfo to 852 The "ls" in the GNU coreutils unfortunately doesn't use terminfo to
847 decide whether a terminal has colour, but uses its own configuration 853 decide whether a terminal has colour, but uses its own configuration
848 file. Needless to say, "rxvt-unicode" is not in its default file (among 854 file. Needless to say, "rxvt-unicode" is not in its default file (among
880 If you encounter strange problems like typing an accented character but 886 If you encounter strange problems like typing an accented character but
881 getting two unrelated other characters or similar, or if program output 887 getting two unrelated other characters or similar, or if program output
882 is subtly garbled, then you should check your locale settings. 888 is subtly garbled, then you should check your locale settings.
883 889
884 Rxvt-unicode must be started with the same "LC_CTYPE" setting as the 890 Rxvt-unicode must be started with the same "LC_CTYPE" setting as the
885 programs. Often rxvt-unicode is started in the "C" locale, while the 891 programs running in it. Often rxvt-unicode is started in the "C" locale,
886 login script running within the rxvt-unicode window changes the locale 892 while the login script running within the rxvt-unicode window changes
887 to something else, e.g. "en_GB.UTF-8". Needless to say, this is not 893 the locale to something else, e.g. "en_GB.UTF-8". Needless to say, this
888 going to work. 894 is not going to work, and is the most common cause for problems.
889 895
890 The best thing is to fix your startup environment, as you will likely 896 The best thing is to fix your startup environment, as you will likely
891 run into other problems. If nothing works you can try this in your 897 run into other problems. If nothing works you can try this in your
892 .profile. 898 .profile.
893 899
894 printf '\33]701;%s\007' "$LC_CTYPE" 900 printf '\33]701;%s\007' "$LC_CTYPE" # $LANG or $LC_ALL are worth a try, too
895 901
896 If this doesn't work, then maybe you use a "LC_CTYPE" specification not 902 If this doesn't work, then maybe you use a "LC_CTYPE" specification not
897 supported on your systems. Some systems have a "locale" command which 903 supported on your systems. Some systems have a "locale" command which
898 displays this (also, "perl -e0" can be used to check locale settings, as 904 displays this (also, "perl -e0" can be used to check locale settings, as
899 it will complain loudly if it cannot set the locale). If it displays 905 it will complain loudly if it cannot set the locale). If it displays
985 For scim, use "@im=SCIM". You can see what input method servers are 991 For scim, use "@im=SCIM". You can see what input method servers are
986 running with this command: 992 running with this command:
987 993
988 xprop -root XIM_SERVERS 994 xprop -root XIM_SERVERS
989 995
990 * 996
991 997
992 My input method wants <some encoding> but I want UTF-8, what can I do? 998 My input method wants <some encoding> but I want UTF-8, what can I do?
993 You can specify separate locales for the input method and the rest of 999 You can specify separate locales for the input method and the rest of
994 the terminal, using the resource "imlocale": 1000 the terminal, using the resource "imlocale":
995 1001
1032 runtime-switchable, too, so there is usually no drawback to enabling 1038 runtime-switchable, too, so there is usually no drawback to enabling
1033 them, except higher disk and possibly memory usage. The perl interpreter 1039 them, except higher disk and possibly memory usage. The perl interpreter
1034 should be enabled, as important functionality (menus, selection, likely 1040 should be enabled, as important functionality (menus, selection, likely
1035 more in the future) depends on it. 1041 more in the future) depends on it.
1036 1042
1037 You should not overwrite the "perl-ext-common" snd "perl-ext" resources 1043 You should not overwrite the "perl-ext-common" and "perl-ext" resources
1038 system-wide (except maybe with "defaults"). This will result in useful 1044 system-wide (except maybe with "defaults"). This will result in useful
1039 behaviour. If your distribution aims at low memory, add an empty 1045 behaviour. If your distribution aims at low memory, add an empty
1040 "perl-ext-common" resource to the app-defaults file. This will keep the 1046 "perl-ext-common" resource to the app-defaults file. This will keep the
1041 perl interpreter disabled until the user enables it. 1047 perl interpreter disabled until the user enables it.
1042 1048
1059 This forking is done as the very first within main(), which is very 1065 This forking is done as the very first within main(), which is very
1060 early and reduces possible bugs to initialisation code run before 1066 early and reduces possible bugs to initialisation code run before
1061 main(), or things like the dynamic loader of your system, which should 1067 main(), or things like the dynamic loader of your system, which should
1062 result in very little risk. 1068 result in very little risk.
1063 1069
1064 On Solaris 9, many line-drawing characters are too wide.
1065 Seems to be a known bug, read
1066 <http://nixdoc.net/files/forum/about34198.html>. Some people use the
1067 following ugly workaround to get non-double-wide-characters working:
1068
1069 #define wcwidth(x) wcwidth(x) > 1 ? 1 : wcwidth(x)
1070
1071 I am on FreeBSD and rxvt-unicode does not seem to work at all. 1070 I am on FreeBSD and rxvt-unicode does not seem to work at all.
1072 Rxvt-unicode requires the symbol "__STDC_ISO_10646__" to be defined in 1071 Rxvt-unicode requires the symbol "__STDC_ISO_10646__" to be defined in
1073 your compile environment, or an implementation that implements it, 1072 your compile environment, or an implementation that implements it,
1074 whether it defines the symbol or not. "__STDC_ISO_10646__" requires that 1073 whether it defines the symbol or not. "__STDC_ISO_10646__" requires that
1075 wchar_t is represented as unicode. 1074 wchar_t is represented as unicode.
1077 As you might have guessed, FreeBSD does neither define this symbol nor 1076 As you might have guessed, FreeBSD does neither define this symbol nor
1078 does it support it. Instead, it uses its own internal representation of 1077 does it support it. Instead, it uses its own internal representation of
1079 wchar_t. This is, of course, completely fine with respect to standards. 1078 wchar_t. This is, of course, completely fine with respect to standards.
1080 1079
1081 However, that means rxvt-unicode only works in "POSIX", "ISO-8859-1" and 1080 However, that means rxvt-unicode only works in "POSIX", "ISO-8859-1" and
1082 "UTF-8" locales under FreeBSD (which all use Unicode as wchar_t. 1081 "UTF-8" locales under FreeBSD (which all use Unicode as wchar_t).
1083 1082
1084 "__STDC_ISO_10646__" is the only sane way to support multi-language apps 1083 "__STDC_ISO_10646__" is the only sane way to support multi-language apps
1085 in an OS, as using a locale-dependent (and non-standardized) 1084 in an OS, as using a locale-dependent (and non-standardized)
1086 representation of wchar_t makes it impossible to convert between wchar_t 1085 representation of wchar_t makes it impossible to convert between wchar_t
1087 (as used by X11 and your applications) and any other encoding without 1086 (as used by X11 and your applications) and any other encoding without
1097 1096
1098 The rxvt-unicode author insists that the right way to fix this is in the 1097 The rxvt-unicode author insists that the right way to fix this is in the
1099 system libraries once and for all, instead of forcing every app to carry 1098 system libraries once and for all, instead of forcing every app to carry
1100 complete replacements for them :) 1099 complete replacements for them :)
1101 1100
1102 I use Solaris 9 and it doesn't compile/work/etc.
1103 Try the diff in doc/solaris9.patch as a base. It fixes the worst
1104 problems with "wcwidth" and a compile problem.
1105
1106 How can I use rxvt-unicode under cygwin? 1101 How can I use rxvt-unicode under cygwin?
1107 rxvt-unicode should compile and run out of the box on cygwin, using the 1102 rxvt-unicode should compile and run out of the box on cygwin, using the
1108 X11 libraries that come with cygwin. libW11 emulation is no longer 1103 X11 libraries that come with cygwin. libW11 emulation is no longer
1109 supported (and makes no sense, either, as it only supported a single 1104 supported (and makes no sense, either, as it only supported a single
1110 font). I recommend starting the X-server in "-multiwindow" or 1105 font). I recommend starting the X-server in "-multiwindow" or
1113 1108
1114 At the time of this writing, cygwin didn't seem to support any 1109 At the time of this writing, cygwin didn't seem to support any
1115 multi-byte encodings (you might try "LC_CTYPE=C-UTF-8"), so you are 1110 multi-byte encodings (you might try "LC_CTYPE=C-UTF-8"), so you are
1116 likely limited to 8-bit encodings. 1111 likely limited to 8-bit encodings.
1117 1112
1113 Character widths are not correct.
1114 urxvt uses the system wcwidth function to know the information about the
1115 width of characters, so on systems with incorrect locale data you will
1116 likely get bad results. Two notorious examples are Solaris 9, where
1117 single-width characters like U+2514 are reported as double-width, and
1118 Darwin 8, where combining chars are reported having width 1.
1119
1120 The solution is to upgrade your system or switch to a better one. A
1121 possibly working workaround is to use a wcwidth implementation like
1122
1123 http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c
1124
1125 I want 256 colors
1126 Are you sure you need 256 colors? 88 colors should be enough for most
1127 purposes. If you really need more, there is an unsupported patch for it
1128 in the doc directory, but please do not ask for it to be applied.
1129

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines