… | |
… | |
11 | B<rxvt-unicode>, version B<@@RXVT_VERSION@@>, is a colour vt102 terminal |
11 | B<rxvt-unicode>, version B<@@RXVT_VERSION@@>, is a colour vt102 terminal |
12 | emulator intended as an I<xterm>(1) replacement for users who do not |
12 | emulator intended as an I<xterm>(1) replacement for users who do not |
13 | require features such as Tektronix 4014 emulation and toolkit-style |
13 | require features such as Tektronix 4014 emulation and toolkit-style |
14 | configurability. As a result, B<rxvt-unicode> uses much less swap space -- |
14 | configurability. As a result, B<rxvt-unicode> uses much less swap space -- |
15 | a significant advantage on a machine serving many X sessions. |
15 | a significant advantage on a machine serving many X sessions. |
|
|
16 | |
|
|
17 | =head1 FREQUENTLY ASKED QUESTIONS |
|
|
18 | |
|
|
19 | See @@RXVT_NAME@@(7) (try C<man 7 @@RXVT_NAME@@>) for a list of frequently |
|
|
20 | asked questions and answer to them and some common problems. |
16 | |
21 | |
17 | =head1 RXVT-UNICODE VS. RXVT |
22 | =head1 RXVT-UNICODE VS. RXVT |
18 | |
23 | |
19 | Unlike the original rxvt, B<rxvt-unicode> stores all text in Unicode |
24 | Unlike the original rxvt, B<rxvt-unicode> stores all text in Unicode |
20 | internally. That means it can store and display most scripts in the |
25 | internally. That means it can store and display most scripts in the |
… | |
… | |
24 | like tibetan or devenagari. Don't expect pretty output when using these |
29 | like tibetan or devenagari. Don't expect pretty output when using these |
25 | scripts. Most other scripts, latin, cyrillic, kanji, thai etc. should work |
30 | scripts. Most other scripts, latin, cyrillic, kanji, thai etc. should work |
26 | fine, though. A somewhat difficult case are left-to-right scripts, such |
31 | fine, though. A somewhat difficult case are left-to-right scripts, such |
27 | as hebrew: B<rxvt-unicode> adopts the view that bidirectional algorithms |
32 | as hebrew: B<rxvt-unicode> adopts the view that bidirectional algorithms |
28 | belong into the application, not the terminal emulator (too many things -- |
33 | belong into the application, not the terminal emulator (too many things -- |
29 | such as cursor-movement while editing -- break othwerwise), but that might |
34 | such as cursor-movement while editing -- break otherwise), but that might |
30 | change. |
35 | change. |
31 | |
36 | |
32 | If you are looking for a terminal that supports more exotic scripts, let |
37 | If you are looking for a terminal that supports more exotic scripts, let |
33 | me recommend C<mlterm>, which is a very userfriendly, lean and clean |
38 | me recommend C<mlterm>, which is a very userfriendly, lean and clean |
34 | terminal emulator. In fact, the reason rxvt-unicode was born was solely |
39 | terminal emulator. In fact, the reason rxvt-unicode was born was solely |
… | |
… | |
53 | drastically reduces memory usage. See @@RXVT_NAME@@d(1) (daemon) and |
58 | drastically reduces memory usage. See @@RXVT_NAME@@d(1) (daemon) and |
54 | @@RXVT_NAME@@c(1) (client). |
59 | @@RXVT_NAME@@c(1) (client). |
55 | |
60 | |
56 | It also makes technical information about escape sequences (which have |
61 | It also makes technical information about escape sequences (which have |
57 | been extended) easier accessible: see @@RXVT_NAME@@(7) for technical |
62 | been extended) easier accessible: see @@RXVT_NAME@@(7) for technical |
58 | reference documentation (escape sequences etc.) and the FAQ section at the |
63 | reference documentation (escape sequences etc.). |
59 | end of this document. |
|
|
60 | |
64 | |
61 | =head1 OPTIONS |
65 | =head1 OPTIONS |
62 | |
66 | |
63 | The B<@@RXVT_NAME@@> options (mostly a subset of I<xterm>'s) are listed |
67 | The B<@@RXVT_NAME@@> options (mostly a subset of I<xterm>'s) are listed |
64 | below. In keeping with the smaller-is-better philosophy, options may be |
68 | below. In keeping with the smaller-is-better philosophy, options may be |
… | |
… | |
119 | |
123 | |
120 | =item B<-sh> |
124 | =item B<-sh> |
121 | |
125 | |
122 | I<number> Darken (0 .. 100) or lighten (-1 .. -100) the transparent |
126 | I<number> Darken (0 .. 100) or lighten (-1 .. -100) the transparent |
123 | background image in addition to tinting it (i.e. B<-tint> must be |
127 | background image in addition to tinting it (i.e. B<-tint> must be |
124 | specified, too). |
128 | specified, too, e.g. C<-tint white>). |
125 | |
129 | |
126 | =item B<-bg> I<colour> |
130 | =item B<-bg> I<colour> |
127 | |
131 | |
128 | Window background colour; resource B<background>. |
132 | Window background colour; resource B<background>. |
129 | |
133 | |
… | |
… | |
158 | =item B<-fn> I<fontlist> |
162 | =item B<-fn> I<fontlist> |
159 | |
163 | |
160 | Select the fonts to be used. This is a comma separated list of font names |
164 | Select the fonts to be used. This is a comma separated list of font names |
161 | that are used in turn when trying to display Unicode characters. The |
165 | that are used in turn when trying to display Unicode characters. The |
162 | first font defines the cell size for characters; other fonts might be |
166 | first font defines the cell size for characters; other fonts might be |
163 | smaller, but not (in general) larger. A reasonable default font list is |
167 | smaller, but not (in general) larger. A (hopefully) reasonable default |
164 | always appended to it. See resource B<font> for details. |
168 | font list is always appended to it. See resource B<font> for more details. |
|
|
169 | |
|
|
170 | In short, to specify an X11 core font, just specify it's name or prefix it |
|
|
171 | with C<x:>. To specify an XFT-font, you need to prefix it with C<xft:>, |
|
|
172 | e.g.: |
|
|
173 | |
|
|
174 | @@RXVT_NAME@@ -fn "xft:Bitstream Vera Sans Mono:pixelsize=15" |
|
|
175 | @@RXVT_NAME@@ -fn "9x15bold,xft:Bitstream Vera Sans Mono" |
165 | |
176 | |
166 | See also the question "How does rxvt-unicode choose fonts?" in the FAQ |
177 | See also the question "How does rxvt-unicode choose fonts?" in the FAQ |
167 | section. |
178 | section of @@RXVT_NAME@@(7). |
168 | |
179 | |
169 | =item B<-fb> I<fontlist> |
180 | =item B<-fb> I<fontlist> |
170 | |
181 | |
171 | Compile font-styles: The bold font list to use when bold characters are to |
182 | Compile font-styles: The bold font list to use when bold characters are to |
172 | be printed. See resource B<boldFont> for details. |
183 | be printed. See resource B<boldFont> for details. |
… | |
… | |
227 | |
238 | |
228 | =item B<-st>|B<+st> |
239 | =item B<-st>|B<+st> |
229 | |
240 | |
230 | Display normal (non XTerm/NeXT) scrollbar without/with a trough; |
241 | Display normal (non XTerm/NeXT) scrollbar without/with a trough; |
231 | resource B<scrollBar_floating>. |
242 | resource B<scrollBar_floating>. |
|
|
243 | |
|
|
244 | =item B<-ptab>|B<+ptab> |
|
|
245 | |
|
|
246 | If enabled (default), "Horizontal Tab" characters are being stored as |
|
|
247 | actual wide characters in the screen buffer, which makes it possible to |
|
|
248 | select and paste them. Since a horizontal tab is a cursor movement and |
|
|
249 | not an actual glyph, this can sometimes be visually annoying as the cursor |
|
|
250 | on a tab character is displayed as a wide cursor; resource B<pastableTabs>. |
232 | |
251 | |
233 | =item B<-bc>|B<+bc> |
252 | =item B<-bc>|B<+bc> |
234 | |
253 | |
235 | Blink the cursor; resource B<cursorBlink>. |
254 | Blink the cursor; resource B<cursorBlink>. |
236 | |
255 | |
… | |
… | |
420 | =item B<colorRV:> I<colour> |
439 | =item B<colorRV:> I<colour> |
421 | |
440 | |
422 | Use the specified colour as the background for reverse video |
441 | Use the specified colour as the background for reverse video |
423 | characters. |
442 | characters. |
424 | |
443 | |
|
|
444 | =item B<underlineColor:> I<colour> |
|
|
445 | |
|
|
446 | If set, use the specified colour as the colour for the underline |
|
|
447 | itself. If unset, use the foreground colour. |
|
|
448 | |
425 | =item B<cursorColor:> I<colour> |
449 | =item B<cursorColor:> I<colour> |
426 | |
450 | |
427 | Use the specified colour for the cursor. The default is to use the |
451 | Use the specified colour for the cursor. The default is to use the |
428 | foreground colour; option B<-cr>. |
452 | foreground colour; option B<-cr>. |
429 | |
453 | |
… | |
… | |
461 | |
485 | |
462 | =item B<shading:> I<number> |
486 | =item B<shading:> I<number> |
463 | |
487 | |
464 | Darken (0 .. 100) or lighten (-1 .. -100) the transparent background |
488 | Darken (0 .. 100) or lighten (-1 .. -100) the transparent background |
465 | image in addition to tinting it. |
489 | image in addition to tinting it. |
466 | |
|
|
467 | =item B<fading:> I<number> |
|
|
468 | |
|
|
469 | Scale the tint colour by the given percentage. |
|
|
470 | |
490 | |
471 | =item B<scrollColor:> I<colour> |
491 | =item B<scrollColor:> I<colour> |
472 | |
492 | |
473 | Use the specified colour for the scrollbar [default #B2B2B2]. |
493 | Use the specified colour for the scrollbar [default #B2B2B2]. |
474 | |
494 | |
… | |
… | |
533 | specifies five fonts to be used. The first one is C<9x15bold> (actually |
553 | specifies five fonts to be used. The first one is C<9x15bold> (actually |
534 | the iso8859-1 version of the second font), which is the base font (because |
554 | the iso8859-1 version of the second font), which is the base font (because |
535 | it is named first) and thus defines the character cell grid to be 9 pixels |
555 | it is named first) and thus defines the character cell grid to be 9 pixels |
536 | wide and 15 pixels high. |
556 | wide and 15 pixels high. |
537 | |
557 | |
538 | the second font is just used to add additional unicode characters not in |
558 | The second font is just used to add additional unicode characters not in |
539 | the base font, likewise the third, which is unfortunately non-bold, but |
559 | the base font, likewise the third, which is unfortunately non-bold, but |
540 | the bold version of the font does contain less characters, so this is a |
560 | the bold version of the font does contain less characters, so this is a |
541 | useful supplement. |
561 | useful supplement. |
542 | |
562 | |
543 | The third font is an Xft font with aliasing turned off, and the characters |
563 | The third font is an Xft font with aliasing turned off, and the characters |
… | |
… | |
645 | B<False>: do not scroll to bottom when tty receives output; option |
665 | B<False>: do not scroll to bottom when tty receives output; option |
646 | B<+si>. |
666 | B<+si>. |
647 | |
667 | |
648 | =item B<scrollWithBuffer:> I<boolean> |
668 | =item B<scrollWithBuffer:> I<boolean> |
649 | |
669 | |
650 | B<True>: scroll with scrollback buffer when tty recieves new lines (and |
670 | B<True>: scroll with scrollback buffer when tty receives new lines (and |
651 | B<scrollTtyOutput> is False); option B<+sw>. B<False>: do not scroll |
671 | B<scrollTtyOutput> is False); option B<+sw>. B<False>: do not scroll |
652 | with scrollback buffer when tty recieves new lines; option B<-sw>. |
672 | with scrollback buffer when tty recieves new lines; option B<-sw>. |
653 | |
673 | |
654 | =item B<scrollTtyKeypress:> I<boolean> |
674 | =item B<scrollTtyKeypress:> I<boolean> |
655 | |
675 | |
… | |
… | |
696 | =item B<mouseWheelScrollPage:> I<boolean> |
716 | =item B<mouseWheelScrollPage:> I<boolean> |
697 | |
717 | |
698 | B<True>: the mouse wheel scrolls a page full. B<False>: the mouse wheel |
718 | B<True>: the mouse wheel scrolls a page full. B<False>: the mouse wheel |
699 | scrolls five lines [default]. |
719 | scrolls five lines [default]. |
700 | |
720 | |
|
|
721 | =item B<pastableTabs:> I<boolean> |
|
|
722 | |
|
|
723 | B<True>: store tabs as wide characters. B<False>: interpret tabs as cursor |
|
|
724 | movement only; option C<-ptab>. |
|
|
725 | |
701 | =item B<cursorBlink:> I<boolean> |
726 | =item B<cursorBlink:> I<boolean> |
702 | |
727 | |
703 | B<True>: blink the cursor. B<False>: do not blink the cursor [default]; |
728 | B<True>: blink the cursor. B<False>: do not blink the cursor [default]; |
704 | option B<-bc>. |
729 | option B<-bc>. |
705 | |
730 | |
… | |
… | |
758 | |
783 | |
759 | =item B<insecure:> I<boolean> |
784 | =item B<insecure:> I<boolean> |
760 | |
785 | |
761 | Enables "insecure" mode. Rxvt-unicode offers some escape sequences that |
786 | Enables "insecure" mode. Rxvt-unicode offers some escape sequences that |
762 | echo arbitrary strings like the icon name or the locale. This could be |
787 | echo arbitrary strings like the icon name or the locale. This could be |
763 | abused if somebody gets 8-bit-clean access to your display, wether |
788 | abused if somebody gets 8-bit-clean access to your display, whether |
764 | throuh a mail client displaying mail bodies unfiltered or though |
789 | throuh a mail client displaying mail bodies unfiltered or though |
765 | write(1). Therefore, these sequences are disabled by default. (Note |
790 | write(1). Therefore, these sequences are disabled by default. (Note |
766 | that other terminals, including xterm, have these sequences |
791 | that other terminals, including xterm, have these sequences |
767 | enabled by default). You can enable them by setting this boolean |
792 | enabled by default). You can enable them by setting this boolean |
768 | resource or specifying B<-insecure> as an option. At the moment, this |
793 | resource or specifying B<-insecure> as an option. At the moment, this |
… | |
… | |
842 | Left click at the beginning of the region, drag to the end of the |
867 | Left click at the beginning of the region, drag to the end of the |
843 | region and release; Right click to extend the marked region; Left |
868 | region and release; Right click to extend the marked region; Left |
844 | double-click to select a word; Left triple-click to select the entire |
869 | double-click to select a word; Left triple-click to select the entire |
845 | line. |
870 | line. |
846 | |
871 | |
|
|
872 | Starting a selection while pressing the B<Meta> key (or B<Meta+Ctrl> keys) |
|
|
873 | (Compile: frills) will create a rectangular selection instead of a normal |
|
|
874 | one. |
|
|
875 | |
847 | =item B<Insertion>: |
876 | =item B<Insertion>: |
848 | |
877 | |
849 | Pressing and releasing the Middle mouse button (or B<Shift-Insert>) in |
878 | Pressing and releasing the Middle mouse button (or B<Shift-Insert>) in |
850 | an B<@@RXVT_NAME@@> window causes the current text selection to be |
879 | an B<@@RXVT_NAME@@> window causes the current text selection to be |
851 | inserted as if it had been typed on the keyboard. |
880 | inserted as if it had been typed on the keyboard. |
… | |
… | |
899 | Start by pressing C<Control> and C<Shift> together, then releasing |
928 | Start by pressing C<Control> and C<Shift> together, then releasing |
900 | them. The next special key (cursor keys, home etc.) you enter will not |
929 | them. The next special key (cursor keys, home etc.) you enter will not |
901 | invoke it's usual function but instead will insert the corresponding |
930 | invoke it's usual function but instead will insert the corresponding |
902 | keycap symbol. The symbol will only be entered when the key has been |
931 | keycap symbol. The symbol will only be entered when the key has been |
903 | released, otherwise pressing e.g. C<Shift> would enter the symbol for |
932 | released, otherwise pressing e.g. C<Shift> would enter the symbol for |
904 | C<ISO Level 2 Switch>, although your intention might have beenm to enter a |
933 | C<ISO Level 2 Switch>, although your intention might have been to enter a |
905 | reverse tab (Shift-Tab). |
934 | reverse tab (Shift-Tab). |
906 | |
935 | |
907 | =item 5.3: Screen-selection entry method |
936 | =item 5.3: Screen-selection entry method |
908 | |
937 | |
909 | While this is implemented already (it's basically the selection |
938 | While this is implemented already (it's basically the selection |
… | |
… | |
983 | would yield White on Black, while on I<xterm>(1) it would yield Black |
1012 | would yield White on Black, while on I<xterm>(1) it would yield Black |
984 | on White. |
1013 | on White. |
985 | |
1014 | |
986 | =back |
1015 | =back |
987 | |
1016 | |
988 | =head1 FREQUENTLY ASKED QUESTIONS (FAQ) |
|
|
989 | |
|
|
990 | =over 4 |
|
|
991 | |
|
|
992 | =item How do I know which rxvt-unicode version I'm using? |
|
|
993 | |
|
|
994 | The version number is displayed with the usage (-h). Also the escape |
|
|
995 | sequence C<ESC[8n> sets the window title to the version number. |
|
|
996 | |
|
|
997 | =item When I log-in to another system it tells me about missing terminfo data? |
|
|
998 | |
|
|
999 | The terminal description used by rxvt-unicode is not as widely available |
|
|
1000 | as that for xterm, or even rxvt (for which the same problem often arises). |
|
|
1001 | |
|
|
1002 | The correct solution for this problem is to install the terminfo, this can be done |
|
|
1003 | like this: |
|
|
1004 | |
|
|
1005 | infocmp rxvt-unicode >rxvt.unicode.tic |
|
|
1006 | scp rxvt-unicode.tic remotesystem: |
|
|
1007 | ssh remotesystem tic rxvt-unicode.tic |
|
|
1008 | |
|
|
1009 | ... or by installing rxvt-unicode normally on the remote system, |
|
|
1010 | |
|
|
1011 | If you cannot or do not want to do this, then you can simply set |
|
|
1012 | C<TERM=rxvt> or even C<TERM=xterm>, and live with the small number of |
|
|
1013 | problems arising, which includes wrong keymapping, less and different |
|
|
1014 | colours and some refresh errors in fullscreen applications. It's a nice |
|
|
1015 | quick-and-dirty workaround for rare cases, though. |
|
|
1016 | |
|
|
1017 | If you always want to do this you can either recompile rxvt-unicode with |
|
|
1018 | the desired TERM value or use a resource to set it: |
|
|
1019 | |
|
|
1020 | URxvt.termName: rxvt |
|
|
1021 | |
|
|
1022 | =item How can I configure rxvt-unicode so that it looks similar to the original rxvt? |
|
|
1023 | |
|
|
1024 | Felix von Leitner says that these two lines, in your F<.Xdefaults>, will make rxvt-unicode |
|
|
1025 | behave similar to the original rxvt: |
|
|
1026 | |
|
|
1027 | URxvt.font: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1 |
|
|
1028 | URxvt.boldFont: -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-1 |
|
|
1029 | |
|
|
1030 | =item Rxvt-unicode does not seem to understand the selected encoding? |
|
|
1031 | |
|
|
1032 | =item Unicode does not seem to work? |
|
|
1033 | |
|
|
1034 | If you encounter strange problems like typing an accented character but |
|
|
1035 | getting two unrelated other characters or similar, or if program output is |
|
|
1036 | subtly garbled, then you should check your locale settings. |
|
|
1037 | |
|
|
1038 | Rxvt-unicode must be started with the same C<LC_CTYPE> setting as the |
|
|
1039 | programs. Often rxvt-unicode is started in the C<C> locale, while the |
|
|
1040 | login script running within the rxvt-unicode window changes the locale to |
|
|
1041 | sth. else, e.h. C<en_GB.UTF-8>. Needless to say, this is not going to work. |
|
|
1042 | |
|
|
1043 | The best thing is to fix your startup environment, as you will likely run |
|
|
1044 | into other problems. If nothing works you can try this in your .profile. |
|
|
1045 | |
|
|
1046 | printf '\e]701;%s\007' "$LC_CTYPE" |
|
|
1047 | |
|
|
1048 | If this doesn't work, then maybe you use a C<LC_CTYPE> specification not |
|
|
1049 | supported on your systems. Some systems have a C<locale> comamnd which |
|
|
1050 | displays this. If it displays sth. like: |
|
|
1051 | |
|
|
1052 | locale: Cannot set LC_CTYPE to default locale: ... |
|
|
1053 | |
|
|
1054 | Then the locale you specified is not supported on your system. |
|
|
1055 | |
|
|
1056 | If nothing works and you are sure that everything is set correctly then |
|
|
1057 | you will need to remember a little known fact: Some programs just don't |
|
|
1058 | support locales :( |
|
|
1059 | |
|
|
1060 | =item Why do the characters look ugly? |
|
|
1061 | |
|
|
1062 | =item How does rxvt-unicode choose fonts? |
|
|
1063 | |
|
|
1064 | Most fonts do not contain the full range of Unicode, which is |
|
|
1065 | fine. Chances are that the font you (or the admin/package maintainer of |
|
|
1066 | your system/os) have specified does not cover all the characters you want |
|
|
1067 | to display. |
|
|
1068 | |
|
|
1069 | B<rxvt-unicode> makes a best-effort try at finding a replacement |
|
|
1070 | font. Often the result is fine, but sometimes the chosen font looks |
|
|
1071 | bad. Many fonts have totally strange characters that don't resemble the |
|
|
1072 | correct glyph at all, and rxvt-unicode lacks the artificial intelligence |
|
|
1073 | to detetc that a specific glyph is wrong: it has to believe the font that |
|
|
1074 | the characters it contains indeed look correct. |
|
|
1075 | |
|
|
1076 | In that case, select a font of your taste and add it to the font list, |
|
|
1077 | e.g.: |
|
|
1078 | |
|
|
1079 | @@RXVT_NAME@@ -fn basefont,font2,font3... |
|
|
1080 | |
|
|
1081 | When rxvt-unicode sees a character, it will first look at the base |
|
|
1082 | font. If the base font does not contain the character, it will go to the |
|
|
1083 | next font, and so on. Specifying your own fonts will also speed up this |
|
|
1084 | search and use less resources within rxvt-unicode and the X-server. |
|
|
1085 | |
|
|
1086 | The only limitation is that all the fonts must not be larger than the base |
|
|
1087 | font, as the base font defines the principial cell size, which must be the |
|
|
1088 | same due to the way terminals work. |
|
|
1089 | |
|
|
1090 | =item Why do some chinese characters look so different than others? |
|
|
1091 | |
|
|
1092 | This is because there is a difference between script and language -- |
|
|
1093 | rxvt-unicode does not know which language the text that is output |
|
|
1094 | is, as it only knows the unicode character codes. If rxvt-unicode |
|
|
1095 | first sees a japanese character, it might choose a japanese font for |
|
|
1096 | it. Subseqzuent japanese characters will take that font. Now, many chinese |
|
|
1097 | characters aren't represented in japanese fonts, so when the first |
|
|
1098 | non-japanese character comes up, rxvt-unicode will look for a chinese font |
|
|
1099 | -- unfortunately at this point, it will still use the japanese font for |
|
|
1100 | japanese characters that are also chinese. |
|
|
1101 | |
|
|
1102 | The workaround is easy: just tag a chinese font at the end of your font |
|
|
1103 | list (see the previous question). The key is to view the font list as |
|
|
1104 | a preference list: If you expect more japanese, list a japanese font |
|
|
1105 | first. If you expect more chinese, put a chinese font first. |
|
|
1106 | |
|
|
1107 | In the future it might be possible to switch preferences at runtime (the |
|
|
1108 | internal data structure has no problem with using different fonts for |
|
|
1109 | the same character at the same time, but no interface for this has been |
|
|
1110 | designed yet). |
|
|
1111 | |
|
|
1112 | =item How can I keep rxvt-unicode from using reverse video so much? |
|
|
1113 | |
|
|
1114 | First of all, make sure you are running with the right terminfo |
|
|
1115 | (C<urxvt>), which will get rid of most of these effects. Then make sure |
|
|
1116 | you have specified colours for italic and bold, as otherwise rxvt-unicode |
|
|
1117 | might use reverse video to simulate the effect: |
|
|
1118 | |
|
|
1119 | URxvt*colorBD: white |
|
|
1120 | URxvt*colorIT: green |
|
|
1121 | |
|
|
1122 | =item Some programs assume totally weird colours (red instead of blue), how can I fix that? |
|
|
1123 | |
|
|
1124 | For some unexplainable reason, some programs (i.e. irssi) assume a very |
|
|
1125 | weird colour palette when confronted with a terminal with more than the |
|
|
1126 | standard 8 colours (rxvt-unicode supports 88). The right fix is, of |
|
|
1127 | course, to fix these programs not to assume non-ISO colours without very |
|
|
1128 | good reasons. |
|
|
1129 | |
|
|
1130 | In the meantime, you can either edit your C<urxvt> terminfo definition to |
|
|
1131 | only claim 8 colour support or use C<TERM=rxvt>, which will fix colours |
|
|
1132 | but keep you from using other rxvt-unicode features. |
|
|
1133 | |
|
|
1134 | =item How does rxvt-unicode determine the encoding to use? |
|
|
1135 | |
|
|
1136 | =item Is there an option to switch encodings? |
|
|
1137 | |
|
|
1138 | Unlike some other terminals, rxvt-unicode has no encoding switch, and no |
|
|
1139 | specific "utf-8" mode, such as xterm. In fact, it doesn't even know about |
|
|
1140 | UTF-8 or any other encodings with respect to terminal I/O. |
|
|
1141 | |
|
|
1142 | The reasons is that there exists a perfectly fine mechanism for selecting |
|
|
1143 | the encoding, doing I/O and (most important) communicating this to all |
|
|
1144 | applications so everybody agrees on character properties such as width and |
|
|
1145 | code number. This mechanism is the I<locale>. |
|
|
1146 | |
|
|
1147 | Rxvt-unicode uses the C<LC_CTYPE> locale category to select encoding. All |
|
|
1148 | programs doing the same (that is, most) will automatically agree in the |
|
|
1149 | interpretation of characters. |
|
|
1150 | |
|
|
1151 | Unfortunately, there is no system-independent way to select locales, nor |
|
|
1152 | is there a standard on how locale specifiers will look like. |
|
|
1153 | |
|
|
1154 | On most systems, the content of the C<LC_CTYPE> environment variable |
|
|
1155 | contains an arbitrary string which corresponds to an already-installed |
|
|
1156 | locale. Common names for locales are C<en_US.UTF-8>, C<de_DE.ISO-8859-15>, |
|
|
1157 | C<ja_JP.EUC-JP>, i.e. C<language_country.encoding>, but other forms |
|
|
1158 | (i.e. C<de> or C<german>) are also common. |
|
|
1159 | |
|
|
1160 | Rxvt-unicode ignores all other locale categories, and except for |
|
|
1161 | the encoding, ignores country or language-specific settings, |
|
|
1162 | i.e. C<de_DE.UTF-8> and C<ja_JP.UTF-8> are the same for rxvt-unicode. |
|
|
1163 | |
|
|
1164 | If you want to use a specific encoding you have to make sure you start |
|
|
1165 | rxvt-unicode with the correct C<LC_CTYPE> category. |
|
|
1166 | |
|
|
1167 | =item Can I switch locales at runtime? |
|
|
1168 | |
|
|
1169 | Yes, using an escape sequence. Try sth. like this, which sets |
|
|
1170 | rxvt-unicode's idea of C<LC_CTYPE>. |
|
|
1171 | |
|
|
1172 | printf '\e]701;%s\007' ja_JP.SJIS |
|
|
1173 | |
|
|
1174 | See also the previous question. |
|
|
1175 | |
|
|
1176 | Sometimes this capability is rather handy when you want to work in one |
|
|
1177 | locale (e.g. C<de_DE.UTF-8>) but some programs don't support UTF-8. For |
|
|
1178 | example, I use this script to start C<xjdic>, which first switches to a |
|
|
1179 | locale supported by xjdic and back later: |
|
|
1180 | |
|
|
1181 | printf '\e]701;%s\007' ja_JP.SJIS |
|
|
1182 | xjdic -js |
|
|
1183 | printf '\e]701;%s\007' de_DE.UTF-8 |
|
|
1184 | |
|
|
1185 | =item Can I switch the fonts at runtime? |
|
|
1186 | |
|
|
1187 | Yes, using an escape sequence. Try sth. like this, which has the same |
|
|
1188 | effect as using the C<-fn> switch, and takes effect immediately: |
|
|
1189 | |
|
|
1190 | printf '\e]50;%s\007' "9x15bold,xft:Kochi Gothic" |
|
|
1191 | |
|
|
1192 | This is useful if you e.g. work primarily with japanese (and prefer a |
|
|
1193 | japanese font), but you have to switch to chinese temporarily, where |
|
|
1194 | japanese fonts would only be in your way. |
|
|
1195 | |
|
|
1196 | You can think of this as a kind of manual ISO-2022 switching. |
|
|
1197 | |
|
|
1198 | =item Why do italic characters look as if clipped? |
|
|
1199 | |
|
|
1200 | Many fonts have difficulties with italic characters and hinting. For |
|
|
1201 | example, the otherwise very nicely hinted font C<xft:Bitstream Vera Sans |
|
|
1202 | Mono> completely fails in it's italic face. A workaround is to enable |
|
|
1203 | freetype autohinting, i.e. like this: |
|
|
1204 | |
|
|
1205 | URxvt*italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true |
|
|
1206 | URxvt*boldItalicFont: xft:Bitstream Vera Sans Mono:bold:italic:autohint=true |
|
|
1207 | |
|
|
1208 | =item My input method wants <some encoding> but I want UTF-8, what can I do? |
|
|
1209 | |
|
|
1210 | You cna specify separate locales for the input method and the rest of the |
|
|
1211 | terminal, using the resource C<imlocale>: |
|
|
1212 | |
|
|
1213 | URxvt*imlocale: ja_JP.EUC-JP |
|
|
1214 | |
|
|
1215 | Now you can start your terminal with C<LC_CTYPE=ja_JP.UTF-8> and still |
|
|
1216 | use your input method. Please note, however, that you will not be able to |
|
|
1217 | input characters outside C<EUC-JP> in a normal way then, as your input |
|
|
1218 | method limits you. |
|
|
1219 | |
|
|
1220 | =item Rxvt-unicode uses gobs of memory, how can I reduce that? |
|
|
1221 | |
|
|
1222 | Rxvt-unicode tries to obey the rule of not charging you for sth. you |
|
|
1223 | don't use. One thing you should try is to configure out all settings that |
|
|
1224 | you don't need, for example, Xft support is a resource hog by design, |
|
|
1225 | when used. Compiling it out ensures that no Xft font will be loaded |
|
|
1226 | accidentally when rxvt-unicode tries to find a font for your characters. |
|
|
1227 | |
|
|
1228 | Also, many people (me included) like large windows and even larger |
|
|
1229 | scrollback buffers: Without C<--enable-unicode3>, rxvt-unicode will use |
|
|
1230 | 6 bytes per screen cell. For a 160x?? window this amounts to almost a |
|
|
1231 | kilobyte per line. A scorllback buffer of 10000 lines will then (if full) |
|
|
1232 | use 10 Megabytes of memory. With C<--enable-unicode3> it gets worse, as |
|
|
1233 | rxvt-unicode then uses 8 bytes per screen cell. |
|
|
1234 | |
|
|
1235 | =item Can I speed up Xft rendering somehow? |
|
|
1236 | |
|
|
1237 | Yes, the most obvious way to speed it up is to avoid Xft entirely, as |
|
|
1238 | it is simply slow. If you still want Xft fonts you might try to disable |
|
|
1239 | antialiasing (by appending C<:antialiasing=false>), which saves lots of |
|
|
1240 | memory and also speeds up rendering considerably. |
|
|
1241 | |
|
|
1242 | =item Rxvt-unicode doesn't seem to anti-alias its fonts, what is wrong? |
|
|
1243 | |
|
|
1244 | Rxvt-unicode will use whatever you specify as a font. If it needs to |
|
|
1245 | fall back to it's default font search list it will prefer X11 core |
|
|
1246 | fonts, because they are small and fast, and then use Xft fonts. It has |
|
|
1247 | antialiaisng disabled for most of them, because the author thinks they |
|
|
1248 | look best that way. |
|
|
1249 | |
|
|
1250 | If you want antialiasing, you have to specify the fonts manually. |
|
|
1251 | |
|
|
1252 | =item Mouse cut/paste suddenly no longer works. |
|
|
1253 | |
|
|
1254 | Make sure that mouse reporting is actually turned off since killing |
|
|
1255 | some editors prematurely may leave the mouse in mouse report mode. I've |
|
|
1256 | heard that tcsh may use mouse reporting unless it otherwise specified. A |
|
|
1257 | quick check is to see if cut/paste works when the Alt or Shift keys are |
|
|
1258 | depressed. See @@RXVT_NAME@@(7) |
|
|
1259 | |
|
|
1260 | =item What's with this bold/blink stuff? |
|
|
1261 | |
|
|
1262 | If no bold colour is set via C<colorBD:>, bold will invert text using the |
|
|
1263 | standard foreground colour. |
|
|
1264 | |
|
|
1265 | For the standard background colour, blinking will actually make the |
|
|
1266 | text blink when compiled with C<--enable-blinking>. with standard |
|
|
1267 | colours. Without C<--enable-blinking>, the blink attribute will be |
|
|
1268 | ignored. |
|
|
1269 | |
|
|
1270 | On ANSI colours, bold/blink attributes are used to set high-intensity |
|
|
1271 | foreground/background colors. |
|
|
1272 | |
|
|
1273 | color0-7 are the low-intensity colors. |
|
|
1274 | |
|
|
1275 | color8-15 are the corresponding high-intensity colors. |
|
|
1276 | |
|
|
1277 | =item I don't like the screen colors. How do I change them? |
|
|
1278 | |
|
|
1279 | You can change the screen colors at run-time using F<~/.Xdefaults> |
|
|
1280 | resources (or as long-options). |
|
|
1281 | |
|
|
1282 | Here are values that are supposed to resemble a VGA screen, |
|
|
1283 | including the murky brown that passes for low-intensity yellow: |
|
|
1284 | |
|
|
1285 | Rxvt*color0: #000000 |
|
|
1286 | Rxvt*color1: #A80000 |
|
|
1287 | Rxvt*color2: #00A800 |
|
|
1288 | Rxvt*color3: #A8A800 |
|
|
1289 | Rxvt*color4: #0000A8 |
|
|
1290 | Rxvt*color5: #A800A8 |
|
|
1291 | Rxvt*color6: #00A8A8 |
|
|
1292 | Rxvt*color7: #A8A8A8 |
|
|
1293 | |
|
|
1294 | Rxvt*color8: #000054 |
|
|
1295 | Rxvt*color9: #FF0054 |
|
|
1296 | Rxvt*color10: #00FF54 |
|
|
1297 | Rxvt*color11: #FFFF54 |
|
|
1298 | Rxvt*color12: #0000FF |
|
|
1299 | Rxvt*color13: #FF00FF |
|
|
1300 | Rxvt*color14: #00FFFF |
|
|
1301 | Rxvt*color15: #FFFFFF |
|
|
1302 | |
|
|
1303 | =item What's with the strange Backspace/Delete key behaviour? |
|
|
1304 | |
|
|
1305 | Assuming that the physical Backspace key corresponds to the |
|
|
1306 | BackSpace keysym (not likely for Linux ... see the following |
|
|
1307 | question) there are two standard values that can be used for |
|
|
1308 | Backspace: C<^H> and C<^?>. |
|
|
1309 | |
|
|
1310 | Historically, either value is correct, but rxvt-unicode adopts the debian |
|
|
1311 | policy of using C<^?> when unsure, because it's the one only only correct |
|
|
1312 | choice :). |
|
|
1313 | |
|
|
1314 | Rxvt-unicode tries to inherit the current stty settings and uses the value |
|
|
1315 | of `erase' to guess the value for backspace. If rxvt-unicode wasn't |
|
|
1316 | started from a terminal (say, from a menu or by remote shell), then the |
|
|
1317 | system value of `erase', which corresponds to CERASE in <termios.h>, will |
|
|
1318 | be used (which may not be the same as your stty setting). |
|
|
1319 | |
|
|
1320 | For starting a new rxvt-unicode: |
|
|
1321 | |
|
|
1322 | # use Backspace = ^H |
|
|
1323 | $ stty erase ^H |
|
|
1324 | $ @@RXVT_NAME@@ |
|
|
1325 | |
|
|
1326 | # use Backspace = ^? |
|
|
1327 | $ stty erase ^? |
|
|
1328 | $ @@RXVT_NAME@@ |
|
|
1329 | |
|
|
1330 | Toggle with "ESC[36h" / "ESC[36l" as documented in @@RXVT_NAME@@(7). |
|
|
1331 | |
|
|
1332 | For an existing rxvt-unicode: |
|
|
1333 | |
|
|
1334 | # use Backspace = ^H |
|
|
1335 | $ stty erase ^H |
|
|
1336 | $ echo -n "^[[36h" |
|
|
1337 | |
|
|
1338 | # use Backspace = ^? |
|
|
1339 | $ stty erase ^? |
|
|
1340 | $ echo -n "^[[36l" |
|
|
1341 | |
|
|
1342 | This helps satisfy some of the Backspace discrepancies that occur, but |
|
|
1343 | if you use Backspace = C<^H>, make sure that the termcap/terminfo value |
|
|
1344 | properly reflects that. |
|
|
1345 | |
|
|
1346 | The Delete key is a another casualty of the ill-defined Backspace problem. |
|
|
1347 | To avoid confusion between the Backspace and Delete keys, the Delete |
|
|
1348 | key has been assigned an escape sequence to match the vt100 for Execute |
|
|
1349 | (ESC[3~) and is in the supplied termcap/terminfo. |
|
|
1350 | |
|
|
1351 | Some other Backspace problems: |
|
|
1352 | |
|
|
1353 | some editors use termcap/terminfo, |
|
|
1354 | some editors (vim I'm told) expect Backspace = ^H, |
|
|
1355 | GNU Emacs (and Emacs-like editors) use ^H for help. |
|
|
1356 | |
|
|
1357 | Perhaps someday this will all be resolved in a consistent manner. |
|
|
1358 | |
|
|
1359 | =item I don't like the key-bindings. How do I change them? |
|
|
1360 | |
|
|
1361 | There are some compile-time selections available via configure. Unless |
|
|
1362 | you have run "configure" with the C<--disable-resources> option you can |
|
|
1363 | use the `keysym' resource to alter the keystrings associated with keysym |
|
|
1364 | 0xFF00 - 0xFFFF (function, cursor keys, etc). |
|
|
1365 | |
|
|
1366 | Here's an example for a tn3270 session started using `@@RXVT_NAME@@ -name tn3270' |
|
|
1367 | |
|
|
1368 | !# ----- special uses ------: |
|
|
1369 | ! tn3270 login, remap function and arrow keys. |
|
|
1370 | tn3270*font: *clean-bold-*-*--15-* |
|
|
1371 | |
|
|
1372 | ! keysym - used by rxvt only |
|
|
1373 | ! Delete - ^D |
|
|
1374 | tn3270*keysym.0xFFFF: \004 |
|
|
1375 | |
|
|
1376 | ! Home - ^A |
|
|
1377 | tn3270*keysym.0xFF50: \001 |
|
|
1378 | ! Left - ^B |
|
|
1379 | tn3270*keysym.0xFF51: \002 |
|
|
1380 | ! Up - ^P |
|
|
1381 | tn3270*keysym.0xFF52: \020 |
|
|
1382 | ! Right - ^F |
|
|
1383 | tn3270*keysym.0xFF53: \006 |
|
|
1384 | ! Down - ^N |
|
|
1385 | tn3270*keysym.0xFF54: \016 |
|
|
1386 | ! End - ^E |
|
|
1387 | tn3270*keysym.0xFF57: \005 |
|
|
1388 | |
|
|
1389 | ! F1 - F12 |
|
|
1390 | tn3270*keysym.0xFFBE: \e1 |
|
|
1391 | tn3270*keysym.0xFFBF: \e2 |
|
|
1392 | tn3270*keysym.0xFFC0: \e3 |
|
|
1393 | tn3270*keysym.0xFFC1: \e4 |
|
|
1394 | tn3270*keysym.0xFFC2: \e5 |
|
|
1395 | tn3270*keysym.0xFFC3: \e6 |
|
|
1396 | tn3270*keysym.0xFFC4: \e7 |
|
|
1397 | tn3270*keysym.0xFFC5: \e8 |
|
|
1398 | tn3270*keysym.0xFFC6: \e9 |
|
|
1399 | tn3270*keysym.0xFFC7: \e0 |
|
|
1400 | tn3270*keysym.0xFFC8: \e- |
|
|
1401 | tn3270*keysym.0xFFC9: \e= |
|
|
1402 | |
|
|
1403 | ! map Prior/Next to F7/F8 |
|
|
1404 | tn3270*keysym.0xFF55: \e7 |
|
|
1405 | tn3270*keysym.0xFF56: \e8 |
|
|
1406 | |
|
|
1407 | =item I'm using keyboard model XXX that has extra Prior/Next/Insert keys. |
|
|
1408 | How do I make use of them? For example, the Sun Keyboard type 4 |
|
|
1409 | has the following mappings that rxvt-unicode doesn't recognize. |
|
|
1410 | |
|
|
1411 | KP_Insert == Insert |
|
|
1412 | F22 == Print |
|
|
1413 | F27 == Home |
|
|
1414 | F29 == Prior |
|
|
1415 | F33 == End |
|
|
1416 | F35 == Next |
|
|
1417 | |
|
|
1418 | Rather than have rxvt-unicode try to accomodate all the various possible keyboard |
|
|
1419 | mappings, it is better to use `xmodmap' to remap the keys as required for |
|
|
1420 | your particular machine. |
|
|
1421 | |
|
|
1422 | =item How do I distinguish if I'm running rxvt-unicode or a regular xterm? |
|
|
1423 | I need this to decide about setting colors etc. |
|
|
1424 | |
|
|
1425 | rxvt and rxvt-unicode always export the variable "COLORTERM", so you can |
|
|
1426 | check and see if that is set. Note that several programs, JED, slrn, |
|
|
1427 | Midnight Commander automatically check this variable to decide whether or |
|
|
1428 | not to use color. |
|
|
1429 | |
|
|
1430 | =item How do I set the correct, full IP address for the DISPLAY variable? |
|
|
1431 | |
|
|
1432 | If you've compiled rxvt-unicode with DISPLAY_IS_IP and ahve enabled |
|
|
1433 | insecure mode then it is possible to use the following shell script |
|
|
1434 | snippets to correctly set the display. If your version of rxvt-unicode |
|
|
1435 | wasn't also compiled with ESCZ_ANSWER (as assumed in these snippets) then |
|
|
1436 | the COLORTERM variable can be used to distinguish rxvt-unicode from a |
|
|
1437 | regular xterm. |
|
|
1438 | |
|
|
1439 | Courtesy of Chuck Blake <cblake@BBN.COM> with the following shell script |
|
|
1440 | snippets: |
|
|
1441 | |
|
|
1442 | # Bourne/Korn/POSIX family of shells: |
|
|
1443 | [ ${TERM:-foo} = foo ] && TERM=xterm # assume an xterm if we don't know |
|
|
1444 | if [ ${TERM:-foo} = xterm ]; then |
|
|
1445 | stty -icanon -echo min 0 time 15 # see if enhanced rxvt or not |
|
|
1446 | echo -n '^[Z' |
|
|
1447 | read term_id |
|
|
1448 | stty icanon echo |
|
|
1449 | if [ ""${term_id} = '^[[?1;2C' -a ${DISPLAY:-foo} = foo ]; then |
|
|
1450 | echo -n '^[[7n' # query the rxvt we are in for the DISPLAY string |
|
|
1451 | read DISPLAY # set it in our local shell |
|
|
1452 | fi |
|
|
1453 | fi |
|
|
1454 | |
|
|
1455 | =item How do I compile the manual pages for myself? |
|
|
1456 | |
|
|
1457 | You need to have a recent version of perl installed as F</usr/bin/perl>, |
|
|
1458 | one that comes with F<pod2man>, F<pod2text> and F<pod2html>. Then go to |
|
|
1459 | the doc subdirectory and enter C<make alldoc>. |
|
|
1460 | |
|
|
1461 | =back |
|
|
1462 | |
|
|
1463 | =head1 ENVIRONMENT |
1017 | =head1 ENVIRONMENT |
1464 | |
1018 | |
1465 | B<@@RXVT_NAME@@> sets the environment variables B<TERM>, B<COLORTERM> |
1019 | B<@@RXVT_NAME@@> sets the environment variables B<TERM>, B<COLORTERM> |
1466 | and B<COLORFGBG>. The environment variable B<WINDOWID> is set to the X |
1020 | and B<COLORFGBG>. The environment variable B<WINDOWID> is set to the X |
1467 | window id number of the B<@@RXVT_NAME@@> window and it also uses and |
1021 | window id number of the B<@@RXVT_NAME@@> window and it also uses and |