… | |
… | |
42 | |
42 | |
43 | How can I start urxvtd in a race-free way? |
43 | How can I start urxvtd in a race-free way? |
44 | Try "urxvtd -f -o", which tells urxvtd to open the display, create the |
44 | Try "urxvtd -f -o", which tells urxvtd to open the display, create the |
45 | listening socket and then fork. |
45 | listening socket and then fork. |
46 | |
46 | |
47 | How can I start urxvtd automatically when I run URXVT_NAME@@c? |
47 | How can I start urxvtd automatically when I run urxvtc? |
48 | If you want to start urxvtd automatically whenever you run urxvtc and |
48 | If you want to start urxvtd automatically whenever you run urxvtc and |
49 | the daemon isn't running yet, use this script: |
49 | the daemon isn't running yet, use this script: |
50 | |
50 | |
51 | #!/bin/sh |
51 | #!/bin/sh |
52 | urxvtc "$@" |
52 | urxvtc "$@" |
… | |
… | |
90 | fi |
90 | fi |
91 | fi |
91 | fi |
92 | |
92 | |
93 | How do I compile the manual pages on my own? |
93 | 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, |
94 | 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 |
95 | one that comes with pod2man, pod2text and pod2xhtml (from Pod::Xhtml). |
96 | subdirectory and enter "make alldoc". |
96 | Then go to the doc subdirectory and enter "make alldoc". |
97 | |
97 | |
98 | Isn't rxvt-unicode supposed to be small? Don't all those features bloat? |
98 | 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 |
99 | 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 |
100 | 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 |
101 | that the urxvt binary is larger (due to some encoding tables always |
… | |
… | |
160 | |
160 | |
161 | And here is rxvt-unicode: |
161 | And here is rxvt-unicode: |
162 | |
162 | |
163 | libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00002aaaaabc3000) |
163 | libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00002aaaaabc3000) |
164 | libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00002aaaaada2000) |
164 | libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00002aaaaada2000) |
165 | libc.so.6 => /lib/libc.so.6 (0x00002aaaaaeb0000) |
165 | libc.so.6 => /lib/libc.so.6 (0x00002aaaaaeb0000) |
166 | libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab0ee000) |
166 | libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab0ee000) |
167 | /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000) |
167 | /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000) |
168 | |
168 | |
169 | No large bloated libraries (of course, none were linked in statically), |
169 | No large bloated libraries (of course, none were linked in statically), |
170 | except maybe libX11 :) |
170 | except maybe libX11 :) |
171 | |
171 | |
172 | Rendering, Font & Look and Feel Issues |
172 | Rendering, Font & Look and Feel Issues |
173 | I can't get transparency working, what am I doing wrong? |
173 | I can't get transparency working, what am I doing wrong? |
174 | First of all, transparency isn't officially supported in rxvt-unicode, |
174 | 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 |
175 | 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 |
176 | if you can't get it working consider it a rite of passage: ... and you |
177 | rite of passage: ... and you failed. |
177 | failed. |
178 | |
178 | |
179 | Here are four ways to get transparency. Do read the manpage and option |
179 | 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! |
180 | descriptions for the programs mentioned and rxvt-unicode. Really, do it! |
181 | |
181 | |
182 | 1. Use inheritPixmap: |
182 | 1. Use transparent mode: |
183 | |
183 | |
184 | Esetroot wallpaper.jpg |
184 | Esetroot wallpaper.jpg |
185 | urxvt -ip -tint red -sh 40 |
185 | urxvt -tr -tint red -sh 40 |
186 | |
186 | |
187 | That works. If you think it doesn't, you lack transparency and tinting |
187 | That works. If you think it doesn't, you lack transparency and tinting |
188 | support, or you are unable to read. |
188 | support, or you are unable to read. |
189 | |
189 | |
190 | 2. Use a simple pixmap and emulate pseudo-transparency. This enables you |
190 | 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 |
191 | to use effects other than tinting and shading: Just shade/tint/whatever |
192 | your picture with gimp or any other tool: |
192 | your picture with gimp or any other tool: |
193 | |
193 | |
194 | convert wallpaper.jpg -blur 20x20 -modulate 30 background.xpm |
194 | convert wallpaper.jpg -blur 20x20 -modulate 30 background.jpg |
195 | urxvt -pixmap background.xpm -pe automove-background |
195 | urxvt -pixmap "background.jpg;:root" |
196 | |
196 | |
197 | That works. If you think it doesn't, you lack XPM and Perl support, or |
197 | That works. If you think it doesn't, you lack AfterImage support, or you |
198 | you are unable to read. |
198 | are unable to read. |
199 | |
199 | |
200 | 3. Use an ARGB visual: |
200 | 3. Use an ARGB visual: |
201 | |
201 | |
202 | urxvt -depth 32 -fg grey90 -bg rgba:0000/0000/4444/cccc |
202 | urxvt -depth 32 -fg grey90 -bg rgba:0000/0000/4444/cccc |
203 | |
203 | |
… | |
… | |
297 | What's with this bold/blink stuff? |
297 | What's with this bold/blink stuff? |
298 | If no bold colour is set via "colorBD:", bold will invert text using the |
298 | If no bold colour is set via "colorBD:", bold will invert text using the |
299 | standard foreground colour. |
299 | standard foreground colour. |
300 | |
300 | |
301 | For the standard background colour, blinking will actually make the text |
301 | For the standard background colour, blinking will actually make the text |
302 | blink when compiled with "--enable-blinking". with standard colours. |
302 | blink when compiled with "--enable-text-blink". Without |
303 | Without "--enable-blinking", the blink attribute will be ignored. |
303 | "--enable-text-blink", the blink attribute will be ignored. |
304 | |
304 | |
305 | On ANSI colours, bold/blink attributes are used to set high-intensity |
305 | On ANSI colours, bold/blink attributes are used to set high-intensity |
306 | foreground/background colors. |
306 | foreground/background colors. |
307 | |
307 | |
308 | color0-7 are the low-intensity colors. |
308 | color0-7 are the low-intensity colors. |
… | |
… | |
409 | has been designed yet). |
409 | has been designed yet). |
410 | |
410 | |
411 | Until then, you might get away with switching fonts at runtime (see "Can |
411 | Until then, you might get away with switching fonts at runtime (see "Can |
412 | I switch the fonts at runtime?" later in this document). |
412 | I switch the fonts at runtime?" later in this document). |
413 | |
413 | |
|
|
414 | How can I make mplayer display video correctly? |
|
|
415 | We are working on it, in the meantime, as a workaround, use something |
|
|
416 | like: |
|
|
417 | |
|
|
418 | urxvt -b 600 -geometry 20x1 -e sh -c 'mplayer -wid $WINDOWID file...' |
|
|
419 | |
414 | Keyboard, Mouse & User Interaction |
420 | Keyboard, Mouse & User Interaction |
415 | The new selection selects pieces that are too big, how can I select single words? |
421 | 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 |
422 | If you want to select e.g. alphanumeric words, you can use the following |
417 | setting: |
423 | setting: |
418 | |
424 | |
… | |
… | |
501 | Assuming that the physical Backspace key corresponds to the Backspace |
507 | Assuming that the physical Backspace key corresponds to the Backspace |
502 | keysym (not likely for Linux ... see the following question) there are |
508 | keysym (not likely for Linux ... see the following question) there are |
503 | two standard values that can be used for Backspace: "^H" and "^?". |
509 | two standard values that can be used for Backspace: "^H" and "^?". |
504 | |
510 | |
505 | Historically, either value is correct, but rxvt-unicode adopts the |
511 | Historically, either value is correct, but rxvt-unicode adopts the |
506 | debian policy of using "^?" when unsure, because it's the one only only |
512 | debian policy of using "^?" when unsure, because it's the one and only |
507 | correct choice :). |
513 | correct choice :). |
508 | |
514 | |
509 | Rxvt-unicode tries to inherit the current stty settings and uses the |
515 | 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 |
516 | 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), |
517 | 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 |
778 | 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 |
779 | as that for xterm, or even rxvt (for which the same problem often |
774 | arises). |
780 | arises). |
775 | |
781 | |
776 | The correct solution for this problem is to install the terminfo, this |
782 | The correct solution for this problem is to install the terminfo, this |
777 | can be done like this (with ncurses' infocmp): |
783 | can be done like this (with ncurses' infocmp and works as user and |
|
|
784 | admin): |
778 | |
785 | |
779 | REMOTE=remotesystem.domain |
786 | REMOTE=remotesystem.domain |
780 | infocmp rxvt-unicode | ssh $REMOTE "cat >/tmp/ti && tic /tmp/ti" |
787 | infocmp rxvt-unicode | ssh $REMOTE "mkdir -p .terminfo && cat >/tmp/ti && tic /tmp/ti" |
781 | |
788 | |
782 | ... or by installing rxvt-unicode normally on the remote system, |
789 | ... or by installing rxvt-unicode normally on the remote system, |
|
|
790 | |
|
|
791 | One some systems you might need to set $TERMINFO to the full path of |
|
|
792 | $HOME/.terminfo for this to work. |
783 | |
793 | |
784 | If you cannot or do not want to do this, then you can simply set |
794 | 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 |
795 | "TERM=rxvt" or even "TERM=xterm", and live with the small number of |
786 | problems arising, which includes wrong keymapping, less and different |
796 | problems arising, which includes wrong keymapping, less and different |
787 | colours and some refresh errors in fullscreen applications. It's a nice |
797 | colours and some refresh errors in fullscreen applications. It's a nice |
… | |
… | |
876 | If you encounter strange problems like typing an accented character but |
886 | If you encounter strange problems like typing an accented character but |
877 | getting two unrelated other characters or similar, or if program output |
887 | getting two unrelated other characters or similar, or if program output |
878 | is subtly garbled, then you should check your locale settings. |
888 | is subtly garbled, then you should check your locale settings. |
879 | |
889 | |
880 | 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 |
881 | 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, |
882 | login script running within the rxvt-unicode window changes the locale |
892 | 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 |
893 | the locale to something else, e.g. "en_GB.UTF-8". Needless to say, this |
884 | going to work. |
894 | is not going to work, and is the most common cause for problems. |
885 | |
895 | |
886 | 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 |
887 | 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 |
888 | .profile. |
898 | .profile. |
889 | |
899 | |
890 | printf '\33]701;%s\007' "$LC_CTYPE" |
900 | printf '\33]701;%s\007' "$LC_CTYPE" # $LANG or $LC_ALL are worth a try, too |
891 | |
901 | |
892 | 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 |
893 | supported on your systems. Some systems have a "locale" command which |
903 | 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 |
904 | 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 |
905 | it will complain loudly if it cannot set the locale). If it displays |
… | |
… | |
981 | 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 |
982 | running with this command: |
992 | running with this command: |
983 | |
993 | |
984 | xprop -root XIM_SERVERS |
994 | xprop -root XIM_SERVERS |
985 | |
995 | |
986 | |
996 | * |
987 | |
997 | |
988 | 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? |
989 | 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 |
990 | the terminal, using the resource "imlocale": |
1000 | the terminal, using the resource "imlocale": |
991 | |
1001 | |
… | |
… | |
1055 | 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 |
1056 | early and reduces possible bugs to initialisation code run before |
1066 | early and reduces possible bugs to initialisation code run before |
1057 | 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 |
1058 | result in very little risk. |
1068 | result in very little risk. |
1059 | |
1069 | |
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. |
1070 | 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 |
1071 | Rxvt-unicode requires the symbol "__STDC_ISO_10646__" to be defined in |
1069 | your compile environment, or an implementation that implements it, |
1072 | your compile environment, or an implementation that implements it, |
1070 | 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 |
1071 | wchar_t is represented as unicode. |
1074 | wchar_t is represented as unicode. |
… | |
… | |
1093 | |
1096 | |
1094 | 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 |
1095 | 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 |
1096 | complete replacements for them :) |
1099 | complete replacements for them :) |
1097 | |
1100 | |
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? |
1101 | How can I use rxvt-unicode under cygwin? |
1103 | 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 |
1104 | X11 libraries that come with cygwin. libW11 emulation is no longer |
1103 | X11 libraries that come with cygwin. libW11 emulation is no longer |
1105 | 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 |
1106 | font). I recommend starting the X-server in "-multiwindow" or |
1105 | font). I recommend starting the X-server in "-multiwindow" or |
… | |
… | |
1109 | |
1108 | |
1110 | 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 |
1111 | 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 |
1112 | likely limited to 8-bit encodings. |
1111 | likely limited to 8-bit encodings. |
1113 | |
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 | |