configurability. As a result, B<rxvt-unicode> uses much less swap space --
a significant advantage on a machine serving many X sessions.
+=head1 FREQUENTLY ASKED QUESTIONS
+
+See @@RXVT_NAME@@(7) (try C<man 7 @@RXVT_NAME@@>) for a list of frequently
+asked questions and answer to them and some common problems.
+
=head1 RXVT-UNICODE VS. RXVT
Unlike the original rxvt, B<rxvt-unicode> stores all text in Unicode
fine, though. A somewhat difficult case are left-to-right scripts, such
as hebrew: B<rxvt-unicode> 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
+such as cursor-movement while editing -- break otherwise), but that might
change.
If you are looking for a terminal that supports more exotic scripts, let
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.
+reference documentation (escape sequences etc.).
=head1 OPTIONS
always appended to it. See resource B<font> for details.
See also the question "How does rxvt-unicode choose fonts?" in the FAQ
-section.
+section of @@RXVT_NAME@@(7).
=item B<-fb> I<fontlist>
=item B<scrollWithBuffer:> I<boolean>
-B<True>: scroll with scrollback buffer when tty recieves new lines (and
+B<True>: scroll with scrollback buffer when tty receives new lines (and
B<scrollTtyOutput> is False); option B<+sw>. B<False>: do not scroll
with scrollback buffer when tty recieves new lines; option B<-sw>.
Enables "insecure" mode. Rxvt-unicode offers some escape sequences that
echo arbitrary strings like the icon name or the locale. This could be
-abused if somebody gets 8-bit-clean access to your display, wether
+abused if somebody gets 8-bit-clean access to your display, whether
throuh a mail client displaying mail bodies unfiltered or though
write(1). Therefore, these sequences are disabled by default. (Note
that other terminals, including xterm, have these sequences
double-click to select a word; Left triple-click to select the entire
line.
+Starting a selection while pressing the B<Meta> key (or B<Meta+Ctrl> keys)
+(Compile: frills) will create a rectangular selection instead of a normal
+one.
+
=item B<Insertion>:
Pressing and releasing the Middle mouse button (or B<Shift-Insert>) in
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<Shift> would enter the symbol for
-C<ISO Level 2 Switch>, although your intention might have beenm to enter a
+C<ISO Level 2 Switch>, although your intention might have been to enter a
reverse tab (Shift-Tab).
=item 5.3: Screen-selection entry method
=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<ESC[8n> 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<TERM=rxvt> or even C<TERM=xterm>, 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<LC_CTYPE> setting as the
-programs. Often rxvt-unicode is started in the C<C> locale, while the
-login script running within the rxvt-unicode window changes the locale to
-sth. else, e.h. C<en_GB.UTF-8>. 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<LC_CTYPE> specification not
-supported on your systems. Some systems have a C<locale> 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<rxvt-unicode> 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<urxvt>), 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<urxvt> terminfo definition to
-only claim 8 colour support or use C<TERM=rxvt>, 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<locale>.
-
-Rxvt-unicode uses the C<LC_CTYPE> 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<LC_CTYPE> environment variable
-contains an arbitrary string which corresponds to an already-installed
-locale. Common names for locales are C<en_US.UTF-8>, C<de_DE.ISO-8859-15>,
-C<ja_JP.EUC-JP>, i.e. C<language_country.encoding>, but other forms
-(i.e. C<de> or C<german>) are also common.
-
-Rxvt-unicode ignores all other locale categories, and except for
-the encoding, ignores country or language-specific settings,
-i.e. C<de_DE.UTF-8> and C<ja_JP.UTF-8> 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<LC_CTYPE> 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<LC_CTYPE>.
-
- 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<de_DE.UTF-8>) but some programs don't support UTF-8. For
-example, I use this script to start C<xjdic>, 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<xft:Bitstream Vera Sans
-Mono> 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 <some encoding> 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<imlocale>:
-
- URxvt*imlocale: ja_JP.EUC-JP
-
-Now you can start your terminal with C<LC_CTYPE=ja_JP.UTF-8> and still
-use your input method. Please note, however, that you will not be able to
-input characters outside C<EUC-JP> 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<colorBD:>, 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 <termios.h>, 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 <cblake@BBN.COM> 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</usr/bin/perl>,
-one that comes with F<pod2man>, F<pod2text> and F<pod2html>. Then go to
-the doc subdirectory and enter C<make alldoc>.
-
-=back
-
=head1 ENVIRONMENT
B<@@RXVT_NAME@@> sets the environment variables B<TERM>, B<COLORTERM>