--- rxvt-unicode/doc/rxvt.1.pod 2004/08/12 21:30:14 1.2 +++ rxvt-unicode/doc/rxvt.1.pod 2004/08/24 15:46:27 1.22 @@ -8,14 +8,55 @@ =head1 DESCRIPTION -B, version B<@@RXVTVERSION@@>, is a colour vt102 terminal +B, version B<@@RXVT_VERSION@@>, is a colour vt102 terminal emulator intended as an I(1) replacement for users who do not require features such as Tektronix 4014 emulation and toolkit-style configurability. As a result, B uses much less swap space -- a significant advantage on a machine serving many X sessions. -See also @@RXVT_NAME@@(7) for technical reference documentation (escape -sequences etc.). +=head1 RXVT-UNICODE VS. RXVT + +Unlike the original rxvt, B stores all text in Unicode +internally. That means it can store and display most scripts in the +world. Being a terminal emulator, however, some things are very difficult, +especially cursive scripts such as arabic, vertically written scripts +like mongolian or scripts requiring extremely complex combining rules, +like tibetan or devenagari. Don't expect pretty output when using these +scripts. Most other scripts, latin, cyrillic, kanji, thai etc. should work +fine, though. A somewhat difficult case are left-to-right scripts, such +as hebrew: B adopts the view that bidirectional algorithms +belong into the application, not the terminal emulator (too many things -- +such as cursor-movement while editing -- break othwerwise), but that might +change. + +If you are looking for a terminal that supports more exotic scripts, let +me recommend C, which is a very userfriendly, lean and clean +terminal emulator. In fact, the reason rxvt-unicode was born was solely +because the author couldn't get C to use one font for latin1 and +another for japanese. + +Therefore another design rationale was the use of multiple fonts to +display characters: The idea of a single unicode font which many other +programs force onto it's users never made sense to me: You should be able +to choose any font for any script freely. + +Apart from that, rxvt-unicode is also much better internationalised than +it's predecessor, supports things such as XFT and ISO 14755 that are handy +in i18n-environments, is faster, and has a lot less bugs than the original +rxvt. This all in addition to dozens of other small improvements. + +It is still faithfully following the original rxvt idea of being lean +and nice on resources: for example, you can still configure rxvt-unicode +without most of it's features to get a lean binary. It also comes with +a client/daemon pair that lets you open any number of terminal windows +from within a single process, which makes startup time very fast and +drastically reduces memory usage. See @@RXVT_NAME@@d(1) (daemon) and +@@RXVT_NAME@@c(1) (client). + +It also makes technical information about escape sequences (which have +been extended) easier accessible: see @@RXVT_NAME@@(7) for technical +reference documentation (escape sequences etc.) and the FAQ section at the +end of this document. =head1 OPTIONS @@ -23,15 +64,15 @@ below. In keeping with the smaller-is-better philosophy, options may be eliminated or default values chosen at compile-time, so options and defaults listed may not accurately reflect the version installed on -your system. `rxvt -h' gives a list of major compile-time options on +your system. `@@RXVT_NAME@@ -h' gives a list of major compile-time options on the I line. Option descriptions may be prefixed with which compile option each is dependent upon. e.g. `Compile I:' requires -I on the I line. Note: `rxvt -help' gives a list of all +I on the I line. Note: `@@RXVT_NAME@@ -help' gives a list of all command-line options compiled into your version. Note that B<@@RXVT_NAME@@> permits the resource name to be used as a long-option (--/++ option) so the potential command-line options are -far greater than those listed. For example: `rxvt --loginShell --color1 +far greater than those listed. For example: `@@RXVT_NAME@@ --loginShell --color1 Orange'. The following options are available: @@ -111,24 +152,34 @@ =item B<-bd> I -The colour of the border between the xterm scrollbar and the text; +The colour of the border around the text area and between the scrollbar and the text; resource B. -=item B<-fn> I +=item B<-fn> I -Select the fonts to be used. This is a comma seperated list of font -names that are used in turn when trying to display Unicode characters. -The first font defines the cell size for characters; other fonts might -be smaller, but not larger. A reasonable default font list is always -appended to it. resource B. +Select the fonts to be used. This is a comma separated list of font names +that are used in turn when trying to display Unicode characters. The +first font defines the cell size for characters; other fonts might be +smaller, but not (in general) larger. A reasonable default font list is +always appended to it. See resource B for details. + +See also the question "How does rxvt-unicode choose fonts?" in the FAQ +section. + +=item B<-fb> I -=item B<-rb>|B<+rb> +Compile font-styles: The bold font list to use when bold characters are to +be printed. See resource B for details. -Enable "real bold" support. When this option is on, bold text will be -displayed using the first available bold font in the font list. Bold -fonts should thus be specified in the font list after their -corresponding regular fonts. If no bold font can be found, a regular -font will be used. resource B. +=item B<-fi> I + +Compile font-styles: The italic font list to use when bold characters are to +be printed. See resource B for details. + +=item B<-fbi> I + +Compile font-styles: The bold italic font list to use when bold characters are to +be printed. See resource B for details. =item B<-name> I @@ -207,7 +258,7 @@ =item B<-bl> Compile I: Set MWM hints to request a borderless window, i.e. -if honoured by the WM, the rxvt window will not have window +if honoured by the WM, the rxvt-unicode window will not have window decorations; resource B. =item B<-lsp> I @@ -288,7 +339,7 @@ =item B<-xrm> I -No effect on rxvt. Simply passes through an argument to be made +No effect on rxvt-unicode. Simply passes through an argument to be made available in the instance's argument list. Appears in I in some window managers. @@ -347,11 +398,19 @@ 3=yellow, 4=blue, 5=magenta, 6=cyan, 7=white, but the actual colour names used are listed in the B section. +Colours higher than 15 cannot be set using resources (yet), but can be +changed using an escape command (see @@RXVT_NAME@@(7)). + +Colours 16-79 form a standard 4x4x4 colour cube (the same as xterm with +88 colour support). Colours 80-87 are evenly spaces grey steps. + =item B I -Use the specified colour to display bold characters when the foreground -colour is the default. This option will be ignored if B is -enabled. +=item B I + +Use the specified colour to display bold or italic characters when the +foreground colour is the default. If font styles are not available +(Compile styles) and this option is unset, reverse video is used instead. =item B I @@ -418,6 +477,11 @@ Use the specified colour for the scrollbar's trough area [default #969696]. Only relevant for normal (non XTerm/NeXT) scrollbar. +=item B I + +The colour of the border around the text area and between the scrollbar +and the text. + =item B I Use the specified XPM file (note the `.xpm' extension is optional) for @@ -442,22 +506,67 @@ menus), in addition to the paths specified by the B and B environment variables. -=item B I +=item B I -Select the fonts to be used. This is a comma seperated list of font +Select the fonts to be used. This is a comma separated list of font names that are used in turn when trying to display Unicode characters. The first font defines the cell size for characters; other fonts might be smaller, but not larger. A reasonable default font list is always appended to it. option B<-fn>. -=item B I +Each font can either be a standard X11 core font (XLFD) name, with +optional prefix C or a Xft font (Compile xft), prefixed with C. + +In addition, each font can be prefixed with additional hints and +specifications enclosed in square brackets (C<[]>). The only available +hint currently is C, and this is only used for Xft +fonts. + +For example, this font resource + + URxvt*font: 9x15bold,\ + -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso10646-1,\ + -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1, \ + [codeset=JISX0208]xft:Kochi Gothic:antialias=false, \ + xft:Code2000:antialias=false + +specifies five fonts to be used. The first one is C<9x15bold> (actually +the iso8859-1 version of the second font), which is the base font (because +it is named first) and thus defines the character cell grid to be 9 pixels +wide and 15 pixels high. + +the second font is just used to add additional unicode characters not in +the base font, likewise the third, which is unfortunately non-bold, but +the bold version of the font does contain less characters, so this is a +useful supplement. + +The third font is an Xft font with aliasing turned off, and the characters +are limited to the B codeset (i.e. japanese kanji). The font +contains other characters, but we are not interested in them. + +The last font is a useful catch-all font that supplies most of the +remaining unicode characters. + +=item B I -B: Enable "real bold" support. When this option is on, bold text -will be displayed using the first available bold font in the font list. -Bold fonts should thus be specified in the font list after their -corresponding regular fonts. If no bold font can be found, a regular -font will be used. option B<-rb>. B: Display bold text in a -regular font, using the color specified with B; option B<+rb>. +=item B I + +=item B I + +The font list to use for displaying B, I or B<< I >> characters, respectively. + +If specified and non-empty, then the syntax is the same as for the +B-resource, and the given font list will be used as is, which makes +it possible to substitute completely different font styles for bold and +italic. + +If unset (the default), a suitable font list will be synthesized by +"morphing" the normal text font list into the desired shape. If that is +not possible, replacement fonts of the desired shape will be tried. + +If set, but empty, then this specific style is disabled and the normal +text font will being used for the given style. =item B I @@ -467,8 +576,8 @@ =item B I -Set scrollbar style to B<@@RXVT_NAME@@>, B, B, B or -B +Set scrollbar style to B, B, B or B. B is +the author's favourite.. =item B I @@ -532,9 +641,9 @@ =item B I -B: scroll to bottom when tty receives output; option B<+si>. +B: scroll to bottom when tty receives output; option B<-si>. B: do not scroll to bottom when tty receives output; option -B<-si>. +B<+si>. =item B I @@ -544,20 +653,10 @@ =item B I -B: scroll to bottom when a non-special key is pressed. Special -keys are those which are intercepted by rxvt for special handling and -are not passed onto the shell; option B<-sk>. B: do not scroll -to bottom when a non-special key is pressed; option B<+sk>. - -=item B I - -If enabled, use B<@@HOTKEY@@->I to toggle to a smaller font -[default B<@@HOTKEY@@-@@SMALLFONT@@>] - -=item B I - -If enabled, use B<@@HOTKEY@@->I to toggle to a bigger font -[default B<@@HOTKEY@@-@@BIGFONT@@>] +B: scroll to bottom when a non-special key is pressed. Special keys +are those which are intercepted by rxvt-unicode for special handling and +are not passed onto the shell; option B<-sk>. B: do not scroll to +bottom when a non-special key is pressed; option B<+sk>. =item B I @@ -577,7 +676,7 @@ =item B I Set MWM hints to request a borderless window, i.e. if honoured by the -WM, the rxvt window will not have window decorations; option B<-bl>. +WM, the rxvt-unicode window will not have window decorations; option B<-bl>. =item B I @@ -657,7 +756,7 @@ extension to be able to input japanese characters while staying in another locale. option B<-imlocale>. -=item B +=item B I Enables "insecure" mode. Rxvt-unicode offers some escape sequences that echo arbitrary strings like the icon name or the locale. This could be @@ -678,7 +777,7 @@ =item B I -Specify the reply rxvt sends to the shell when an ENQ (control-E) +Specify the reply rxvt-unicode sends to the shell when an ENQ (control-E) character is passed through. It may contain escape values as described in the entry on B following. @@ -755,26 +854,80 @@ =head1 CHANGING FONTS -You can change fonts on-the-fly, which is to say cycle through the -default font and others of various sizes, by using B and -B. Or, alternatively (if enabled) with -B<@@HOTKEY@@-@@BIGFONT@@> and B<@@HOTKEY@@-@@SMALLFONT@@>, where the -actual key can be selected using resources -B/B. +Changing fonts (or font sizes, respectively) via the keypad is not yet +supported in rxvt-unicode. Bug me if you need this. + +You can, however, switch fonts at runtime using escape sequences (and +therefore using the menubar), e.g.: + + printf '\e]701;%s\007' "9x15bold,xft:Kochi Gothic" + +rxvt-unicode will automatically re-apply these fonts to the output so far. =head1 ISO 14755 SUPPORT -Partial ISO 14755-support is implemented. that means that pressing +ISO 14755 is a standard for entering and viewing unicode characters +and character codes using the keyboard. It consists of 4 parts. The +first part is available rxvt-unicode has been compiled with +C<--enable-frills>, the rest is available when rxvt-unicode was compiled +with C<--enable-iso14755>. + +=over 4 + +=item 5.1: Basic method + +This allows you to enter unicode characters using their hexcode. -Section 5.1: Control and Shift together enters unicode input -mode. Entering hex digits composes a Unicode character, pressing space or -releasing the modifiers commits the keycode and every other key cancels -the current input character. - -Section 5.2: Pressing and immediately releasing Control and Shift together -enters keycap entry mode for the next key: pressing a function key (tab, -return etc..) will enter the unicode character corresponding to the given -key. +Start by pressing and holding both C and C, then enter +hex-digits (between one and six). Releasing C and C will +commit the character as if it were typed directly. While holding down +C and C you can also enter multiple characters by pressing +C, which will commit the current character and lets you start a new +one. + +As an example of use, imagine a business card with a japanese e-mail +address, which you cannot type. Fortunately, the card has the e-mail +address printed as hexcodes, e.g. C<671d 65e5>. You can enter this easily +by pressing C and C, followed by C<6-7-1-D-SPACE-6-5-E-5>, +followed by releasing the modifier keys. + +=item 5.2: Keyboard symbols entry method + +This mode lets you input characters representing the keycap symbols of +your keyboard, if representable in the current locale encoding. + +Start by pressing C and C together, then releasing +them. The next special key (cursor keys, home etc.) you enter will not +invoke it's usual function but instead will insert the corresponding +keycap symbol. The symbol will only be entered when the key has been +released, otherwise pressing e.g. C would enter the symbol for +C, although your intention might have beenm to enter a +reverse tab (Shift-Tab). + +=item 5.3: Screen-selection entry method + +While this is implemented already (it's basically the selection +mechanism), it could be extended by displaying a unicode character map. + +=item 5.4: Feedback method for identifying displayed characters for later input + +This method lets you display the unicode character code associated with +characters already displayed. + +You enter this mode by holding down C and C together, then +pressing and holding the left mouse button and moving around. The unicode +hex code(s) (it might be a combining character) of the character under the +pointer is displayed until you release C and C. + +In addition to the hex codes it will display the font used to draw this +character - due to implementation reasons, characters combined with +combining characters, line drawing characters and unknown characters will +always be drawn using the built-in support font. + +=back + +With respect to conformance, rxvt-unicode is supposed to be compliant to +both scenario A and B of ISO 14755, including part 5.2. =head1 LOGIN STAMP @@ -825,13 +978,488 @@ =over 4 -=item B +=item B<@@RXVT_NAME@@ -fg Black -bg White -rv> would yield White on Black, while on I(1) it would yield Black on White. =back +=head1 FREQUENTLY ASKED QUESTIONS (FAQ) + +=over 4 + +=item How do I know which rxvt-unicode version I'm using? + +The version number is displayed with the usage (-h). Also the escape +sequence C sets the window title to the version number. + +=item When I log-in to another system it tells me about missing terminfo data? + +The terminal description used by rxvt-unicode is not as widely available +as that for xterm, or even rxvt (for which the same problem often arises). + +The correct solution for this problem is to install the terminfo, this can be done +like this: + + infocmp rxvt-unicode >rxvt.unicode.tic + scp rxvt-unicode.tic remotesystem: + ssh remotesystem tic rxvt-unicode.tic + +... or by installing rxvt-unicode normally on the remote system, + +If you cannot or do not want to do this, then you can simply set +C or even C, and live with the small number of +problems arising, which includes wrong keymapping, less and different +colours and some refresh errors in fullscreen applications. It's a nice +quick-and-dirty workaround for rare cases, though. + +If you always want to do this you can either recompile rxvt-unicode with +the desired TERM value or use a resource to set it: + + URxvt.termName: rxvt + +=item How can I configure rxvt-unicode so that it looks similar to the original rxvt? + +Felix von Leitner says that these two lines, in your F<.Xdefaults>, will make rxvt-unicode +behave similar to the original rxvt: + + URxvt.font: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1 + URxvt.boldFont: -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-1 + +=item Rxvt-unicode does not seem to understand the selected encoding? + +=item Unicode does not seem to work? + +If you encounter strange problems like typing an accented character but +getting two unrelated other characters or similar, or if program output is +subtly garbled, then you should check your locale settings. + +Rxvt-unicode must be started with the same C setting as the +programs. Often rxvt-unicode is started in the C locale, while the +login script running within the rxvt-unicode window changes the locale to +sth. else, e.h. C. Needless to say, this is not going to work. + +The best thing is to fix your startup environment, as you will likely run +into other problems. If nothing works you can try this in your .profile. + + printf '\e]701;%s\007' "$LC_CTYPE" + +If this doesn't work, then maybe you use a C specification not +supported on your systems. Some systems have a C comamnd which +displays this. If it displays sth. like: + + locale: Cannot set LC_CTYPE to default locale: ... + +Then the locale you specified is not supported on your system. + +If nothing works and you are sure that everything is set correctly then +you will need to remember a little known fact: Some programs just don't +support locales :( + +=item Why do the characters look ugly? + +=item How does rxvt-unicode choose fonts? + +Most fonts do not contain the full range of Unicode, which is +fine. Chances are that the font you (or the admin/package maintainer of +your system/os) have specified does not cover all the characters you want +to display. + +B makes a best-effort try at finding a replacement +font. Often the result is fine, but sometimes the chosen font looks +bad. Many fonts have totally strange characters that don't resemble the +correct glyph at all, and rxvt-unicode lacks the artificial intelligence +to detetc that a specific glyph is wrong: it has to believe the font that +the characters it contains indeed look correct. + +In that case, select a font of your taste and add it to the font list, +e.g.: + + @@RXVT_NAME@@ -fn basefont,font2,font3... + +When rxvt-unicode sees a character, it will first look at the base +font. If the base font does not contain the character, it will go to the +next font, and so on. Specifying your own fonts will also speed up this +search and use less resources within rxvt-unicode and the X-server. + +The only limitation is that all the fonts must not be larger than the base +font, as the base font defines the principial cell size, which must be the +same due to the way terminals work. + +=item Why do some chinese characters look so different than others? + +This is because there is a difference between script and language -- +rxvt-unicode does not know which language the text that is output +is, as it only knows the unicode character codes. If rxvt-unicode +first sees a japanese character, it might choose a japanese font for +it. Subseqzuent japanese characters will take that font. Now, many chinese +characters aren't represented in japanese fonts, so when the first +non-japanese character comes up, rxvt-unicode will look for a chinese font +-- unfortunately at this point, it will still use the japanese font for +japanese characters that are also chinese. + +The workaround is easy: just tag a chinese font at the end of your font +list (see the previous question). The key is to view the font list as +a preference list: If you expect more japanese, list a japanese font +first. If you expect more chinese, put a chinese font first. + +In the future it might be possible to switch preferences at runtime (the +internal data structure has no problem with using different fonts for +the same character at the same time, but no interface for this has been +designed yet). + +=item How can I keep rxvt-unicode from using reverse video so much? + +First of all, make sure you are running with the right terminfo +(C), which will get rid of most of these effects. Then make sure +you have specified colours for italic and bold, as otherwise rxvt-unicode +might use reverse video to simulate the effect: + + URxvt*colorBD: white + URxvt*colorIT: green + +=item Some programs assume totally weird colours (red instead of blue), how can I fix that? + +For some unexplainable reason, some programs (i.e. irssi) assume a very +weird colour palette when confronted with a terminal with more than the +standard 8 colours (rxvt-unicode supports 88). The right fix is, of +course, to fix these programs not to assume non-ISO colours without very +good reasons. + +In the meantime, you can either edit your C terminfo definition to +only claim 8 colour support or use C, which will fix colours +but keep you from using other rxvt-unicode features. + +=item How does rxvt-unicode determine the encoding to use? + +=item Is there an option to switch encodings? + +Unlike some other terminals, rxvt-unicode has no encoding switch, and no +specific "utf-8" mode, such as xterm. In fact, it doesn't even know about +UTF-8 or any other encodings with respect to terminal I/O. + +The reasons is that there exists a perfectly fine mechanism for selecting +the encoding, doing I/O and (most important) communicating this to all +applications so everybody agrees on character properties such as width and +code number. This mechanism is the I. + +Rxvt-unicode uses the C locale category to select encoding. All +programs doing the same (that is, most) will automatically agree in the +interpretation of characters. + +Unfortunately, there is no system-independent way to select locales, nor +is there a standard on how locale specifiers will look like. + +On most systems, the content of the C environment variable +contains an arbitrary string which corresponds to an already-installed +locale. Common names for locales are C, C, +C, i.e. C, but other forms +(i.e. C or C) are also common. + +Rxvt-unicode ignores all other locale categories, and except for +the encoding, ignores country or language-specific settings, +i.e. C and C are the same for rxvt-unicode. + +If you want to use a specific encoding you have to make sure you start +rxvt-unicode with the correct C category. + +=item Can I switch locales at runtime? + +Yes, using an escape sequence. Try sth. like this, which sets +rxvt-unicode's idea of C. + + printf '\e]701;%s\007' ja_JP.SJIS + +See also the previous question. + +Sometimes this capability is rather handy when you want to work in one +locale (e.g. C) but some programs don't support UTF-8. For +example, I use this script to start C, which first switches to a +locale supported by xjdic and back later: + + printf '\e]701;%s\007' ja_JP.SJIS + xjdic -js + printf '\e]701;%s\007' de_DE.UTF-8 + +=item Can I switch the fonts at runtime? + +Yes, using an escape sequence. Try sth. like this, which has the same +effect as using the C<-fn> switch, and takes effect immediately: + + printf '\e]50;%s\007' "9x15bold,xft:Kochi Gothic" + +This is useful if you e.g. work primarily with japanese (and prefer a +japanese font), but you have to switch to chinese temporarily, where +japanese fonts would only be in your way. + +You can think of this as a kind of manual ISO-2022 switching. + +=item Why do italic characters look as if clipped? + +Many fonts have difficulties with italic characters and hinting. For +example, the otherwise very nicely hinted font C completely fails in it's italic face. A workaround is to enable +freetype autohinting, i.e. like this: + + URxvt*italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true + URxvt*boldItalicFont: xft:Bitstream Vera Sans Mono:bold:italic:autohint=true + +=item My input method wants but I want UTF-8, what can I do? + +You cna specify separate locales for the input method and the rest of the +terminal, using the resource C: + + URxvt*imlocale: ja_JP.EUC-JP + +Now you can start your terminal with C and still +use your input method. Please note, however, that you will not be able to +input characters outside C in a normal way then, as your input +method limits you. + +=item Rxvt-unicode uses gobs of memory, how can I reduce that? + +Rxvt-unicode tries to obey the rule of not charging you for sth. you +don't use. One thing you should try is to configure out all settings that +you don't need, for example, Xft support is a resource hog by design, +when used. Compiling it out ensures that no Xft font will be loaded +accidentally when rxvt-unicode tries to find a font for your characters. + +Also, many people (me included) like large windows and even larger +scrollback buffers: Without C<--enable-unicode3>, rxvt-unicode will use +6 bytes per screen cell. For a 160x?? window this amounts to almost a +kilobyte per line. A scorllback buffer of 10000 lines will then (if full) +use 10 Megabytes of memory. With C<--enable-unicode3> it gets worse, as +rxvt-unicode then uses 8 bytes per screen cell. + +=item Can I speed up Xft rendering somehow? + +Yes, the most obvious way to speed it up is to avoid Xft entirely, as +it is simply slow. If you still want Xft fonts you might try to disable +antialiasing (by appending C<:antialiasing=false>), which saves lots of +memory and also speeds up rendering considerably. + +=item Rxvt-unicode doesn't seem to anti-alias its fonts, what is wrong? + +Rxvt-unicode will use whatever you specify as a font. If it needs to +fall back to it's default font search list it will prefer X11 core +fonts, because they are small and fast, and then use Xft fonts. It has +antialiaisng disabled for most of them, because the author thinks they +look best that way. + +If you want antialiasing, you have to specify the fonts manually. + +=item Mouse cut/paste suddenly no longer works. + +Make sure that mouse reporting is actually turned off since killing +some editors prematurely may leave the mouse in mouse report mode. I've +heard that tcsh may use mouse reporting unless it otherwise specified. A +quick check is to see if cut/paste works when the Alt or Shift keys are +depressed. See @@RXVT_NAME@@(7) + +=item What's with this bold/blink stuff? + +If no bold colour is set via C, bold will invert text using the +standard foreground colour. + +For the standard background colour, blinking will actually make the +text blink when compiled with C<--enable-blinking>. with standard +colours. Without C<--enable-blinking>, the blink attribute will be +ignored. + +On ANSI colours, bold/blink attributes are used to set high-intensity +foreground/background colors. + +color0-7 are the low-intensity colors. + +color8-15 are the corresponding high-intensity colors. + +=item I don't like the screen colors. How do I change them? + +You can change the screen colors at run-time using F<~/.Xdefaults> +resources (or as long-options). + +Here are values that are supposed to resemble a VGA screen, +including the murky brown that passes for low-intensity yellow: + + Rxvt*color0: #000000 + Rxvt*color1: #A80000 + Rxvt*color2: #00A800 + Rxvt*color3: #A8A800 + Rxvt*color4: #0000A8 + Rxvt*color5: #A800A8 + Rxvt*color6: #00A8A8 + Rxvt*color7: #A8A8A8 + + Rxvt*color8: #000054 + Rxvt*color9: #FF0054 + Rxvt*color10: #00FF54 + Rxvt*color11: #FFFF54 + Rxvt*color12: #0000FF + Rxvt*color13: #FF00FF + Rxvt*color14: #00FFFF + Rxvt*color15: #FFFFFF + +=item What's with the strange Backspace/Delete key behaviour? + +Assuming that the physical Backspace key corresponds to the +BackSpace keysym (not likely for Linux ... see the following +question) there are two standard values that can be used for +Backspace: C<^H> and C<^?>. + +Historically, either value is correct, but rxvt-unicode adopts the debian +policy of using C<^?> when unsure, because it's the one only only correct +choice :). + +Rxvt-unicode tries to inherit the current stty settings and uses the value +of `erase' to guess the value for backspace. If rxvt-unicode wasn't +started from a terminal (say, from a menu or by remote shell), then the +system value of `erase', which corresponds to CERASE in , will +be used (which may not be the same as your stty setting). + +For starting a new rxvt-unicode: + + # use Backspace = ^H + $ stty erase ^H + $ @@RXVT_NAME@@ + + # use Backspace = ^? + $ stty erase ^? + $ @@RXVT_NAME@@ + +Toggle with "ESC[36h" / "ESC[36l" as documented in @@RXVT_NAME@@(7). + +For an existing rxvt-unicode: + + # use Backspace = ^H + $ stty erase ^H + $ echo -n "^[[36h" + + # use Backspace = ^? + $ stty erase ^? + $ echo -n "^[[36l" + +This helps satisfy some of the Backspace discrepancies that occur, but +if you use Backspace = C<^H>, make sure that the termcap/terminfo value +properly reflects that. + +The Delete key is a another casualty of the ill-defined Backspace problem. +To avoid confusion between the Backspace and Delete keys, the Delete +key has been assigned an escape sequence to match the vt100 for Execute +(ESC[3~) and is in the supplied termcap/terminfo. + +Some other Backspace problems: + +some editors use termcap/terminfo, +some editors (vim I'm told) expect Backspace = ^H, +GNU Emacs (and Emacs-like editors) use ^H for help. + +Perhaps someday this will all be resolved in a consistent manner. + +=item I don't like the key-bindings. How do I change them? + +There are some compile-time selections available via configure. Unless +you have run "configure" with the C<--disable-resources> option you can +use the `keysym' resource to alter the keystrings associated with keysym +0xFF00 - 0xFFFF (function, cursor keys, etc). + +Here's an example for a tn3270 session started using `@@RXVT_NAME@@ -name tn3270' + + !# ----- special uses ------: + ! tn3270 login, remap function and arrow keys. + tn3270*font: *clean-bold-*-*--15-* + + ! keysym - used by rxvt only + ! Delete - ^D + tn3270*keysym.0xFFFF: \004 + + ! Home - ^A + tn3270*keysym.0xFF50: \001 + ! Left - ^B + tn3270*keysym.0xFF51: \002 + ! Up - ^P + tn3270*keysym.0xFF52: \020 + ! Right - ^F + tn3270*keysym.0xFF53: \006 + ! Down - ^N + tn3270*keysym.0xFF54: \016 + ! End - ^E + tn3270*keysym.0xFF57: \005 + + ! F1 - F12 + tn3270*keysym.0xFFBE: \e1 + tn3270*keysym.0xFFBF: \e2 + tn3270*keysym.0xFFC0: \e3 + tn3270*keysym.0xFFC1: \e4 + tn3270*keysym.0xFFC2: \e5 + tn3270*keysym.0xFFC3: \e6 + tn3270*keysym.0xFFC4: \e7 + tn3270*keysym.0xFFC5: \e8 + tn3270*keysym.0xFFC6: \e9 + tn3270*keysym.0xFFC7: \e0 + tn3270*keysym.0xFFC8: \e- + tn3270*keysym.0xFFC9: \e= + + ! map Prior/Next to F7/F8 + tn3270*keysym.0xFF55: \e7 + tn3270*keysym.0xFF56: \e8 + +=item I'm using keyboard model XXX that has extra Prior/Next/Insert keys. +How do I make use of them? For example, the Sun Keyboard type 4 +has the following mappings that rxvt-unicode doesn't recognize. + + KP_Insert == Insert + F22 == Print + F27 == Home + F29 == Prior + F33 == End + F35 == Next + +Rather than have rxvt-unicode try to accomodate all the various possible keyboard +mappings, it is better to use `xmodmap' to remap the keys as required for +your particular machine. + +=item How do I distinguish if I'm running rxvt-unicode or a regular xterm? +I need this to decide about setting colors etc. + +rxvt and rxvt-unicode always export the variable "COLORTERM", so you can +check and see if that is set. Note that several programs, JED, slrn, +Midnight Commander automatically check this variable to decide whether or +not to use color. + +=item How do I set the correct, full IP address for the DISPLAY variable? + +If you've compiled rxvt-unicode with DISPLAY_IS_IP and ahve enabled +insecure mode then it is possible to use the following shell script +snippets to correctly set the display. If your version of rxvt-unicode +wasn't also compiled with ESCZ_ANSWER (as assumed in these snippets) then +the COLORTERM variable can be used to distinguish rxvt-unicode from a +regular xterm. + +Courtesy of Chuck Blake with the following shell script +snippets: + + # Bourne/Korn/POSIX family of shells: + [ ${TERM:-foo} = foo ] && TERM=xterm # assume an xterm if we don't know + if [ ${TERM:-foo} = xterm ]; then + stty -icanon -echo min 0 time 15 # see if enhanced rxvt or not + echo -n '^[Z' + read term_id + stty icanon echo + if [ ""${term_id} = '^[[?1;2C' -a ${DISPLAY:-foo} = foo ]; then + echo -n '^[[7n' # query the rxvt we are in for the DISPLAY string + read DISPLAY # set it in our local shell + fi + fi + +=item How do I compile the manual pages for myself? + +You need to have a recent version of perl installed as F, +one that comes with F, F and F. Then go to +the doc subdirectory and enter C. + +=back + =head1 ENVIRONMENT B<@@RXVT_NAME@@> sets the environment variables B, B @@ -855,11 +1483,9 @@ =back -=head1 SEEALSO - -I(1), I(1), I(1), I(1), I(4), I(4), I(5) +=head1 SEE ALSO -See rxvtRef.html rxvtRef.txt for detailed information on recognized escape sequences and menuBar syntax, etc. +@@RXVT_NAME@@(7), xterm(1), sh(1), resize(1), X(1), pty(4), tty(4), utmp(5) =head1 BUGS @@ -875,11 +1501,11 @@ =item Project Coordinator -@@RXVTMAINT@@ L<@@RXVT_MAINTEMAIL@@> +@@RXVT_MAINT@@ L<@@RXVT_MAINTEMAIL@@> =item Web page maintainter -@@RXVTWEBMAINT@@ L<@@RXVT_WEBMAINTEMAIL@@> +@@RXVT_WEBMAINT@@ L<@@RXVT_WEBMAINTEMAIL@@> L<@@RXVT_WEBPAGE@@>