… | |
… | |
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 |
… | |
… | |
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 |
… | |
… | |
501 | Assuming that the physical Backspace key corresponds to the Backspace |
501 | Assuming that the physical Backspace key corresponds to the Backspace |
502 | keysym (not likely for Linux ... see the following question) there are |
502 | keysym (not likely for Linux ... see the following question) there are |
503 | two standard values that can be used for Backspace: "^H" and "^?". |
503 | two standard values that can be used for Backspace: "^H" and "^?". |
504 | |
504 | |
505 | Historically, either value is correct, but rxvt-unicode adopts the |
505 | Historically, either value is correct, but rxvt-unicode adopts the |
506 | debian policy of using "^?" when unsure, because it's the one only only |
506 | debian policy of using "^?" when unsure, because it's the one and only |
507 | correct choice :). |
507 | correct choice :). |
508 | |
508 | |
509 | Rxvt-unicode tries to inherit the current stty settings and uses the |
509 | 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 |
510 | 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), |
511 | 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 |
772 | 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 |
773 | as that for xterm, or even rxvt (for which the same problem often |
774 | arises). |
774 | arises). |
775 | |
775 | |
776 | The correct solution for this problem is to install the terminfo, this |
776 | The correct solution for this problem is to install the terminfo, this |
777 | can be done like this (with ncurses' infocmp): |
777 | can be done like this (with ncurses' infocmp and works as user and |
|
|
778 | admin): |
778 | |
779 | |
779 | REMOTE=remotesystem.domain |
780 | REMOTE=remotesystem.domain |
780 | infocmp rxvt-unicode | ssh $REMOTE "cat >/tmp/ti && tic /tmp/ti" |
781 | infocmp rxvt-unicode | ssh $REMOTE "mkdir -p .terminfo && cat >/tmp/ti && tic /tmp/ti" |
781 | |
782 | |
782 | ... or by installing rxvt-unicode normally on the remote system, |
783 | ... or by installing rxvt-unicode normally on the remote system, |
|
|
784 | |
|
|
785 | One some systems you might need to set $TERMINFO to the full path of |
|
|
786 | $HOME/.terminfo for this to work. |
783 | |
787 | |
784 | If you cannot or do not want to do this, then you can simply set |
788 | 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 |
789 | "TERM=rxvt" or even "TERM=xterm", and live with the small number of |
786 | problems arising, which includes wrong keymapping, less and different |
790 | problems arising, which includes wrong keymapping, less and different |
787 | colours and some refresh errors in fullscreen applications. It's a nice |
791 | colours and some refresh errors in fullscreen applications. It's a nice |
… | |
… | |
876 | If you encounter strange problems like typing an accented character but |
880 | If you encounter strange problems like typing an accented character but |
877 | getting two unrelated other characters or similar, or if program output |
881 | getting two unrelated other characters or similar, or if program output |
878 | is subtly garbled, then you should check your locale settings. |
882 | is subtly garbled, then you should check your locale settings. |
879 | |
883 | |
880 | Rxvt-unicode must be started with the same "LC_CTYPE" setting as the |
884 | 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 |
885 | 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 |
886 | 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 |
887 | the locale to something else, e.g. "en_GB.UTF-8". Needless to say, this |
884 | going to work. |
888 | is not going to work, and is the most common cause for problems. |
885 | |
889 | |
886 | The best thing is to fix your startup environment, as you will likely |
890 | 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 |
891 | run into other problems. If nothing works you can try this in your |
888 | .profile. |
892 | .profile. |
889 | |
893 | |
890 | printf '\33]701;%s\007' "$LC_CTYPE" |
894 | printf '\33]701;%s\007' "$LC_CTYPE" # $LANG or $LC_ALL are worth a try, too |
891 | |
895 | |
892 | If this doesn't work, then maybe you use a "LC_CTYPE" specification not |
896 | 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 |
897 | 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 |
898 | 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 |
899 | 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 |
985 | For scim, use "@im=SCIM". You can see what input method servers are |
982 | running with this command: |
986 | running with this command: |
983 | |
987 | |
984 | xprop -root XIM_SERVERS |
988 | xprop -root XIM_SERVERS |
985 | |
989 | |
986 | |
990 | * |
987 | |
991 | |
988 | My input method wants <some encoding> but I want UTF-8, what can I do? |
992 | 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 |
993 | You can specify separate locales for the input method and the rest of |
990 | the terminal, using the resource "imlocale": |
994 | the terminal, using the resource "imlocale": |
991 | |
995 | |
… | |
… | |
1055 | This forking is done as the very first within main(), which is very |
1059 | This forking is done as the very first within main(), which is very |
1056 | early and reduces possible bugs to initialisation code run before |
1060 | early and reduces possible bugs to initialisation code run before |
1057 | main(), or things like the dynamic loader of your system, which should |
1061 | main(), or things like the dynamic loader of your system, which should |
1058 | result in very little risk. |
1062 | result in very little risk. |
1059 | |
1063 | |
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. |
1064 | 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 |
1065 | Rxvt-unicode requires the symbol "__STDC_ISO_10646__" to be defined in |
1069 | your compile environment, or an implementation that implements it, |
1066 | your compile environment, or an implementation that implements it, |
1070 | whether it defines the symbol or not. "__STDC_ISO_10646__" requires that |
1067 | whether it defines the symbol or not. "__STDC_ISO_10646__" requires that |
1071 | wchar_t is represented as unicode. |
1068 | wchar_t is represented as unicode. |
… | |
… | |
1093 | |
1090 | |
1094 | The rxvt-unicode author insists that the right way to fix this is in the |
1091 | 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 |
1092 | system libraries once and for all, instead of forcing every app to carry |
1096 | complete replacements for them :) |
1093 | complete replacements for them :) |
1097 | |
1094 | |
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? |
1095 | How can I use rxvt-unicode under cygwin? |
1103 | rxvt-unicode should compile and run out of the box on cygwin, using the |
1096 | 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 |
1097 | X11 libraries that come with cygwin. libW11 emulation is no longer |
1105 | supported (and makes no sense, either, as it only supported a single |
1098 | supported (and makes no sense, either, as it only supported a single |
1106 | font). I recommend starting the X-server in "-multiwindow" or |
1099 | font). I recommend starting the X-server in "-multiwindow" or |
… | |
… | |
1109 | |
1102 | |
1110 | At the time of this writing, cygwin didn't seem to support any |
1103 | 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 |
1104 | multi-byte encodings (you might try "LC_CTYPE=C-UTF-8"), so you are |
1112 | likely limited to 8-bit encodings. |
1105 | likely limited to 8-bit encodings. |
1113 | |
1106 | |
|
|
1107 | Character widths are not correct. |
|
|
1108 | urxvt uses the system wcwidth function to know the information about the |
|
|
1109 | width of characters, so on systems with incorrect locale data you will |
|
|
1110 | likely get bad results. Two notorious examples are Solaris 9, where |
|
|
1111 | single-width characters like U+2514 are reported as double-width, and |
|
|
1112 | Darwin 8, where combining chars are reported having width 1. |
|
|
1113 | |
|
|
1114 | The solution is to upgrade your system or switch to a better one. A |
|
|
1115 | possibly working workaround is to use a wcwidth implementation like |
|
|
1116 | |
|
|
1117 | http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c |
|
|
1118 | |