ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/doc/rxvt.1.pod
(Generate patch)

Comparing rxvt-unicode/doc/rxvt.1.pod (file contents):
Revision 1.3 by root, Thu Aug 12 22:22:30 2004 UTC vs.
Revision 1.12 by root, Mon Aug 16 02:09:28 2004 UTC

12emulator intended as an I<xterm>(1) replacement for users who do not 12emulator intended as an I<xterm>(1) replacement for users who do not
13require features such as Tektronix 4014 emulation and toolkit-style 13require features such as Tektronix 4014 emulation and toolkit-style
14configurability. As a result, B<rxvt-unicode> uses much less swap space -- 14configurability. As a result, B<rxvt-unicode> uses much less swap space --
15a significant advantage on a machine serving many X sessions. 15a significant advantage on a machine serving many X sessions.
16 16
17See also @@RXVT_NAME@@(7) for technical reference documentation (escape 17=head1 RXVT-UNICODE VS. RXVT
18sequences etc.) and the FAQ section at the end of this document. 18
19Unlike the original rxvt, B<rxvt-unicode> stores all text in Unicode
20internally. That means it can store and display most scripts in the
21world. Being a terminal emulator, however, some things are very difficult,
22especially cursive scripts such as arabic, vertically written scripts
23like mongolian or scripts requiring extremely complex combining rules,
24like tibetan or devenagari. Don't expect pretty output when using these
25scripts. Most other scripts, latin, cyrillic, kanji, thai etc. should work
26fine, though. A somewhat difficult case are left-to-right scripts, such
27as hebrew: B<rxvt-unicode> adopts the view that bidirectional algorithms
28belong into the application, not the terminal emulator (too many things --
29such as cursor-movement while editing -- break othwerwise), but that might
30change.
31
32If you are looking for a terminal that supports more exotic scripts, let
33me recommend C<mlterm>, which is a very userfriendly, lean and clean
34terminal emulator. In fact, the reason rxvt-unicode was born was solely
35because the author couldn't get C<mlterm> to use one font for latin1 and
36another for japanese.
37
38Therefore another design rationale was the use of multiple fonts to
39display characters: The idea of a single unicode font which many other
40programs force onto it's users never made sense to me: You should be able
41to choose any font for any script freely.
42
43Apart from that, rxvt-unicode is also much better internationalised than
44it's predecessor, supports things such as XFT and ISO 14755 that are handy
45in i18n-environments, is faster, and has a lot less bugs than the original
46rxvt. This all in addition to dozens of other small improvements.
47
48It is still faithfully following the original rxvt idea of being lean
49and nice on resources: for example, you can still configure rxvt-unicode
50without most of it's features to get a lean binary. It also comes with
51a client/daemon pair that lets you open any number of terminal windows
52from within a single process, which makes startup time very fast and
53drastically reduces memory usage. See @@RXVT_NAME@@d(1) (daemon) and
54@@RXVT_NAME@@c(1) (client).
55
56It also makes technical information about escape sequences (which have
57been extended) easier accessible: see @@RXVT_NAME@@(7) for technical
58reference documentation (escape sequences etc.) and the FAQ section at the
59end of this document.
19 60
20=head1 OPTIONS 61=head1 OPTIONS
21 62
22The B<@@RXVT_NAME@@> options (mostly a subset of I<xterm>'s) are listed 63The B<@@RXVT_NAME@@> options (mostly a subset of I<xterm>'s) are listed
23below. In keeping with the smaller-is-better philosophy, options may be 64below. In keeping with the smaller-is-better philosophy, options may be
119Select the fonts to be used. This is a comma seperated list of font 160Select the fonts to be used. This is a comma seperated list of font
120names that are used in turn when trying to display Unicode characters. 161names that are used in turn when trying to display Unicode characters.
121The first font defines the cell size for characters; other fonts might 162The first font defines the cell size for characters; other fonts might
122be smaller, but not larger. A reasonable default font list is always 163be smaller, but not larger. A reasonable default font list is always
123appended to it. resource B<font>. 164appended to it. resource B<font>.
165
166See also the question "How does rxvt-unicode choose fonts?" in the FAQ
167section.
124 168
125=item B<-rb>|B<+rb> 169=item B<-rb>|B<+rb>
126 170
127Enable "real bold" support. When this option is on, bold text will be 171Enable "real bold" support. When this option is on, bold text will be
128displayed using the first available bold font in the font list. Bold 172displayed using the first available bold font in the font list. Bold
530Align the B<top>, B<bottom> or B<centre> [default] of the scrollbar 574Align the B<top>, B<bottom> or B<centre> [default] of the scrollbar
531thumb with the pointer on middle button press/drag. 575thumb with the pointer on middle button press/drag.
532 576
533=item B<scrollTtyOutput:> I<boolean> 577=item B<scrollTtyOutput:> I<boolean>
534 578
535B<True>: scroll to bottom when tty receives output; option B<+si>. 579B<True>: scroll to bottom when tty receives output; option B<-si>.
536B<False>: do not scroll to bottom when tty receives output; option 580B<False>: do not scroll to bottom when tty receives output; option
537B<-si>. 581B<+si>.
538 582
539=item B<scrollWithBuffer:> I<boolean> 583=item B<scrollWithBuffer:> I<boolean>
540 584
541B<True>: scroll with scrollback buffer when tty recieves new lines (and 585B<True>: scroll with scrollback buffer when tty recieves new lines (and
542B<scrollTtyOutput> is False); option B<+sw>. B<False>: do not scroll 586B<scrollTtyOutput> is False); option B<+sw>. B<False>: do not scroll
546 590
547B<True>: scroll to bottom when a non-special key is pressed. Special keys 591B<True>: scroll to bottom when a non-special key is pressed. Special keys
548are those which are intercepted by rxvt-unicode for special handling and 592are those which are intercepted by rxvt-unicode for special handling and
549are not passed onto the shell; option B<-sk>. B<False>: do not scroll to 593are not passed onto the shell; option B<-sk>. B<False>: do not scroll to
550bottom when a non-special key is pressed; option B<+sk>. 594bottom when a non-special key is pressed; option B<+sk>.
551
552=item B<smallfont_key:> I<keysym>
553
554If 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
559If 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
564Save I<number> lines in the scrollback buffer [default 64]. This 598Save I<number> lines in the scrollback buffer [default 64]. This
565resource is limited on most machines to 65535; option B<-sl>. 599resource is limited on most machines to 65535; option B<-sl>.
753 787
754=back 788=back
755 789
756=head1 CHANGING FONTS 790=head1 CHANGING FONTS
757 791
758You can change fonts on-the-fly, which is to say cycle through the 792Changing fonts (or font sizes, respectively) via the keypad is not yet
759default font and others of various sizes, by using B<Shift-KP_Add> and 793supported in rxvt-unicode. Bug me if you need this.
760B<Shift-KP_Subtract>. Or, alternatively (if enabled) with 794
761B<@@HOTKEY@@-@@BIGFONT@@> and B<@@HOTKEY@@-@@SMALLFONT@@>, where the 795You can, however, switch fonts at runtime using escape sequences (and
762actual key can be selected using resources 796therefore using the menubar), e.g.:
763B<smallfont_key>/B<bigfont_key>. 797
798 printf '\e]701;%s\007' "9x15bold,xft:Kochi Gothic"
799
800rxvt-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
767Partial ISO 14755-support is implemented. that means that pressing 804ISO 14755 is a standard for entering and viewing unicode characters
805and character codes using the keyboard. It consists of 4 parts. The
806first part is available rxvt-unicode has been compiled with
807C<--enable-frills>, the rest is available when rxvt-unicode was compiled
808with C<--enable-iso14755>.
768 809
769Section 5.1: Control and Shift together enters unicode input 810=over 4
770mode. Entering hex digits composes a Unicode character, pressing space or
771releasing the modifiers commits the keycode and every other key cancels
772the current input character.
773 811
774Section 5.2: Pressing and immediately releasing Control and Shift together 812=item 5.1: Basic method
775enters keycap entry mode for the next key: pressing a function key (tab, 813
776return etc..) will enter the unicode character corresponding to the given 814This allows you to enter unicode characters using their hexcode.
777key. 815
816Start by pressing and holding both C<Control> and C<Shift>, then enter
817hex-digits (between one and six). Releasing C<Control> and C<Shift> will
818commit the character as if it were typed directly. While holding down
819C<Control> and C<Shift> you can also enter multiple characters by pressing
820C<Space>, which will commit the current character and lets you start a new
821one.
822
823As an example of use, imagine a business card with a japanese e-mail
824address, which you cannot type. Fortunately, the card has the e-mail
825address printed as hexcodes, e.g. C<671d 65e5>. You can enter this easily
826by pressing C<Control> and C<Shift>, followed by C<6-7-1-D-SPACE-6-5-E-5>,
827followed by releasing the modifier keys.
828
829=item 5.2: Keyboard symbols entry method
830
831This mode lets you input characters representing the keycap symbols of
832your keyboard, if representable in the current locale encoding.
833
834Start by pressing C<Control> and C<Shift> together, then releasing
835them. The next special key (cursor keys, home etc.) you enter will not
836invoke it's usual function but instead will insert the corresponding
837keycap symbol. The symbol will only be entered when the key has been
838released, otherwise pressing e.g. C<Shift> would enter the symbol for
839C<ISO Level 2 Switch>, although your intention might have beenm to enter a
840reverse tab (Shift-Tab).
841
842=item 5.3: Screen-selection entry method
843
844While this is implemented already (it's basically the selection
845mechanism), 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
849This method lets you display the unicode character code associated with
850characters already displayed.
851
852You enter this mode by holding down C<Control> and C<Shift> together, then
853pressing and holding the left mouse button and moving around. The unicode
854hex code(s) (it might be a combining character) of the character under the
855pointer is displayed until you release C<Control> and C<Shift>.
856
857=back
858
859With respect to conformance, rxvt-unicode is supposed to be compliant to
860both scenario A and B of ISO 14755, including part 5.2.
778 861
779=head1 LOGIN STAMP 862=head1 LOGIN STAMP
780 863
781B<@@RXVT_NAME@@> tries to write an entry into the I<utmp>(5) file so 864B<@@RXVT_NAME@@> tries to write an entry into the I<utmp>(5) file so
782that it can be seen via the I<who(1)> command, and can accept messages. 865that it can be seen via the I<who(1)> command, and can accept messages.
830would yield White on Black, while on I<xterm>(1) it would yield Black 913would yield White on Black, while on I<xterm>(1) it would yield Black
831on White. 914on White.
832 915
833=back 916=back
834 917
835=head1 ENVIRONMENT
836
837B<@@RXVT_NAME@@> sets the environment variables B<TERM>, B<COLORTERM>
838and B<COLORFGBG>. The environment variable B<WINDOWID> is set to the X
839window id number of the B<@@RXVT_NAME@@> window and it also uses and
840sets the environment variable B<DISPLAY> to specify which display
841terminal to use. B<@@RXVT_NAME@@> uses the environment variables
842B<RXVTPATH> and B<PATH> to find XPM files.
843
844=head1 FILES
845
846=over 4
847
848=item B</etc/utmp>
849
850System file for login records.
851
852=item B</usr/lib/X11/rgb.txt>
853
854Color names.
855
856=back
857
858=head1 FREQUENTLY ASKED QUESTIONS (FAQ) 918=head1 FREQUENTLY ASKED QUESTIONS (FAQ)
859 919
860=over 4 920=over 4
861 921
862=item How do I know which rxvt-unicode version I'm using? 922=item How do I know which rxvt-unicode version I'm using?
863 923
864The version number is displayed with the usage (-h). For rxvt-unicode 924The version number is displayed with the usage (-h). For rxvt-unicode
865version 2.14 and later, the escape sequence C<ESC[8n> sets the window 925version 2.14 and later, the escape sequence C<ESC[8n> sets the window
866title to the version number. 926title 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
932If you encounter strange problems like typing an accented character but
933getting two unrelated other characters or similar, or if program output is
934subtly garbled, then you should check your locale settings.
935
936Rxvt-unicode must be started with the same C<LC_CTYPE> setting as the
937programs. Often rxvt-unicode is started in the C<C> locale, while the
938login script running within the rxvt-unicode window changes the locale to
939sth. else, e.h. C<en_GB.UTF-8>. Needless to say, this is not going to work.
940
941The best thing is to fix your startup environment, as you will likely run
942into other problems. If nothing works you can try this in your .profile.
943
944 printf '\e]701;%s\007' "$LC_CTYPE"
945
946If this doesn't work, then maybe you use a C<LC_CTYPE> specification not
947supported on your systems. Some systems have a C<locale> comamnd which
948displays this. If it displays sth. like:
949
950 locale: Cannot set LC_CTYPE to default locale: ...
951
952Then the locale you specified is not supported on your system.
953
954If nothing works and you are sure that everything is set correctly then
955you will need to remember a little known fact: Some programs just don't
956support locales :(
957
958=item Why do the characters look ugly?
959
960=item How does rxvt-unicode choose fonts?
961
962Most fonts do not contain the full range of Unicode, which is
963fine. Chances are that the font you (or the admin/package maintainer of
964your system/os) have specified does not cover all the characters you want
965to display.
966
967B<rxvt-unicode> makes a best-effort try at finding a replacement
968font. Often the result is fine, but sometimes the chosen font looks
969bad. In that case, select a font of your taste and add it to the font
970list, e.g.:
971
972 @@RXVT_NAME@@ -fn basefont,font2,font3...
973
974When rxvt-unicode sees a character, it will first look at the base
975font. If the base font does not contain the character, it will go to the
976next font, and so on.
977
978The only limitation is that all the fonts must not be larger than the base
979font, as the base font defines the principial cell size, which must be the
980same due to the way terminals work.
981
982=item Why do some chinese characters look so different than others?
983
984This is because there is a difference between script and language --
985rxvt-unicode does not know which language the text that is output
986is, as it only knows the unicode character codes. If rxvt-unicode
987first sees a japanese character, it might choose a japanese font for
988it. Subseqzuent japanese characters will take that font. Now, many chinese
989characters aren't represented in japanese fonts, so when the first
990non-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
992japanese characters that are also chinese.
993
994The workaround is easy: just tag a chinese font at the end of your font
995list (see the previous question). The key is to view the font list as
996a preference list: If you expect more japanese, list a japanese font
997first. If you expect more chinese, put a chinese font first.
998
999In the future it might be possible to switch preferences at runtime (the
1000internal data structure has no problem with using different fonts for
1001the same character at the same time, but no interface for this has been
1002designed yet).
1003
1004=item How does rxvt-unicode determine the encoding to use?
1005
1006=item Is there an option to switch encodings?
1007
1008Unlike some other terminals, rxvt-unicode has no encoding switch, and no
1009specific "utf-8" mode, such as xterm. In fact, it doesn't even know about
1010UTF-8 or any other encodings with respect to terminal I/O.
1011
1012The reasons is that there exists a perfectly fine mechanism for selecting
1013the encoding, doing I/O and (most important) communicating this to all
1014applications so everybody agrees on character properties such as width and
1015code number. This mechanism is the I<locale>.
1016
1017Rxvt-unicode uses the C<LC_CTYPE> locale category to select encoding. All
1018programs doing the same (that is, most) will automatically agree in the
1019interpretation of characters.
1020
1021Unfortunately, there is no system-independent way to select locales, nor
1022is there a standard on how locale specifiers will look like.
1023
1024On most systems, the content of the C<LC_CTYPE> environment variable
1025contains an arbitrary string which corresponds to an already-installed
1026locale. Common names for locales are C<en_US.UTF-8>, C<de_DE.ISO-8859-15>,
1027C<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
1030Rxvt-unicode ignores all other locale categories, and except for
1031the encoding, ignores country or language-specific settings,
1032i.e. C<de_DE.UTF-8> and C<ja_JP.UTF-8> are the same for rxvt-unicode.
1033
1034If you want to use a specific encoding you have to make sure you start
1035rxvt-unicode with the correct C<LC_CTYPE> category.
1036
1037=item Can I switch locales at runtime?
1038
1039Yes, using an escape sequence. Try sth. like this, which sets
1040rxvt-unicode's idea of C<LC_CTYPE>.
1041
1042 printf '\e]701;%s\007' ja_JP.SJIS
1043
1044See also the previous question.
1045
1046Sometimes this capability is rather handy when you want to work in one
1047locale (e.g. C<de_DE.UTF-8>) but some programs don't support UTF-8. For
1048example, I use this script to start C<xjdic>, which first switches to a
1049locale 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
1057Yes, using an escape sequence. Try sth. like this, which has the same
1058effect as using the C<-fn> switch, and takes effect immediately:
1059
1060 printf '\e]50;%s\007' "9x15bold,xft:Kochi Gothic"
1061
1062This is useful if you e.g. work primarily with japanese (and prefer a
1063japanese font), but you have to switch to chinese temporarily, where
1064japanese fonts would only be in your way.
1065
1066You can think of this as a kind of manual ISO-2022 switching.
867 1067
868=item Mouse cut/paste suddenly no longer works. 1068=item Mouse cut/paste suddenly no longer works.
869 1069
870Make sure that mouse reporting is actually turned off since killing 1070Make sure that mouse reporting is actually turned off since killing
871some editors prematurely may leave the mouse in mouse report mode. I've 1071some editors prematurely may leave the mouse in mouse report mode. I've
1074one that comes with F<pod2man>, F<pod2text> and F<pod2html>. Then go to 1274one that comes with F<pod2man>, F<pod2text> and F<pod2html>. Then go to
1075the doc subdirectory and enter C<make alldoc>. 1275the doc subdirectory and enter C<make alldoc>.
1076 1276
1077=back 1277=back
1078 1278
1279=head1 ENVIRONMENT
1280
1281B<@@RXVT_NAME@@> sets the environment variables B<TERM>, B<COLORTERM>
1282and B<COLORFGBG>. The environment variable B<WINDOWID> is set to the X
1283window id number of the B<@@RXVT_NAME@@> window and it also uses and
1284sets the environment variable B<DISPLAY> to specify which display
1285terminal to use. B<@@RXVT_NAME@@> uses the environment variables
1286B<RXVTPATH> and B<PATH> to find XPM files.
1287
1288=head1 FILES
1289
1290=over 4
1291
1292=item B</etc/utmp>
1293
1294System file for login records.
1295
1296=item B</usr/lib/X11/rgb.txt>
1297
1298Color names.
1299
1300=back
1301
1079=head1 SEE ALSO 1302=head1 SEE ALSO
1080 1303
1081@@RXVT_NAME@@(7), xterm(1), sh(1), resize(1), X(1), pty(4), tty(4), utmp(5) 1304@@RXVT_NAME@@(7), xterm(1), sh(1), resize(1), X(1), pty(4), tty(4), utmp(5)
1082 1305
1083=head1 BUGS 1306=head1 BUGS
1092 1315
1093=over 4 1316=over 4
1094 1317
1095=item Project Coordinator 1318=item Project Coordinator
1096 1319
1097@@RXVTMAINT@@ L<@@RXVT_MAINTEMAIL@@> 1320@@RXVT_MAINT@@ L<@@RXVT_MAINTEMAIL@@>
1098 1321
1099=item Web page maintainter 1322=item Web page maintainter
1100 1323
1101@@RXVTWEBMAINT@@ L<@@RXVT_WEBMAINTEMAIL@@> 1324@@RXVT_WEBMAINT@@ L<@@RXVT_WEBMAINTEMAIL@@>
1102 1325
1103L<@@RXVT_WEBPAGE@@> 1326L<@@RXVT_WEBPAGE@@>
1104 1327
1105=back 1328=back
1106 1329

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines