… | |
… | |
72 | |
72 | |
73 | =head3 How can I start @@URXVT_NAME@@d in a race-free way? |
73 | =head3 How can I start @@URXVT_NAME@@d in a race-free way? |
74 | |
74 | |
75 | Try C<@@URXVT_NAME@@d -f -o>, which tells @@URXVT_NAME@@d to open the |
75 | Try C<@@URXVT_NAME@@d -f -o>, which tells @@URXVT_NAME@@d to open the |
76 | display, create the listening socket and then fork. |
76 | display, create the listening socket and then fork. |
|
|
77 | |
|
|
78 | =head3 How can I start @@URXVT_NAME@@d automatically when I run URXVT_NAME@@c? |
|
|
79 | |
|
|
80 | If you want to start @@URXVT_NAME@@d automatically whenever you run |
|
|
81 | @@URXVT_NAME@@c and the daemon isn't running yet, use this script: |
|
|
82 | |
|
|
83 | #!/bin/sh |
|
|
84 | @@URXVT_NAME@@c "$@" |
|
|
85 | if [ $? -eq 2 ]; then |
|
|
86 | @@URXVT_NAME@@d -q -o -f |
|
|
87 | @@URXVT_NAME@@c "$@" |
|
|
88 | fi |
|
|
89 | |
|
|
90 | This tries to create a new terminal, and if fails with exit status 2, |
|
|
91 | meaning it couldn't connect to the daemon, it will start the daemon and |
|
|
92 | re-run the command. Subsequent invocations of the script will re-use the |
|
|
93 | existing daemon. |
77 | |
94 | |
78 | =head3 How do I distinguish wether I'm running rxvt-unicode or a regular xterm? I need this to decide about setting colors etc. |
95 | =head3 How do I distinguish wether I'm running rxvt-unicode or a regular xterm? I need this to decide about setting colors etc. |
79 | |
96 | |
80 | The original rxvt and rxvt-unicode always export the variable "COLORTERM", |
97 | The original rxvt and rxvt-unicode always export the variable "COLORTERM", |
81 | so you can check and see if that is set. Note that several programs, JED, |
98 | so you can check and see if that is set. Note that several programs, JED, |
… | |
… | |
125 | |
142 | |
126 | text data bss drs rss filename |
143 | text data bss drs rss filename |
127 | 98398 1664 24 15695 1824 rxvt --disable-everything |
144 | 98398 1664 24 15695 1824 rxvt --disable-everything |
128 | 188985 9048 66616 18222 1788 urxvt --disable-everything |
145 | 188985 9048 66616 18222 1788 urxvt --disable-everything |
129 | |
146 | |
130 | When you C<--enable-everything> (which _is_ unfair, as this involves xft |
147 | When you C<--enable-everything> (which I<is> unfair, as this involves xft |
131 | and full locale/XIM support which are quite bloaty inside libX11 and my |
148 | and full locale/XIM support which are quite bloaty inside libX11 and my |
132 | libc), the two diverge, but not unreasnobaly so. |
149 | libc), the two diverge, but not unreasnobaly so. |
133 | |
150 | |
134 | text data bss drs rss filename |
151 | text data bss drs rss filename |
135 | 163431 2152 24 20123 2060 rxvt --enable-everything |
152 | 163431 2152 24 20123 2060 rxvt --enable-everything |
… | |
… | |
237 | |
254 | |
238 | Then click on a window you want to make transparent. Replace C<0xc0000000> |
255 | Then click on a window you want to make transparent. Replace C<0xc0000000> |
239 | by other values to change the degree of opacity. If it doesn't work and |
256 | by other values to change the degree of opacity. If it doesn't work and |
240 | your server crashes, you got to keep the pieces. |
257 | your server crashes, you got to keep the pieces. |
241 | |
258 | |
242 | =head3 Why do some chinese characters look so different than others? |
|
|
243 | |
|
|
244 | This is because there is a difference between script and language -- |
|
|
245 | rxvt-unicode does not know which language the text that is output is, |
|
|
246 | as it only knows the unicode character codes. If rxvt-unicode first |
|
|
247 | sees a japanese/chinese character, it might choose a japanese font for |
|
|
248 | display. Subsequent japanese characters will use that font. Now, many |
|
|
249 | chinese characters aren't represented in japanese fonts, so when the first |
|
|
250 | non-japanese character comes up, rxvt-unicode will look for a chinese font |
|
|
251 | -- unfortunately at this point, it will still use the japanese font for |
|
|
252 | chinese characters that are also in the japanese font. |
|
|
253 | |
|
|
254 | The workaround is easy: just tag a chinese font at the end of your font |
|
|
255 | list (see the previous question). The key is to view the font list as |
|
|
256 | a preference list: If you expect more japanese, list a japanese font |
|
|
257 | first. If you expect more chinese, put a chinese font first. |
|
|
258 | |
|
|
259 | In the future it might be possible to switch language preferences at |
|
|
260 | runtime (the internal data structure has no problem with using different |
|
|
261 | fonts for the same character at the same time, but no interface for this |
|
|
262 | has been designed yet). |
|
|
263 | |
|
|
264 | Until then, you might get away with switching fonts at runtime (see L<Can |
|
|
265 | I switch the fonts at runtime?> later in this document). |
|
|
266 | |
|
|
267 | =head3 Why does rxvt-unicode sometimes leave pixel droppings? |
259 | =head3 Why does rxvt-unicode sometimes leave pixel droppings? |
268 | |
260 | |
269 | Most fonts were not designed for terminal use, which means that character |
261 | Most fonts were not designed for terminal use, which means that character |
270 | size varies a lot. A font that is otherwise fine for terminal use might |
262 | size varies a lot. A font that is otherwise fine for terminal use might |
271 | contain some characters that are simply too wide. Rxvt-unicode will avoid |
263 | contain some characters that are simply too wide. Rxvt-unicode will avoid |
… | |
… | |
388 | URxvt.color12: #0000FF |
380 | URxvt.color12: #0000FF |
389 | URxvt.color13: #FF00FF |
381 | URxvt.color13: #FF00FF |
390 | URxvt.color14: #00FFFF |
382 | URxvt.color14: #00FFFF |
391 | URxvt.color15: #FFFFFF |
383 | URxvt.color15: #FFFFFF |
392 | |
384 | |
393 | And here is a more complete set of non-standard colors described (not by |
385 | And here is a more complete set of non-standard colors. |
394 | me) as "pretty girly". |
|
|
395 | |
386 | |
396 | URxvt.cursorColor: #dc74d1 |
387 | URxvt.cursorColor: #dc74d1 |
397 | URxvt.pointerColor: #dc74d1 |
388 | URxvt.pointerColor: #dc74d1 |
398 | URxvt.background: #0e0e0e |
389 | URxvt.background: #0e0e0e |
399 | URxvt.foreground: #4ad5e1 |
390 | URxvt.foreground: #4ad5e1 |
… | |
… | |
410 | URxvt.color6: #73f7ff |
401 | URxvt.color6: #73f7ff |
411 | URxvt.color14: #73f7ff |
402 | URxvt.color14: #73f7ff |
412 | URxvt.color7: #e1dddd |
403 | URxvt.color7: #e1dddd |
413 | URxvt.color15: #e1dddd |
404 | URxvt.color15: #e1dddd |
414 | |
405 | |
|
|
406 | They have been described (not by me) as "pretty girly". |
|
|
407 | |
415 | =head3 Why do some characters look so much different than others? |
408 | =head3 Why do some characters look so much different than others? |
416 | |
409 | |
417 | See next entry. |
410 | See next entry. |
418 | |
411 | |
419 | =head3 How does rxvt-unicode choose fonts? |
412 | =head3 How does rxvt-unicode choose fonts? |
420 | |
413 | |
421 | Most fonts do not contain the full range of Unicode, which is |
414 | Most fonts do not contain the full range of Unicode, which is |
422 | fine. Chances are that the font you (or the admin/package maintainer of |
415 | fine. Chances are that the font you (or the admin/package maintainer of |
423 | your system/os) have specified does not cover all the characters you want |
416 | your system/os) have specified does not cover all the characters you want |
424 | to display. |
417 | to display. |
425 | |
418 | |
426 | B<rxvt-unicode> makes a best-effort try at finding a replacement |
419 | B<rxvt-unicode> makes a best-effort try at finding a replacement |
427 | font. Often the result is fine, but sometimes the chosen font looks |
420 | font. Often the result is fine, but sometimes the chosen font looks |
428 | bad/ugly/wrong. Some fonts have totally strange characters that don't |
421 | bad/ugly/wrong. Some fonts have totally strange characters that don't |
429 | resemble the correct glyph at all, and rxvt-unicode lacks the artificial |
422 | resemble the correct glyph at all, and rxvt-unicode lacks the artificial |
430 | intelligence to detect that a specific glyph is wrong: it has to believe |
423 | intelligence to detect that a specific glyph is wrong: it has to believe |
431 | the font that the characters it claims to contain indeed look correct. |
424 | the font that the characters it claims to contain indeed look correct. |
432 | |
425 | |
433 | In that case, select a font of your taste and add it to the font list, |
426 | In that case, select a font of your taste and add it to the font list, |
434 | e.g.: |
427 | e.g.: |
435 | |
428 | |
436 | @@URXVT_NAME@@ -fn basefont,font2,font3... |
429 | @@URXVT_NAME@@ -fn basefont,font2,font3... |
437 | |
430 | |
438 | When rxvt-unicode sees a character, it will first look at the base |
431 | When rxvt-unicode sees a character, it will first look at the base |
439 | font. If the base font does not contain the character, it will go to the |
432 | font. If the base font does not contain the character, it will go to the |
440 | next font, and so on. Specifying your own fonts will also speed up this |
433 | next font, and so on. Specifying your own fonts will also speed up this |
441 | search and use less resources within rxvt-unicode and the X-server. |
434 | search and use less resources within rxvt-unicode and the X-server. |
442 | |
435 | |
443 | The only limitation is that none of the fonts may be larger than the base |
436 | The only limitation is that none of the fonts may be larger than the base |
444 | font, as the base font defines the terminal character cell size, which |
437 | font, as the base font defines the terminal character cell size, which |
445 | must be the same due to the way terminals work. |
438 | must be the same due to the way terminals work. |
446 | |
439 | |
|
|
440 | =head3 Why do some chinese characters look so different than others? |
|
|
441 | |
|
|
442 | This is because there is a difference between script and language -- |
|
|
443 | rxvt-unicode does not know which language the text that is output is, |
|
|
444 | as it only knows the unicode character codes. If rxvt-unicode first |
|
|
445 | sees a japanese/chinese character, it might choose a japanese font for |
|
|
446 | display. Subsequent japanese characters will use that font. Now, many |
|
|
447 | chinese characters aren't represented in japanese fonts, so when the first |
|
|
448 | non-japanese character comes up, rxvt-unicode will look for a chinese font |
|
|
449 | -- unfortunately at this point, it will still use the japanese font for |
|
|
450 | chinese characters that are also in the japanese font. |
|
|
451 | |
|
|
452 | The workaround is easy: just tag a chinese font at the end of your font |
|
|
453 | list (see the previous question). The key is to view the font list as |
|
|
454 | a preference list: If you expect more japanese, list a japanese font |
|
|
455 | first. If you expect more chinese, put a chinese font first. |
|
|
456 | |
|
|
457 | In the future it might be possible to switch language preferences at |
|
|
458 | runtime (the internal data structure has no problem with using different |
|
|
459 | fonts for the same character at the same time, but no interface for this |
|
|
460 | has been designed yet). |
|
|
461 | |
|
|
462 | Until then, you might get away with switching fonts at runtime (see L<Can |
|
|
463 | I switch the fonts at runtime?> later in this document). |
447 | |
464 | |
448 | =head2 Keyboard, Mouse & User Interaction |
465 | =head2 Keyboard, Mouse & User Interaction |
449 | |
466 | |
450 | =head3 The new selection selects pieces that are too big, how can I select single words? |
467 | =head3 The new selection selects pieces that are too big, how can I select single words? |
451 | |
468 | |
… | |
… | |
866 | |
883 | |
867 | You can also use xterm's C<luit> program, which usually works fine, except |
884 | You can also use xterm's C<luit> program, which usually works fine, except |
868 | for some locales where character width differs between program- and |
885 | for some locales where character width differs between program- and |
869 | rxvt-unicode-locales. |
886 | rxvt-unicode-locales. |
870 | |
887 | |
|
|
888 | =head3 I have problems getting my input method working. |
|
|
889 | |
|
|
890 | Try a search engine, as this is slightly different for every input method server. |
|
|
891 | |
|
|
892 | Here is a checklist: |
|
|
893 | |
|
|
894 | =over 4 |
|
|
895 | |
|
|
896 | =item - Make sure your locale I<and> the imLocale are supported on your OS. |
|
|
897 | |
|
|
898 | Try C<locale -a> or check the documentation for your OS. |
|
|
899 | |
|
|
900 | =item - Make sure your locale or imLocale matches a locale supported by your XIM. |
|
|
901 | |
|
|
902 | For example, B<kinput2> does not support UTF-8 locales, you should use |
|
|
903 | C<ja_JP.EUC-JP> or equivalent. |
|
|
904 | |
|
|
905 | =item - Make sure your XIM server is actually running. |
|
|
906 | |
|
|
907 | =item - Make sure the C<XMODIFIERS> environment variable is set correctly when I<starting> rxvt-unicode. |
|
|
908 | |
|
|
909 | When you want to use e.g. B<kinput2>, it must be set to |
|
|
910 | C<@im=kinput2>. For B<scim>, use C<@im=SCIM>. Youc an see what input |
|
|
911 | method servers are running with this command: |
|
|
912 | |
|
|
913 | xprop -root XIM_SERVERS |
|
|
914 | |
|
|
915 | =item |
|
|
916 | |
|
|
917 | =back |
|
|
918 | |
871 | =head3 My input method wants <some encoding> but I want UTF-8, what can I do? |
919 | =head3 My input method wants <some encoding> but I want UTF-8, what can I do? |
872 | |
920 | |
873 | You can specify separate locales for the input method and the rest of the |
921 | You can specify separate locales for the input method and the rest of the |
874 | terminal, using the resource C<imlocale>: |
922 | terminal, using the resource C<imlocale>: |
875 | |
923 | |
876 | URxvt.imlocale: ja_JP.EUC-JP |
924 | URxvt.imlocale: ja_JP.EUC-JP |
877 | |
925 | |
878 | Now you can start your terminal with C<LC_CTYPE=ja_JP.UTF-8> and still |
926 | Now you can start your terminal with C<LC_CTYPE=ja_JP.UTF-8> and still |
879 | use your input method. Please note, however, that you will not be able to |
927 | use your input method. Please note, however, that, depending on your Xlib |
880 | input characters outside C<EUC-JP> in a normal way then, as your input |
928 | version, you may not be able to input characters outside C<EUC-JP> in a |
881 | method limits you. |
929 | normal way then, as your input method limits you. |
882 | |
930 | |
883 | =head3 Rxvt-unicode crashes when the X Input Method changes or exits. |
931 | =head3 Rxvt-unicode crashes when the X Input Method changes or exits. |
884 | |
932 | |
885 | Unfortunately, this is unavoidable, as the XIM protocol is racy by |
933 | Unfortunately, this is unavoidable, as the XIM protocol is racy by |
886 | design. Applications can avoid some crashes at the expense of memory |
934 | design. Applications can avoid some crashes at the expense of memory |
… | |
… | |
1005 | encodings (you might try C<LC_CTYPE=C-UTF-8>), so you are likely limited |
1053 | encodings (you might try C<LC_CTYPE=C-UTF-8>), so you are likely limited |
1006 | to 8-bit encodings. |
1054 | to 8-bit encodings. |
1007 | |
1055 | |
1008 | =head1 RXVT-UNICODE TECHNICAL REFERENCE |
1056 | =head1 RXVT-UNICODE TECHNICAL REFERENCE |
1009 | |
1057 | |
1010 | =head1 DESCRIPTION |
|
|
1011 | |
|
|
1012 | The rest of this document describes various technical aspects of |
1058 | The rest of this document describes various technical aspects of |
1013 | B<rxvt-unicode>. First the description of supported command sequences, |
1059 | B<rxvt-unicode>. First the description of supported command sequences, |
1014 | followed by pixmap support and last by a description of all features |
1060 | followed by pixmap support and last by a description of all features |
1015 | selectable at C<configure> time. |
1061 | selectable at C<configure> time. |
1016 | |
1062 | |
1017 | =head1 Definitions |
1063 | =head2 Definitions |
1018 | |
1064 | |
1019 | =over 4 |
1065 | =over 4 |
1020 | |
1066 | |
1021 | =item B<< C<c> >> |
1067 | =item B<< C<c> >> |
1022 | |
1068 | |
… | |
… | |
1040 | |
1086 | |
1041 | A text parameter composed of printable characters. |
1087 | A text parameter composed of printable characters. |
1042 | |
1088 | |
1043 | =back |
1089 | =back |
1044 | |
1090 | |
1045 | =head1 Values |
1091 | =head2 Values |
1046 | |
1092 | |
1047 | =over 4 |
1093 | =over 4 |
1048 | |
1094 | |
1049 | =item B<< C<ENQ> >> |
1095 | =item B<< C<ENQ> >> |
1050 | |
1096 | |
… | |
… | |
1093 | |
1139 | |
1094 | Space Character |
1140 | Space Character |
1095 | |
1141 | |
1096 | =back |
1142 | =back |
1097 | |
1143 | |
1098 | =head1 Escape Sequences |
1144 | =head2 Escape Sequences |
1099 | |
1145 | |
1100 | =over 4 |
1146 | =over 4 |
1101 | |
1147 | |
1102 | =item B<< C<ESC # 8> >> |
1148 | =item B<< C<ESC # 8> >> |
1103 | |
1149 | |
… | |
… | |
1201 | |
1247 | |
1202 | =back |
1248 | =back |
1203 | |
1249 | |
1204 | X<CSI> |
1250 | X<CSI> |
1205 | |
1251 | |
1206 | =head1 CSI (Command Sequence Introducer) Sequences |
1252 | =head2 CSI (Command Sequence Introducer) Sequences |
1207 | |
1253 | |
1208 | =over 4 |
1254 | =over 4 |
1209 | |
1255 | |
1210 | =item B<< C<ESC [ Ps @> >> |
1256 | =item B<< C<ESC [ Ps @> >> |
1211 | |
1257 | |
… | |
… | |
1481 | |
1527 | |
1482 | =back |
1528 | =back |
1483 | |
1529 | |
1484 | X<PrivateModes> |
1530 | X<PrivateModes> |
1485 | |
1531 | |
1486 | =head1 DEC Private Modes |
1532 | =head2 DEC Private Modes |
1487 | |
1533 | |
1488 | =over 4 |
1534 | =over 4 |
1489 | |
1535 | |
1490 | =item B<< C<ESC [ ? Pm h> >> |
1536 | =item B<< C<ESC [ ? Pm h> >> |
1491 | |
1537 | |
… | |
… | |
1755 | |
1801 | |
1756 | =back |
1802 | =back |
1757 | |
1803 | |
1758 | X<XTerm> |
1804 | X<XTerm> |
1759 | |
1805 | |
1760 | =head1 XTerm Operating System Commands |
1806 | =head2 XTerm Operating System Commands |
1761 | |
1807 | |
1762 | =over 4 |
1808 | =over 4 |
1763 | |
1809 | |
1764 | =item B<< C<ESC ] Ps;Pt ST> >> |
1810 | =item B<< C<ESC ] Ps;Pt ST> >> |
1765 | |
1811 | |
… | |
… | |
1802 | B<< C<Ps = 777> >> Call the perl extension with the given string, which should be of the form C<extension:parameters> (Compile perl). |
1848 | B<< C<Ps = 777> >> Call the perl extension with the given string, which should be of the form C<extension:parameters> (Compile perl). |
1803 | |
1849 | |
1804 | =end table |
1850 | =end table |
1805 | |
1851 | |
1806 | =back |
1852 | =back |
1807 | |
|
|
1808 | X<XPM> |
|
|
1809 | |
1853 | |
1810 | =head1 XPM |
1854 | =head1 XPM |
1811 | |
1855 | |
1812 | For the XPM XTerm escape sequence B<< C<ESC ] 20 ; Pt ST> >> then value |
1856 | For the XPM XTerm escape sequence B<< C<ESC ] 20 ; Pt ST> >> then value |
1813 | of B<< C<Pt> >> can be the name of the background pixmap followed by a |
1857 | of B<< C<Pt> >> can be the name of the background pixmap followed by a |