… | |
… | |
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, |
… | |
… | |
236 | -set _NET_WM_WINDOW_OPACITY 0xc0000000 |
253 | -set _NET_WM_WINDOW_OPACITY 0xc0000000 |
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 | |
|
|
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 | |
258 | |
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 |
… | |
… | |
409 | URxvt.color6: #73f7ff |
401 | URxvt.color6: #73f7ff |
410 | URxvt.color14: #73f7ff |
402 | URxvt.color14: #73f7ff |
411 | URxvt.color7: #e1dddd |
403 | URxvt.color7: #e1dddd |
412 | URxvt.color15: #e1dddd |
404 | URxvt.color15: #e1dddd |
413 | |
405 | |
414 | (They were described (not by me) as "pretty girly"). |
406 | They have been described (not by me) as "pretty girly". |
415 | |
407 | |
416 | =head3 Why do some characters look so much different than others? |
408 | =head3 Why do some characters look so much different than others? |
417 | |
409 | |
418 | See next entry. |
410 | See next entry. |
419 | |
411 | |
420 | =head3 How does rxvt-unicode choose fonts? |
412 | =head3 How does rxvt-unicode choose fonts? |
421 | |
413 | |
422 | 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 |
423 | 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 |
424 | 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 |
425 | to display. |
417 | to display. |
426 | |
418 | |
427 | 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 |
428 | 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 |
429 | 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 |
430 | 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 |
431 | 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 |
432 | 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. |
433 | |
425 | |
434 | 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, |
435 | e.g.: |
427 | e.g.: |
436 | |
428 | |
437 | @@URXVT_NAME@@ -fn basefont,font2,font3... |
429 | @@URXVT_NAME@@ -fn basefont,font2,font3... |
438 | |
430 | |
439 | 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 |
440 | 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 |
441 | 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 |
442 | 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. |
443 | |
435 | |
444 | 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 |
445 | 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 |
446 | must be the same due to the way terminals work. |
438 | must be the same due to the way terminals work. |
447 | |
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). |
448 | |
464 | |
449 | =head2 Keyboard, Mouse & User Interaction |
465 | =head2 Keyboard, Mouse & User Interaction |
450 | |
466 | |
451 | =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? |
452 | |
468 | |
… | |
… | |
867 | |
883 | |
868 | 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 |
869 | for some locales where character width differs between program- and |
885 | for some locales where character width differs between program- and |
870 | rxvt-unicode-locales. |
886 | rxvt-unicode-locales. |
871 | |
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 | |
872 | =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? |
873 | |
920 | |
874 | 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 |
875 | terminal, using the resource C<imlocale>: |
922 | terminal, using the resource C<imlocale>: |
876 | |
923 | |
877 | URxvt.imlocale: ja_JP.EUC-JP |
924 | URxvt.imlocale: ja_JP.EUC-JP |
878 | |
925 | |
879 | 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 |
880 | 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 |
881 | 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 |
882 | method limits you. |
929 | normal way then, as your input method limits you. |
883 | |
930 | |
884 | =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. |
885 | |
932 | |
886 | Unfortunately, this is unavoidable, as the XIM protocol is racy by |
933 | Unfortunately, this is unavoidable, as the XIM protocol is racy by |
887 | design. Applications can avoid some crashes at the expense of memory |
934 | design. Applications can avoid some crashes at the expense of memory |
… | |
… | |
1006 | 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 |
1007 | to 8-bit encodings. |
1054 | to 8-bit encodings. |
1008 | |
1055 | |
1009 | =head1 RXVT-UNICODE TECHNICAL REFERENCE |
1056 | =head1 RXVT-UNICODE TECHNICAL REFERENCE |
1010 | |
1057 | |
1011 | =head1 DESCRIPTION |
|
|
1012 | |
|
|
1013 | The rest of this document describes various technical aspects of |
1058 | The rest of this document describes various technical aspects of |
1014 | B<rxvt-unicode>. First the description of supported command sequences, |
1059 | B<rxvt-unicode>. First the description of supported command sequences, |
1015 | 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 |
1016 | selectable at C<configure> time. |
1061 | selectable at C<configure> time. |
1017 | |
1062 | |
1018 | =head1 Definitions |
1063 | =head2 Definitions |
1019 | |
1064 | |
1020 | =over 4 |
1065 | =over 4 |
1021 | |
1066 | |
1022 | =item B<< C<c> >> |
1067 | =item B<< C<c> >> |
1023 | |
1068 | |
… | |
… | |
1041 | |
1086 | |
1042 | A text parameter composed of printable characters. |
1087 | A text parameter composed of printable characters. |
1043 | |
1088 | |
1044 | =back |
1089 | =back |
1045 | |
1090 | |
1046 | =head1 Values |
1091 | =head2 Values |
1047 | |
1092 | |
1048 | =over 4 |
1093 | =over 4 |
1049 | |
1094 | |
1050 | =item B<< C<ENQ> >> |
1095 | =item B<< C<ENQ> >> |
1051 | |
1096 | |
… | |
… | |
1094 | |
1139 | |
1095 | Space Character |
1140 | Space Character |
1096 | |
1141 | |
1097 | =back |
1142 | =back |
1098 | |
1143 | |
1099 | =head1 Escape Sequences |
1144 | =head2 Escape Sequences |
1100 | |
1145 | |
1101 | =over 4 |
1146 | =over 4 |
1102 | |
1147 | |
1103 | =item B<< C<ESC # 8> >> |
1148 | =item B<< C<ESC # 8> >> |
1104 | |
1149 | |
… | |
… | |
1202 | |
1247 | |
1203 | =back |
1248 | =back |
1204 | |
1249 | |
1205 | X<CSI> |
1250 | X<CSI> |
1206 | |
1251 | |
1207 | =head1 CSI (Command Sequence Introducer) Sequences |
1252 | =head2 CSI (Command Sequence Introducer) Sequences |
1208 | |
1253 | |
1209 | =over 4 |
1254 | =over 4 |
1210 | |
1255 | |
1211 | =item B<< C<ESC [ Ps @> >> |
1256 | =item B<< C<ESC [ Ps @> >> |
1212 | |
1257 | |
… | |
… | |
1482 | |
1527 | |
1483 | =back |
1528 | =back |
1484 | |
1529 | |
1485 | X<PrivateModes> |
1530 | X<PrivateModes> |
1486 | |
1531 | |
1487 | =head1 DEC Private Modes |
1532 | =head2 DEC Private Modes |
1488 | |
1533 | |
1489 | =over 4 |
1534 | =over 4 |
1490 | |
1535 | |
1491 | =item B<< C<ESC [ ? Pm h> >> |
1536 | =item B<< C<ESC [ ? Pm h> >> |
1492 | |
1537 | |
… | |
… | |
1756 | |
1801 | |
1757 | =back |
1802 | =back |
1758 | |
1803 | |
1759 | X<XTerm> |
1804 | X<XTerm> |
1760 | |
1805 | |
1761 | =head1 XTerm Operating System Commands |
1806 | =head2 XTerm Operating System Commands |
1762 | |
1807 | |
1763 | =over 4 |
1808 | =over 4 |
1764 | |
1809 | |
1765 | =item B<< C<ESC ] Ps;Pt ST> >> |
1810 | =item B<< C<ESC ] Ps;Pt ST> >> |
1766 | |
1811 | |
… | |
… | |
1803 | 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). |
1804 | |
1849 | |
1805 | =end table |
1850 | =end table |
1806 | |
1851 | |
1807 | =back |
1852 | =back |
1808 | |
|
|
1809 | X<XPM> |
|
|
1810 | |
1853 | |
1811 | =head1 XPM |
1854 | =head1 XPM |
1812 | |
1855 | |
1813 | 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 |
1814 | 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 |
… | |
… | |
2250 | Remove support for mouse selection style like that of xterm. |
2293 | Remove support for mouse selection style like that of xterm. |
2251 | |
2294 | |
2252 | =item --enable-dmalloc (default: off) |
2295 | =item --enable-dmalloc (default: off) |
2253 | |
2296 | |
2254 | Use Gray Watson's malloc - which is good for debugging See |
2297 | Use Gray Watson's malloc - which is good for debugging See |
2255 | http://www.letters.com/dmalloc/ for details If you use either this or the |
2298 | L<http://www.letters.com/dmalloc/> for details If you use either this or the |
2256 | next option, you may need to edit src/Makefile after compiling to point |
2299 | next option, you may need to edit src/Makefile after compiling to point |
2257 | DINCLUDE and DLIB to the right places. |
2300 | DINCLUDE and DLIB to the right places. |
2258 | |
2301 | |
2259 | You can only use either this option and the following (should |
2302 | You can only use either this option and the following (should |
2260 | you use either) . |
2303 | you use either) . |