… | |
… | |
6 | |
6 | |
7 | B<@@RXVT_NAME@@> [options] [-e command [ args ]] |
7 | B<@@RXVT_NAME@@> [options] [-e command [ args ]] |
8 | |
8 | |
9 | =head1 DESCRIPTION |
9 | =head1 DESCRIPTION |
10 | |
10 | |
11 | B<rxvt-unicode>, version B<@@RXVTVERSION@@>, 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 | |
16 | |
17 | See also @@RXVT_NAME@@(7) for technical reference documentation (escape |
17 | =head1 RXVT-UNICODE VS. RXVT |
18 | sequences etc.). |
18 | |
|
|
19 | 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 |
|
|
21 | world. Being a terminal emulator, however, some things are very difficult, |
|
|
22 | especially cursive scripts such as arabic, vertically written scripts |
|
|
23 | like mongolian or scripts requiring extremely complex combining rules, |
|
|
24 | like tibetan or devenagari. Don't expect pretty output when using these |
|
|
25 | scripts. Most other scripts, latin, cyrillic, kanji, thai etc. should work |
|
|
26 | fine, though. A somewhat difficult case are left-to-right scripts, such |
|
|
27 | as hebrew: B<rxvt-unicode> adopts the view that bidirectional algorithms |
|
|
28 | belong into the application, not the terminal emulator (too many things -- |
|
|
29 | such as cursor-movement while editing -- break othwerwise), but that might |
|
|
30 | change. |
|
|
31 | |
|
|
32 | 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 |
|
|
34 | terminal emulator. In fact, the reason rxvt-unicode was born was solely |
|
|
35 | because the author couldn't get C<mlterm> to use one font for latin1 and |
|
|
36 | another for japanese. |
|
|
37 | |
|
|
38 | Therefore another design rationale was the use of multiple fonts to |
|
|
39 | display characters: The idea of a single unicode font which many other |
|
|
40 | programs force onto it's users never made sense to me: You should be able |
|
|
41 | to choose any font for any script freely. |
|
|
42 | |
|
|
43 | Apart from that, rxvt-unicode is also much better internationalised than |
|
|
44 | it's predecessor, supports things such as XFT and ISO 14755 that are handy |
|
|
45 | in i18n-environments, is faster, and has a lot less bugs than the original |
|
|
46 | rxvt. This all in addition to dozens of other small improvements. |
|
|
47 | |
|
|
48 | It is still faithfully following the original rxvt idea of being lean |
|
|
49 | and nice on resources: for example, you can still configure rxvt-unicode |
|
|
50 | without most of it's features to get a lean binary. It also comes with |
|
|
51 | a client/daemon pair that lets you open any number of terminal windows |
|
|
52 | from within a single process, which makes startup time very fast and |
|
|
53 | drastically reduces memory usage. See @@RXVT_NAME@@d(1) (daemon) and |
|
|
54 | @@RXVT_NAME@@c(1) (client). |
|
|
55 | |
|
|
56 | It also makes technical information about escape sequences (which have |
|
|
57 | been extended) easier accessible: see @@RXVT_NAME@@(7) for technical |
|
|
58 | reference documentation (escape sequences etc.) and the FAQ section at the |
|
|
59 | end of this document. |
19 | |
60 | |
20 | =head1 OPTIONS |
61 | =head1 OPTIONS |
21 | |
62 | |
22 | The B<@@RXVT_NAME@@> options (mostly a subset of I<xterm>'s) are listed |
63 | The B<@@RXVT_NAME@@> options (mostly a subset of I<xterm>'s) are listed |
23 | below. In keeping with the smaller-is-better philosophy, options may be |
64 | below. In keeping with the smaller-is-better philosophy, options may be |
24 | eliminated or default values chosen at compile-time, so options and |
65 | eliminated or default values chosen at compile-time, so options and |
25 | defaults listed may not accurately reflect the version installed on |
66 | defaults listed may not accurately reflect the version installed on |
26 | your system. `rxvt -h' gives a list of major compile-time options on |
67 | your system. `@@RXVT_NAME@@ -h' gives a list of major compile-time options on |
27 | the I<Options> line. Option descriptions may be prefixed with which |
68 | the I<Options> line. Option descriptions may be prefixed with which |
28 | compile option each is dependent upon. e.g. `Compile I<XIM>:' requires |
69 | compile option each is dependent upon. e.g. `Compile I<XIM>:' requires |
29 | I<XIM> on the I<Options> line. Note: `rxvt -help' gives a list of all |
70 | I<XIM> on the I<Options> line. Note: `@@RXVT_NAME@@ -help' gives a list of all |
30 | command-line options compiled into your version. |
71 | command-line options compiled into your version. |
31 | |
72 | |
32 | Note that B<@@RXVT_NAME@@> permits the resource name to be used as a |
73 | Note that B<@@RXVT_NAME@@> permits the resource name to be used as a |
33 | long-option (--/++ option) so the potential command-line options are |
74 | long-option (--/++ option) so the potential command-line options are |
34 | far greater than those listed. For example: `rxvt --loginShell --color1 |
75 | far greater than those listed. For example: `@@RXVT_NAME@@ --loginShell --color1 |
35 | Orange'. |
76 | Orange'. |
36 | |
77 | |
37 | The following options are available: |
78 | The following options are available: |
38 | |
79 | |
39 | =over 4 |
80 | =over 4 |
… | |
… | |
120 | names that are used in turn when trying to display Unicode characters. |
161 | names that are used in turn when trying to display Unicode characters. |
121 | The first font defines the cell size for characters; other fonts might |
162 | The first font defines the cell size for characters; other fonts might |
122 | be smaller, but not larger. A reasonable default font list is always |
163 | be smaller, but not larger. A reasonable default font list is always |
123 | appended to it. resource B<font>. |
164 | appended to it. resource B<font>. |
124 | |
165 | |
|
|
166 | See also the question "How does rxvt-unicode choose fonts?" in the FAQ |
|
|
167 | section. |
|
|
168 | |
125 | =item B<-rb>|B<+rb> |
169 | =item B<-rb>|B<+rb> |
126 | |
170 | |
127 | Enable "real bold" support. When this option is on, bold text will be |
171 | Enable "real bold" support. When this option is on, bold text will be |
128 | displayed using the first available bold font in the font list. Bold |
172 | displayed using the first available bold font in the font list. Bold |
129 | fonts should thus be specified in the font list after their |
173 | fonts should thus be specified in the font list after their |
… | |
… | |
205 | B<externalBorder>. |
249 | B<externalBorder>. |
206 | |
250 | |
207 | =item B<-bl> |
251 | =item B<-bl> |
208 | |
252 | |
209 | Compile I<frills>: Set MWM hints to request a borderless window, i.e. |
253 | Compile I<frills>: Set MWM hints to request a borderless window, i.e. |
210 | if honoured by the WM, the rxvt window will not have window |
254 | if honoured by the WM, the rxvt-unicode window will not have window |
211 | decorations; resource B<borderLess>. |
255 | decorations; resource B<borderLess>. |
212 | |
256 | |
213 | =item B<-lsp> I<number> |
257 | =item B<-lsp> I<number> |
214 | |
258 | |
215 | Compile I<linespace>: Lines (pixel height) to insert between each row |
259 | Compile I<linespace>: Lines (pixel height) to insert between each row |
… | |
… | |
286 | Turn on/off secondary screen scroll (default enabled); resource |
330 | Turn on/off secondary screen scroll (default enabled); resource |
287 | B<secondaryScroll>. |
331 | B<secondaryScroll>. |
288 | |
332 | |
289 | =item B<-xrm> I<resourcestring> |
333 | =item B<-xrm> I<resourcestring> |
290 | |
334 | |
291 | No effect on rxvt. Simply passes through an argument to be made |
335 | No effect on rxvt-unicode. Simply passes through an argument to be made |
292 | available in the instance's argument list. Appears in I<WM_COMMAND> in |
336 | available in the instance's argument list. Appears in I<WM_COMMAND> in |
293 | some window managers. |
337 | some window managers. |
294 | |
338 | |
295 | =back |
339 | =back |
296 | |
340 | |
… | |
… | |
465 | xterm style with 2.20 old word selection, or anything else which gives |
509 | xterm style with 2.20 old word selection, or anything else which gives |
466 | xterm style selection. |
510 | xterm style selection. |
467 | |
511 | |
468 | =item B<scrollstyle:> I<mode> |
512 | =item B<scrollstyle:> I<mode> |
469 | |
513 | |
470 | Set scrollbar style to B<@@RXVT_NAME@@>, B<rxvt>, B<plain>, B<next> or |
514 | Set scrollbar style to B<rxvt>, B<plain>, B<next> or B<xterm>. B<plain> is |
471 | B<xterm> |
515 | the author's favourite.. |
472 | |
516 | |
473 | =item B<title:> I<string> |
517 | =item B<title:> I<string> |
474 | |
518 | |
475 | Set window title string, the default title is the command-line |
519 | Set window title string, the default title is the command-line |
476 | specified after the B<-e> option, if any, otherwise the application |
520 | specified after the B<-e> option, if any, otherwise the application |
… | |
… | |
530 | Align the B<top>, B<bottom> or B<centre> [default] of the scrollbar |
574 | Align the B<top>, B<bottom> or B<centre> [default] of the scrollbar |
531 | thumb with the pointer on middle button press/drag. |
575 | thumb with the pointer on middle button press/drag. |
532 | |
576 | |
533 | =item B<scrollTtyOutput:> I<boolean> |
577 | =item B<scrollTtyOutput:> I<boolean> |
534 | |
578 | |
535 | B<True>: scroll to bottom when tty receives output; option B<+si>. |
579 | B<True>: scroll to bottom when tty receives output; option B<-si>. |
536 | B<False>: do not scroll to bottom when tty receives output; option |
580 | B<False>: do not scroll to bottom when tty receives output; option |
537 | B<-si>. |
581 | B<+si>. |
538 | |
582 | |
539 | =item B<scrollWithBuffer:> I<boolean> |
583 | =item B<scrollWithBuffer:> I<boolean> |
540 | |
584 | |
541 | B<True>: scroll with scrollback buffer when tty recieves new lines (and |
585 | B<True>: scroll with scrollback buffer when tty recieves new lines (and |
542 | B<scrollTtyOutput> is False); option B<+sw>. B<False>: do not scroll |
586 | B<scrollTtyOutput> is False); option B<+sw>. B<False>: do not scroll |
543 | with scrollback buffer when tty recieves new lines; option B<-sw>. |
587 | with scrollback buffer when tty recieves new lines; option B<-sw>. |
544 | |
588 | |
545 | =item B<scrollTtyKeypress:> I<boolean> |
589 | =item B<scrollTtyKeypress:> I<boolean> |
546 | |
590 | |
547 | B<True>: scroll to bottom when a non-special key is pressed. Special |
591 | B<True>: scroll to bottom when a non-special key is pressed. Special keys |
548 | keys are those which are intercepted by rxvt for special handling and |
592 | are those which are intercepted by rxvt-unicode for special handling and |
549 | are not passed onto the shell; option B<-sk>. B<False>: do not scroll |
593 | are not passed onto the shell; option B<-sk>. B<False>: do not scroll to |
550 | to bottom when a non-special key is pressed; option B<+sk>. |
594 | bottom when a non-special key is pressed; option B<+sk>. |
551 | |
|
|
552 | =item B<smallfont_key:> I<keysym> |
|
|
553 | |
|
|
554 | If enabled, use B<@@HOTKEY@@->I<keysym> to toggle to a smaller font |
|
|
555 | [default B<@@HOTKEY@@-@@SMALLFONT@@>] |
|
|
556 | |
|
|
557 | =item B<bigfont_key:> I<keysym> |
|
|
558 | |
|
|
559 | If enabled, use B<@@HOTKEY@@->I<keysym> to toggle to a bigger font |
|
|
560 | [default B<@@HOTKEY@@-@@BIGFONT@@>] |
|
|
561 | |
595 | |
562 | =item B<saveLines:> I<number> |
596 | =item B<saveLines:> I<number> |
563 | |
597 | |
564 | Save I<number> lines in the scrollback buffer [default 64]. This |
598 | Save I<number> lines in the scrollback buffer [default 64]. This |
565 | resource is limited on most machines to 65535; option B<-sl>. |
599 | resource is limited on most machines to 65535; option B<-sl>. |
… | |
… | |
575 | option B<-w>, B<-bw>, B<-borderwidth>. |
609 | option B<-w>, B<-bw>, B<-borderwidth>. |
576 | |
610 | |
577 | =item B<borderLess:> I<boolean> |
611 | =item B<borderLess:> I<boolean> |
578 | |
612 | |
579 | Set MWM hints to request a borderless window, i.e. if honoured by the |
613 | Set MWM hints to request a borderless window, i.e. if honoured by the |
580 | WM, the rxvt window will not have window decorations; option B<-bl>. |
614 | WM, the rxvt-unicode window will not have window decorations; option B<-bl>. |
581 | |
615 | |
582 | =item B<termName:> I<termname> |
616 | =item B<termName:> I<termname> |
583 | |
617 | |
584 | Specifies the terminal type name to be set in the B<TERM> environment |
618 | Specifies the terminal type name to be set in the B<TERM> environment |
585 | variable; option B<-tn>. |
619 | variable; option B<-tn>. |
… | |
… | |
676 | B<hyper>, B<super>, B<mod1>, B<mod2>, B<mod3>, B<mod4>, B<mod5>; option |
710 | B<hyper>, B<super>, B<mod1>, B<mod2>, B<mod3>, B<mod4>, B<mod5>; option |
677 | B<-mod>. |
711 | B<-mod>. |
678 | |
712 | |
679 | =item B<answerbackString:> I<string> |
713 | =item B<answerbackString:> I<string> |
680 | |
714 | |
681 | Specify the reply rxvt sends to the shell when an ENQ (control-E) |
715 | Specify the reply rxvt-unicode sends to the shell when an ENQ (control-E) |
682 | character is passed through. It may contain escape values as described |
716 | character is passed through. It may contain escape values as described |
683 | in the entry on B<keysym> following. |
717 | in the entry on B<keysym> following. |
684 | |
718 | |
685 | =item B<secondaryScreen:> I<bool> |
719 | =item B<secondaryScreen:> I<bool> |
686 | |
720 | |
… | |
… | |
753 | |
787 | |
754 | =back |
788 | =back |
755 | |
789 | |
756 | =head1 CHANGING FONTS |
790 | =head1 CHANGING FONTS |
757 | |
791 | |
758 | You can change fonts on-the-fly, which is to say cycle through the |
792 | Changing fonts (or font sizes, respectively) via the keypad is not yet |
759 | default font and others of various sizes, by using B<Shift-KP_Add> and |
793 | supported in rxvt-unicode. Bug me if you need this. |
760 | B<Shift-KP_Subtract>. Or, alternatively (if enabled) with |
794 | |
761 | B<@@HOTKEY@@-@@BIGFONT@@> and B<@@HOTKEY@@-@@SMALLFONT@@>, where the |
795 | You can, however, switch fonts at runtime using escape sequences (and |
762 | actual key can be selected using resources |
796 | therefore using the menubar), e.g.: |
763 | B<smallfont_key>/B<bigfont_key>. |
797 | |
|
|
798 | printf '\e]701;%s\007' "9x15bold,xft:Kochi Gothic" |
|
|
799 | |
|
|
800 | rxvt-unicode will automatically re-apply these fonts to the output so far. |
764 | |
801 | |
765 | =head1 ISO 14755 SUPPORT |
802 | =head1 ISO 14755 SUPPORT |
766 | |
803 | |
767 | Partial ISO 14755-support is implemented. that means that pressing |
804 | ISO 14755 is a standard for entering and viewing unicode characters |
|
|
805 | and character codes using the keyboard. It consists of 4 parts. The |
|
|
806 | first part is available rxvt-unicode has been compiled with |
|
|
807 | C<--enable-frills>, the rest is available when rxvt-unicode was compiled |
|
|
808 | with C<--enable-iso14755>. |
768 | |
809 | |
769 | Section 5.1: Control and Shift together enters unicode input |
810 | =over 4 |
770 | mode. Entering hex digits composes a Unicode character, pressing space or |
|
|
771 | releasing the modifiers commits the keycode and every other key cancels |
|
|
772 | the current input character. |
|
|
773 | |
811 | |
774 | Section 5.2: Pressing and immediately releasing Control and Shift together |
812 | =item 5.1: Basic method |
775 | enters keycap entry mode for the next key: pressing a function key (tab, |
813 | |
776 | return etc..) will enter the unicode character corresponding to the given |
814 | This allows you to enter unicode characters using their hexcode. |
777 | key. |
815 | |
|
|
816 | Start by pressing and holding both C<Control> and C<Shift>, then enter |
|
|
817 | hex-digits (between one and six). Releasing C<Control> and C<Shift> will |
|
|
818 | commit the character as if it were typed directly. While holding down |
|
|
819 | C<Control> and C<Shift> you can also enter multiple characters by pressing |
|
|
820 | C<Space>, which will commit the current character and lets you start a new |
|
|
821 | one. |
|
|
822 | |
|
|
823 | As an example of use, imagine a business card with a japanese e-mail |
|
|
824 | address, which you cannot type. Fortunately, the card has the e-mail |
|
|
825 | address printed as hexcodes, e.g. C<671d 65e5>. You can enter this easily |
|
|
826 | by pressing C<Control> and C<Shift>, followed by C<6-7-1-D-SPACE-6-5-E-5>, |
|
|
827 | followed by releasing the modifier keys. |
|
|
828 | |
|
|
829 | =item 5.2: Keyboard symbols entry method |
|
|
830 | |
|
|
831 | This mode lets you input characters representing the keycap symbols of |
|
|
832 | your keyboard, if representable in the current locale encoding. |
|
|
833 | |
|
|
834 | Start by pressing C<Control> and C<Shift> together, then releasing |
|
|
835 | them. The next special key (cursor keys, home etc.) you enter will not |
|
|
836 | invoke it's usual function but instead will insert the corresponding |
|
|
837 | keycap symbol. The symbol will only be entered when the key has been |
|
|
838 | released, otherwise pressing e.g. C<Shift> would enter the symbol for |
|
|
839 | C<ISO Level 2 Switch>, although your intention might have beenm to enter a |
|
|
840 | reverse tab (Shift-Tab). |
|
|
841 | |
|
|
842 | =item 5.3: Screen-selection entry method |
|
|
843 | |
|
|
844 | While this is implemented already (it's basically the selection |
|
|
845 | mechanism), it could be extended by displaying a unicode character map. |
|
|
846 | |
|
|
847 | =item 5.4: Feedback method for identifying displayed characters for later input |
|
|
848 | |
|
|
849 | This method lets you display the unicode character code associated with |
|
|
850 | characters already displayed. |
|
|
851 | |
|
|
852 | You enter this mode by holding down C<Control> and C<Shift> together, then |
|
|
853 | pressing and holding the left mouse button and moving around. The unicode |
|
|
854 | hex code(s) (it might be a combining character) of the character under the |
|
|
855 | pointer is displayed until you release C<Control> and C<Shift>. |
|
|
856 | |
|
|
857 | =back |
|
|
858 | |
|
|
859 | With respect to conformance, rxvt-unicode is supposed to be compliant to |
|
|
860 | both scenario A and B of ISO 14755, including part 5.2. |
778 | |
861 | |
779 | =head1 LOGIN STAMP |
862 | =head1 LOGIN STAMP |
780 | |
863 | |
781 | B<@@RXVT_NAME@@> tries to write an entry into the I<utmp>(5) file so |
864 | B<@@RXVT_NAME@@> tries to write an entry into the I<utmp>(5) file so |
782 | that it can be seen via the I<who(1)> command, and can accept messages. |
865 | that it can be seen via the I<who(1)> command, and can accept messages. |
… | |
… | |
823 | I<xterm>(1) where the colours are only swapped if they have not otherwise |
906 | I<xterm>(1) where the colours are only swapped if they have not otherwise |
824 | been specified. For example, |
907 | been specified. For example, |
825 | |
908 | |
826 | =over 4 |
909 | =over 4 |
827 | |
910 | |
828 | =item B<rxvt -fg Black -bg White -rv> |
911 | =item B<@@RXVT_NAME@@ -fg Black -bg White -rv> |
829 | |
912 | |
830 | would yield White on Black, while on I<xterm>(1) it would yield Black |
913 | would yield White on Black, while on I<xterm>(1) it would yield Black |
831 | on White. |
914 | on White. |
|
|
915 | |
|
|
916 | =back |
|
|
917 | |
|
|
918 | =head1 FREQUENTLY ASKED QUESTIONS (FAQ) |
|
|
919 | |
|
|
920 | =over 4 |
|
|
921 | |
|
|
922 | =item How do I know which rxvt-unicode version I'm using? |
|
|
923 | |
|
|
924 | The version number is displayed with the usage (-h). For rxvt-unicode |
|
|
925 | version 2.14 and later, the escape sequence C<ESC[8n> sets the window |
|
|
926 | title to the version number. |
|
|
927 | |
|
|
928 | =item Rxvt-unicode does not seem to understand the selected encoding? |
|
|
929 | |
|
|
930 | =item Unicode does not seem to work? |
|
|
931 | |
|
|
932 | If you encounter strange problems like typing an accented character but |
|
|
933 | getting two unrelated other characters or similar, or if program output is |
|
|
934 | subtly garbled, then you should check your locale settings. |
|
|
935 | |
|
|
936 | Rxvt-unicode must be started with the same C<LC_CTYPE> setting as the |
|
|
937 | programs. Often rxvt-unicode is started in the C<C> locale, while the |
|
|
938 | login script running within the rxvt-unicode window changes the locale to |
|
|
939 | sth. else, e.h. C<en_GB.UTF-8>. Needless to say, this is not going to work. |
|
|
940 | |
|
|
941 | The best thing is to fix your startup environment, as you will likely run |
|
|
942 | into other problems. If nothing works you can try this in your .profile. |
|
|
943 | |
|
|
944 | printf '\e]701;%s\007' "$LC_CTYPE" |
|
|
945 | |
|
|
946 | If this doesn't work, then maybe you use a C<LC_CTYPE> specification not |
|
|
947 | supported on your systems. Some systems have a C<locale> comamnd which |
|
|
948 | displays this. If it displays sth. like: |
|
|
949 | |
|
|
950 | locale: Cannot set LC_CTYPE to default locale: ... |
|
|
951 | |
|
|
952 | Then the locale you specified is not supported on your system. |
|
|
953 | |
|
|
954 | If nothing works and you are sure that everything is set correctly then |
|
|
955 | you will need to remember a little known fact: Some programs just don't |
|
|
956 | support locales :( |
|
|
957 | |
|
|
958 | =item Why do the characters look ugly? |
|
|
959 | |
|
|
960 | =item How does rxvt-unicode choose fonts? |
|
|
961 | |
|
|
962 | Most fonts do not contain the full range of Unicode, which is |
|
|
963 | fine. Chances are that the font you (or the admin/package maintainer of |
|
|
964 | your system/os) have specified does not cover all the characters you want |
|
|
965 | to display. |
|
|
966 | |
|
|
967 | B<rxvt-unicode> makes a best-effort try at finding a replacement |
|
|
968 | font. Often the result is fine, but sometimes the chosen font looks |
|
|
969 | bad. In that case, select a font of your taste and add it to the font |
|
|
970 | list, e.g.: |
|
|
971 | |
|
|
972 | @@RXVT_NAME@@ -fn basefont,font2,font3... |
|
|
973 | |
|
|
974 | When rxvt-unicode sees a character, it will first look at the base |
|
|
975 | font. If the base font does not contain the character, it will go to the |
|
|
976 | next font, and so on. |
|
|
977 | |
|
|
978 | The only limitation is that all the fonts must not be larger than the base |
|
|
979 | font, as the base font defines the principial cell size, which must be the |
|
|
980 | same due to the way terminals work. |
|
|
981 | |
|
|
982 | =item Why do some chinese characters look so different than others? |
|
|
983 | |
|
|
984 | This is because there is a difference between script and language -- |
|
|
985 | rxvt-unicode does not know which language the text that is output |
|
|
986 | is, as it only knows the unicode character codes. If rxvt-unicode |
|
|
987 | first sees a japanese character, it might choose a japanese font for |
|
|
988 | it. Subseqzuent japanese characters will take that font. Now, many chinese |
|
|
989 | characters aren't represented in japanese fonts, so when the first |
|
|
990 | non-japanese character comes up, rxvt-unicode will look for a chinese font |
|
|
991 | -- unfortunately at this point, it will still use the japanese font for |
|
|
992 | japanese characters that are also chinese. |
|
|
993 | |
|
|
994 | The workaround is easy: just tag a chinese font at the end of your font |
|
|
995 | list (see the previous question). The key is to view the font list as |
|
|
996 | a preference list: If you expect more japanese, list a japanese font |
|
|
997 | first. If you expect more chinese, put a chinese font first. |
|
|
998 | |
|
|
999 | In the future it might be possible to switch preferences at runtime (the |
|
|
1000 | internal data structure has no problem with using different fonts for |
|
|
1001 | the same character at the same time, but no interface for this has been |
|
|
1002 | designed yet). |
|
|
1003 | |
|
|
1004 | =item How does rxvt-unicode determine the encoding to use? |
|
|
1005 | |
|
|
1006 | =item Is there an option to switch encodings? |
|
|
1007 | |
|
|
1008 | Unlike some other terminals, rxvt-unicode has no encoding switch, and no |
|
|
1009 | specific "utf-8" mode, such as xterm. In fact, it doesn't even know about |
|
|
1010 | UTF-8 or any other encodings with respect to terminal I/O. |
|
|
1011 | |
|
|
1012 | The reasons is that there exists a perfectly fine mechanism for selecting |
|
|
1013 | the encoding, doing I/O and (most important) communicating this to all |
|
|
1014 | applications so everybody agrees on character properties such as width and |
|
|
1015 | code number. This mechanism is the I<locale>. |
|
|
1016 | |
|
|
1017 | Rxvt-unicode uses the C<LC_CTYPE> locale category to select encoding. All |
|
|
1018 | programs doing the same (that is, most) will automatically agree in the |
|
|
1019 | interpretation of characters. |
|
|
1020 | |
|
|
1021 | Unfortunately, there is no system-independent way to select locales, nor |
|
|
1022 | is there a standard on how locale specifiers will look like. |
|
|
1023 | |
|
|
1024 | On most systems, the content of the C<LC_CTYPE> environment variable |
|
|
1025 | contains an arbitrary string which corresponds to an already-installed |
|
|
1026 | locale. Common names for locales are C<en_US.UTF-8>, C<de_DE.ISO-8859-15>, |
|
|
1027 | C<ja_JP.EUC-JP>, i.e. C<language_country.encoding>, but other forms |
|
|
1028 | (i.e. C<de> or C<german>) are also common. |
|
|
1029 | |
|
|
1030 | Rxvt-unicode ignores all other locale categories, and except for |
|
|
1031 | the encoding, ignores country or language-specific settings, |
|
|
1032 | i.e. C<de_DE.UTF-8> and C<ja_JP.UTF-8> are the same for rxvt-unicode. |
|
|
1033 | |
|
|
1034 | If you want to use a specific encoding you have to make sure you start |
|
|
1035 | rxvt-unicode with the correct C<LC_CTYPE> category. |
|
|
1036 | |
|
|
1037 | =item Can I switch locales at runtime? |
|
|
1038 | |
|
|
1039 | Yes, using an escape sequence. Try sth. like this, which sets |
|
|
1040 | rxvt-unicode's idea of C<LC_CTYPE>. |
|
|
1041 | |
|
|
1042 | printf '\e]701;%s\007' ja_JP.SJIS |
|
|
1043 | |
|
|
1044 | See also the previous question. |
|
|
1045 | |
|
|
1046 | Sometimes this capability is rather handy when you want to work in one |
|
|
1047 | locale (e.g. C<de_DE.UTF-8>) but some programs don't support UTF-8. For |
|
|
1048 | example, I use this script to start C<xjdic>, which first switches to a |
|
|
1049 | locale supported by xjdic and back later: |
|
|
1050 | |
|
|
1051 | printf '\e]701;%s\007' ja_JP.SJIS |
|
|
1052 | xjdic -js |
|
|
1053 | printf '\e]701;%s\007' de_DE.UTF-8 |
|
|
1054 | |
|
|
1055 | =item Can I switch the fonts at runtime? |
|
|
1056 | |
|
|
1057 | Yes, using an escape sequence. Try sth. like this, which has the same |
|
|
1058 | effect as using the C<-fn> switch, and takes effect immediately: |
|
|
1059 | |
|
|
1060 | printf '\e]50;%s\007' "9x15bold,xft:Kochi Gothic" |
|
|
1061 | |
|
|
1062 | This is useful if you e.g. work primarily with japanese (and prefer a |
|
|
1063 | japanese font), but you have to switch to chinese temporarily, where |
|
|
1064 | japanese fonts would only be in your way. |
|
|
1065 | |
|
|
1066 | You can think of this as a kind of manual ISO-2022 switching. |
|
|
1067 | |
|
|
1068 | =item Mouse cut/paste suddenly no longer works. |
|
|
1069 | |
|
|
1070 | Make sure that mouse reporting is actually turned off since killing |
|
|
1071 | some editors prematurely may leave the mouse in mouse report mode. I've |
|
|
1072 | heard that tcsh may use mouse reporting unless it otherwise specified. A |
|
|
1073 | quick check is to see if cut/paste works when the Alt or Shift keys are |
|
|
1074 | depressed. See @@RXVT_NAME@@(7) |
|
|
1075 | |
|
|
1076 | =item What's with this bold/blink stuff? |
|
|
1077 | |
|
|
1078 | If no bold colour is set via C<colorBD:>, bold will invert text using the |
|
|
1079 | standard foreground colour. |
|
|
1080 | |
|
|
1081 | For the standard background colour, blinking will actually make the |
|
|
1082 | text blink when compiled with C<--enable-blinking>. with standard |
|
|
1083 | colours. Without C<--enable-blinking>, the blink attribute will be |
|
|
1084 | ignored. |
|
|
1085 | |
|
|
1086 | On ANSI colours, bold/blink attributes are used to set high-intensity |
|
|
1087 | foreground/background colors. |
|
|
1088 | |
|
|
1089 | color0-7 are the low-intensity colors. |
|
|
1090 | |
|
|
1091 | color8-15 are the corresponding high-intensity colors. |
|
|
1092 | |
|
|
1093 | =item I don't like the screen colors. How do I change them? |
|
|
1094 | |
|
|
1095 | You can change the screen colors at run-time using F<~/.Xdefaults> |
|
|
1096 | resources (or as long-options). |
|
|
1097 | |
|
|
1098 | Here are values that are supposed to resemble a VGA screen, |
|
|
1099 | including the murky brown that passes for low-intensity yellow: |
|
|
1100 | |
|
|
1101 | Rxvt*color0: #000000 |
|
|
1102 | Rxvt*color1: #A80000 |
|
|
1103 | Rxvt*color2: #00A800 |
|
|
1104 | Rxvt*color3: #A8A800 |
|
|
1105 | Rxvt*color4: #0000A8 |
|
|
1106 | Rxvt*color5: #A800A8 |
|
|
1107 | Rxvt*color6: #00A8A8 |
|
|
1108 | Rxvt*color7: #A8A8A8 |
|
|
1109 | |
|
|
1110 | Rxvt*color8: #000054 |
|
|
1111 | Rxvt*color9: #FF0054 |
|
|
1112 | Rxvt*color10: #00FF54 |
|
|
1113 | Rxvt*color11: #FFFF54 |
|
|
1114 | Rxvt*color12: #0000FF |
|
|
1115 | Rxvt*color13: #FF00FF |
|
|
1116 | Rxvt*color14: #00FFFF |
|
|
1117 | Rxvt*color15: #FFFFFF |
|
|
1118 | |
|
|
1119 | =item What's with the strange Backspace/Delete key behaviour? |
|
|
1120 | |
|
|
1121 | Assuming that the physical Backspace key corresponds to the |
|
|
1122 | BackSpace keysym (not likely for Linux ... see the following |
|
|
1123 | question) there are two standard values that can be used for |
|
|
1124 | Backspace: C<^H> and C<^?>. |
|
|
1125 | |
|
|
1126 | Historically, either value is correct, but rxvt-unicode adopts the debian |
|
|
1127 | policy of using C<^?> when unsure, because it's the one only only correct |
|
|
1128 | choice :). |
|
|
1129 | |
|
|
1130 | Rxvt-unicode tries to inherit the current stty settings and uses the value |
|
|
1131 | of `erase' to guess the value for backspace. If rxvt-unicode wasn't |
|
|
1132 | started from a terminal (say, from a menu or by remote shell), then the |
|
|
1133 | system value of `erase', which corresponds to CERASE in <termios.h>, will |
|
|
1134 | be used (which may not be the same as your stty setting). |
|
|
1135 | |
|
|
1136 | For starting a new rxvt-unicode: |
|
|
1137 | |
|
|
1138 | # use Backspace = ^H |
|
|
1139 | $ stty erase ^H |
|
|
1140 | $ @@RXVT_NAME@@ |
|
|
1141 | |
|
|
1142 | # use Backspace = ^? |
|
|
1143 | $ stty erase ^? |
|
|
1144 | $ @@RXVT_NAME@@ |
|
|
1145 | |
|
|
1146 | Toggle with "ESC[36h" / "ESC[36l" as documented in @@RXVT_NAME@@(7). |
|
|
1147 | |
|
|
1148 | For an existing rxvt-unicode: |
|
|
1149 | |
|
|
1150 | # use Backspace = ^H |
|
|
1151 | $ stty erase ^H |
|
|
1152 | $ echo -n "^[[36h" |
|
|
1153 | |
|
|
1154 | # use Backspace = ^? |
|
|
1155 | $ stty erase ^? |
|
|
1156 | $ echo -n "^[[36l" |
|
|
1157 | |
|
|
1158 | This helps satisfy some of the Backspace discrepancies that occur, but |
|
|
1159 | if you use Backspace = C<^H>, make sure that the termcap/terminfo value |
|
|
1160 | properly reflects that. |
|
|
1161 | |
|
|
1162 | The Delete key is a another casualty of the ill-defined Backspace problem. |
|
|
1163 | To avoid confusion between the Backspace and Delete keys, the Delete |
|
|
1164 | key has been assigned an escape sequence to match the vt100 for Execute |
|
|
1165 | (ESC[3~) and is in the supplied termcap/terminfo. |
|
|
1166 | |
|
|
1167 | Some other Backspace problems: |
|
|
1168 | |
|
|
1169 | some editors use termcap/terminfo, |
|
|
1170 | some editors (vim I'm told) expect Backspace = ^H, |
|
|
1171 | GNU Emacs (and Emacs-like editors) use ^H for help. |
|
|
1172 | |
|
|
1173 | Perhaps someday this will all be resolved in a consistent manner. |
|
|
1174 | |
|
|
1175 | =item I don't like the key-bindings. How do I change them? |
|
|
1176 | |
|
|
1177 | There are some compile-time selections available via configure. Unless |
|
|
1178 | you have run "configure" with the C<--disable-resources> option you can |
|
|
1179 | use the `keysym' resource to alter the keystrings associated with keysym |
|
|
1180 | 0xFF00 - 0xFFFF (function, cursor keys, etc). |
|
|
1181 | |
|
|
1182 | Here's an example for a tn3270 session started using `@@RXVT_NAME@@ -name tn3270' |
|
|
1183 | |
|
|
1184 | !# ----- special uses ------: |
|
|
1185 | ! tn3270 login, remap function and arrow keys. |
|
|
1186 | tn3270*font: *clean-bold-*-*--15-* |
|
|
1187 | |
|
|
1188 | ! keysym - used by rxvt only |
|
|
1189 | ! Delete - ^D |
|
|
1190 | tn3270*keysym.0xFFFF: \004 |
|
|
1191 | |
|
|
1192 | ! Home - ^A |
|
|
1193 | tn3270*keysym.0xFF50: \001 |
|
|
1194 | ! Left - ^B |
|
|
1195 | tn3270*keysym.0xFF51: \002 |
|
|
1196 | ! Up - ^P |
|
|
1197 | tn3270*keysym.0xFF52: \020 |
|
|
1198 | ! Right - ^F |
|
|
1199 | tn3270*keysym.0xFF53: \006 |
|
|
1200 | ! Down - ^N |
|
|
1201 | tn3270*keysym.0xFF54: \016 |
|
|
1202 | ! End - ^E |
|
|
1203 | tn3270*keysym.0xFF57: \005 |
|
|
1204 | |
|
|
1205 | ! F1 - F12 |
|
|
1206 | tn3270*keysym.0xFFBE: \e1 |
|
|
1207 | tn3270*keysym.0xFFBF: \e2 |
|
|
1208 | tn3270*keysym.0xFFC0: \e3 |
|
|
1209 | tn3270*keysym.0xFFC1: \e4 |
|
|
1210 | tn3270*keysym.0xFFC2: \e5 |
|
|
1211 | tn3270*keysym.0xFFC3: \e6 |
|
|
1212 | tn3270*keysym.0xFFC4: \e7 |
|
|
1213 | tn3270*keysym.0xFFC5: \e8 |
|
|
1214 | tn3270*keysym.0xFFC6: \e9 |
|
|
1215 | tn3270*keysym.0xFFC7: \e0 |
|
|
1216 | tn3270*keysym.0xFFC8: \e- |
|
|
1217 | tn3270*keysym.0xFFC9: \e= |
|
|
1218 | |
|
|
1219 | ! map Prior/Next to F7/F8 |
|
|
1220 | tn3270*keysym.0xFF55: \e7 |
|
|
1221 | tn3270*keysym.0xFF56: \e8 |
|
|
1222 | |
|
|
1223 | =item I'm using keyboard model XXX that has extra Prior/Next/Insert keys. |
|
|
1224 | How do I make use of them? For example, the Sun Keyboard type 4 |
|
|
1225 | has the following mappings that rxvt-unicode doesn't recognize. |
|
|
1226 | |
|
|
1227 | KP_Insert == Insert |
|
|
1228 | F22 == Print |
|
|
1229 | F27 == Home |
|
|
1230 | F29 == Prior |
|
|
1231 | F33 == End |
|
|
1232 | F35 == Next |
|
|
1233 | |
|
|
1234 | Rather than have rxvt-unicode try to accomodate all the various possible keyboard |
|
|
1235 | mappings, it is better to use `xmodmap' to remap the keys as required for |
|
|
1236 | your particular machine. |
|
|
1237 | |
|
|
1238 | =item How do I distinguish if I'm running rxvt-unicode or a regular xterm? |
|
|
1239 | I need this to decide about setting colors etc. |
|
|
1240 | |
|
|
1241 | rxvt and rxvt-unicode always export the variable "COLORTERM", so you can |
|
|
1242 | check and see if that is set. Note that several programs, JED, slrn, |
|
|
1243 | Midnight Commander automatically check this variable to decide whether or |
|
|
1244 | not to use color. |
|
|
1245 | |
|
|
1246 | =item How do I set the correct, full IP address for the DISPLAY variable? |
|
|
1247 | |
|
|
1248 | If you've compiled rxvt-unicode with DISPLAY_IS_IP and ahve enabled |
|
|
1249 | insecure mode then it is possible to use the following shell script |
|
|
1250 | snippets to correctly set the display. If your version of rxvt-unicode |
|
|
1251 | wasn't also compiled with ESCZ_ANSWER (as assumed in these snippets) then |
|
|
1252 | the COLORTERM variable can be used to distinguish rxvt-unicode from a |
|
|
1253 | regular xterm. |
|
|
1254 | |
|
|
1255 | Courtesy of Chuck Blake <cblake@BBN.COM> with the following shell script |
|
|
1256 | snippets: |
|
|
1257 | |
|
|
1258 | # Bourne/Korn/POSIX family of shells: |
|
|
1259 | [ ${TERM:-foo} = foo ] && TERM=xterm # assume an xterm if we don't know |
|
|
1260 | if [ ${TERM:-foo} = xterm ]; then |
|
|
1261 | stty -icanon -echo min 0 time 15 # see if enhanced rxvt or not |
|
|
1262 | echo -n '^[Z' |
|
|
1263 | read term_id |
|
|
1264 | stty icanon echo |
|
|
1265 | if [ ""${term_id} = '^[[?1;2C' -a ${DISPLAY:-foo} = foo ]; then |
|
|
1266 | echo -n '^[[7n' # query the rxvt we are in for the DISPLAY string |
|
|
1267 | read DISPLAY # set it in our local shell |
|
|
1268 | fi |
|
|
1269 | fi |
|
|
1270 | |
|
|
1271 | =item How do I compile the manual pages for myself? |
|
|
1272 | |
|
|
1273 | You need to have a recent version of perl installed as F</usr/bin/perl>, |
|
|
1274 | one that comes with F<pod2man>, F<pod2text> and F<pod2html>. Then go to |
|
|
1275 | the doc subdirectory and enter C<make alldoc>. |
832 | |
1276 | |
833 | =back |
1277 | =back |
834 | |
1278 | |
835 | =head1 ENVIRONMENT |
1279 | =head1 ENVIRONMENT |
836 | |
1280 | |
… | |
… | |
853 | |
1297 | |
854 | Color names. |
1298 | Color names. |
855 | |
1299 | |
856 | =back |
1300 | =back |
857 | |
1301 | |
858 | =head1 SEEALSO |
1302 | =head1 SEE ALSO |
859 | |
1303 | |
860 | I<xterm>(1), I<sh>(1), I<resize>(1), I<X>(1), I<pty>(4), I<tty>(4), I<utmp>(5) |
1304 | @@RXVT_NAME@@(7), xterm(1), sh(1), resize(1), X(1), pty(4), tty(4), utmp(5) |
861 | |
|
|
862 | See rxvtRef.html rxvtRef.txt for detailed information on recognized escape sequences and menuBar syntax, etc. |
|
|
863 | |
1305 | |
864 | =head1 BUGS |
1306 | =head1 BUGS |
865 | |
1307 | |
866 | Check the BUGS file for an up-to-date list. |
1308 | Check the BUGS file for an up-to-date list. |
867 | |
1309 | |
… | |
… | |
873 | |
1315 | |
874 | =over 4 |
1316 | =over 4 |
875 | |
1317 | |
876 | =item Project Coordinator |
1318 | =item Project Coordinator |
877 | |
1319 | |
878 | @@RXVTMAINT@@ L<@@RXVT_MAINTEMAIL@@> |
1320 | @@RXVT_MAINT@@ L<@@RXVT_MAINTEMAIL@@> |
879 | |
1321 | |
880 | =item Web page maintainter |
1322 | =item Web page maintainter |
881 | |
1323 | |
882 | @@RXVTWEBMAINT@@ L<@@RXVT_WEBMAINTEMAIL@@> |
1324 | @@RXVT_WEBMAINT@@ L<@@RXVT_WEBMAINTEMAIL@@> |
883 | |
1325 | |
884 | L<@@RXVT_WEBPAGE@@> |
1326 | L<@@RXVT_WEBPAGE@@> |
885 | |
1327 | |
886 | =back |
1328 | =back |
887 | |
1329 | |