summaryrefslogtreecommitdiffstats
path: root/doc/rxvt.7.man.in
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rxvt.7.man.in')
-rw-r--r--doc/rxvt.7.man.in2750
1 files changed, 2750 insertions, 0 deletions
diff --git a/doc/rxvt.7.man.in b/doc/rxvt.7.man.in
new file mode 100644
index 0000000..14b0c0a
--- /dev/null
+++ b/doc/rxvt.7.man.in
@@ -0,0 +1,2750 @@
+.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.30)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+. ds C`
+. ds C'
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.\"
+.\" Avoid warning from groff about undefined register 'F'.
+.de IX
+..
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{
+. if \nF \{
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. if !\nF==2 \{
+. nr % 0
+. nr F 2
+. \}
+. \}
+.\}
+.rr rF
+.\"
+.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
+.\" Fear. Run. Save yourself. No user-serviceable parts.
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V .8m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \&
+. ds ` \&
+. ds ^ \&
+. ds , \&
+. ds ~ ~
+. ds /
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : e
+. ds 8 ss
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+.\}
+.rm #[ #] #H #V #F C
+.\" ========================================================================
+.\"
+.IX Title "@@RXVT_NAME@@ 7"
+.TH @@RXVT_NAME@@ 7 "2016-01-23" "@@RXVT_VERSION@@" "RXVT-UNICODE"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+RXVT REFERENCE \- FAQ, command sequences and other background information
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+.Vb 2
+\& # set a new font set
+\& printf \*(Aq\e33]50;%s\e007\*(Aq 9x15,xft:Kochi" Mincho"
+\&
+\& # change the locale and tell rxvt\-unicode about it
+\& export LC_CTYPE=ja_JP.EUC\-JP; printf "\e33]701;$LC_CTYPE\e007"
+\&
+\& # set window title
+\& printf \*(Aq\e33]2;%s\e007\*(Aq "new window title"
+.Ve
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+This document contains the \s-1FAQ,\s0 the \s-1RXVT TECHNICAL REFERENCE\s0 documenting
+all escape sequences, and other background information.
+.PP
+The newest version of this document is also available on the World Wide Web at
+<http://pod.tst.eu/http://cvs.schmorp.de/rxvt\-unicode/doc/rxvt.7.pod>.
+.PP
+The main manual page for @@RXVT_NAME@@ itself is available at
+<http://pod.tst.eu/http://cvs.schmorp.de/rxvt\-unicode/doc/rxvt.1.pod>.
+.SH "RXVT\-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS"
+.IX Header "RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS"
+.SS "Meta, Features & Commandline Issues"
+.IX Subsection "Meta, Features & Commandline Issues"
+\fIMy question isn't answered here, can I ask a human?\fR
+.IX Subsection "My question isn't answered here, can I ask a human?"
+.PP
+Before sending me mail, you could go to \s-1IRC: \s0\f(CW\*(C`irc.freenode.net\*(C'\fR,
+channel \f(CW\*(C`#rxvt\-unicode\*(C'\fR has some rxvt-unicode enthusiasts that might be
+interested in learning about new and exciting problems (but not FAQs :).
+.PP
+\fII use Gentoo, and I have a problem...\fR
+.IX Subsection "I use Gentoo, and I have a problem..."
+.PP
+There are two big problems with Gentoo Linux: first, most if not all
+Gentoo systems are completely broken (missing or mismatched header
+files, broken compiler etc. are just the tip of the iceberg);
+secondly, it should be called Gentoo GNU/Linux.
+.PP
+For these reasons, it is impossible to support rxvt-unicode on
+Gentoo. Problems appearing on Gentoo systems will usually simply be
+ignored unless they can be reproduced on non-Gentoo systems.
+.PP
+\fIDoes it support tabs, can I have a tabbed rxvt-unicode?\fR
+.IX Subsection "Does it support tabs, can I have a tabbed rxvt-unicode?"
+.PP
+Beginning with version 7.3, there is a perl extension that implements a
+simple tabbed terminal. It is installed by default, so any of these should
+give you tabs:
+.PP
+.Vb 1
+\& @@URXVT_NAME@@ \-pe tabbed
+\&
+\& URxvt.perl\-ext\-common: default,tabbed
+.Ve
+.PP
+It will also work fine with tabbing functionality of many window managers
+or similar tabbing programs, and its embedding-features allow it to be
+embedded into other programs, as witnessed by \fIdoc/rxvt\-tabbed\fR or
+the upcoming \f(CW\*(C`Gtk2::URxvt\*(C'\fR perl module, which features a tabbed urxvt
+(murxvt) terminal as an example embedding application.
+.PP
+\fIHow do I know which rxvt-unicode version I'm using?\fR
+.IX Subsection "How do I know which rxvt-unicode version I'm using?"
+.PP
+The version number is displayed with the usage (\-h). Also the escape
+sequence \f(CW\*(C`ESC [ 8 n\*(C'\fR sets the window title to the version number. When
+using the @@URXVT_NAME@@c client, the version displayed is that of the
+daemon.
+.PP
+\fIRxvt-unicode uses gobs of memory, how can I reduce that?\fR
+.IX Subsection "Rxvt-unicode uses gobs of memory, how can I reduce that?"
+.PP
+Rxvt-unicode tries to obey the rule of not charging you for something 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.
+.PP
+Also, many people (me included) like large windows and even larger
+scrollback buffers: Without \f(CW\*(C`\-\-enable\-unicode3\*(C'\fR, rxvt-unicode will use
+6 bytes per screen cell. For a 160x?? window this amounts to almost a
+kilobyte per line. A scrollback buffer of 10000 lines will then (if full)
+use 10 Megabytes of memory. With \f(CW\*(C`\-\-enable\-unicode3\*(C'\fR it gets worse, as
+rxvt-unicode then uses 8 bytes per screen cell.
+.PP
+\fIHow can I start @@URXVT_NAME@@d in a race-free way?\fR
+.IX Subsection "How can I start @@URXVT_NAME@@d in a race-free way?"
+.PP
+Try \f(CW\*(C`@@URXVT_NAME@@d \-f \-o\*(C'\fR, which tells @@URXVT_NAME@@d to open the
+display, create the listening socket and then fork.
+.PP
+\fIHow can I start @@URXVT_NAME@@d automatically when I run @@URXVT_NAME@@c?\fR
+.IX Subsection "How can I start @@URXVT_NAME@@d automatically when I run @@URXVT_NAME@@c?"
+.PP
+If you want to start @@URXVT_NAME@@d automatically whenever you run
+@@URXVT_NAME@@c and the daemon isn't running yet, use this script:
+.PP
+.Vb 6
+\& #!/bin/sh
+\& @@URXVT_NAME@@c "$@"
+\& if [ $? \-eq 2 ]; then
+\& @@URXVT_NAME@@d \-q \-o \-f
+\& @@URXVT_NAME@@c "$@"
+\& fi
+.Ve
+.PP
+This tries to create a new terminal, and if fails with exit status 2,
+meaning it couldn't connect to the daemon, it will start the daemon and
+re-run the command. Subsequent invocations of the script will re-use the
+existing daemon.
+.PP
+\fIHow do I distinguish whether I'm running rxvt-unicode or a regular xterm? I need this to decide about setting colours etc.\fR
+.IX Subsection "How do I distinguish whether I'm running rxvt-unicode or a regular xterm? I need this to decide about setting colours etc."
+.PP
+The original rxvt and rxvt-unicode always export the variable \*(L"\s-1COLORTERM\*(R",\s0
+so you can check and see if that is set. Note that several programs, \s-1JED,\s0
+slrn, Midnight Commander automatically check this variable to decide
+whether or not to use colour.
+.PP
+\fIHow do I set the correct, full \s-1IP\s0 address for the \s-1DISPLAY\s0 variable?\fR
+.IX Subsection "How do I set the correct, full IP address for the DISPLAY variable?"
+.PP
+If you've compiled rxvt-unicode with \s-1DISPLAY_IS_IP\s0 and have 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 \s-1ESCZ_ANSWER \s0(as assumed in these snippets) then
+the \s-1COLORTERM\s0 variable can be used to distinguish rxvt-unicode from a
+regular xterm.
+.PP
+Courtesy of Chuck Blake <cblake@BBN.COM> with the following shell script
+snippets:
+.PP
+.Vb 12
+\& # Bourne/Korn/POSIX family of shells:
+\& [ ${TERM:\-foo} = foo ] && TERM=xterm # assume an xterm if we don\*(Aqt know
+\& if [ ${TERM:\-foo} = xterm ]; then
+\& stty \-icanon \-echo min 0 time 15 # see if enhanced rxvt or not
+\& printf "\eeZ"
+\& read term_id
+\& stty icanon echo
+\& if [ ""${term_id} = \*(Aq^[[?1;2C\*(Aq \-a ${DISPLAY:\-foo} = foo ]; then
+\& printf \*(Aq\ee[7n\*(Aq # query the rxvt we are in for the DISPLAY string
+\& read DISPLAY # set it in our local shell
+\& fi
+\& fi
+.Ve
+.PP
+\fIHow do I compile the manual pages on my own?\fR
+.IX Subsection "How do I compile the manual pages on my own?"
+.PP
+You need to have a recent version of perl installed as \fI/usr/bin/perl\fR,
+one that comes with \fIpod2man\fR, \fIpod2text\fR and \fIpod2xhtml\fR (from
+\&\fIPod::Xhtml\fR). Then go to the doc subdirectory and enter \f(CW\*(C`make alldoc\*(C'\fR.
+.PP
+\fIIsn't rxvt-unicode supposed to be small? Don't all those features bloat?\fR
+.IX Subsection "Isn't rxvt-unicode supposed to be small? Don't all those features bloat?"
+.PP
+I often get asked about this, and I think, no, they didn't cause extra
+bloat. If you compare a minimal rxvt and a minimal urxvt, you can see
+that the urxvt binary is larger (due to some encoding tables always being
+compiled in), but it actually uses less memory (\s-1RSS\s0) after startup. Even
+with \f(CW\*(C`\-\-disable\-everything\*(C'\fR, this comparison is a bit unfair, as many
+features unique to urxvt (locale, encoding conversion, iso14755 etc.) are
+already in use in this mode.
+.PP
+.Vb 3
+\& text data bss drs rss filename
+\& 98398 1664 24 15695 1824 rxvt \-\-disable\-everything
+\& 188985 9048 66616 18222 1788 urxvt \-\-disable\-everything
+.Ve
+.PP
+When you \f(CW\*(C`\-\-enable\-everything\*(C'\fR (which \fIis\fR unfair, as this involves xft
+and full locale/XIM support which are quite bloaty inside libX11 and my
+libc), the two diverge, but not unreasonably so.
+.PP
+.Vb 3
+\& text data bss drs rss filename
+\& 163431 2152 24 20123 2060 rxvt \-\-enable\-everything
+\& 1035683 49680 66648 29096 3680 urxvt \-\-enable\-everything
+.Ve
+.PP
+The very large size of the text section is explained by the east-asian
+encoding tables, which, if unused, take up disk space but nothing else
+and can be compiled out unless you rely on X11 core fonts that use those
+encodings. The \s-1BSS\s0 size comes from the 64k emergency buffer that my c++
+compiler allocates (but of course doesn't use unless you are out of
+memory). Also, using an xft font instead of a core font immediately adds a
+few megabytes of \s-1RSS.\s0 Xft indeed is responsible for a lot of \s-1RSS\s0 even when
+not used.
+.PP
+Of course, due to every character using two or four bytes instead of one,
+a large scrollback buffer will ultimately make rxvt-unicode use more
+memory.
+.PP
+Compared to e.g. Eterm (5112k), aterm (3132k) and xterm (4680k), this
+still fares rather well. And compared to some monsters like gnome-terminal
+(21152k + extra 4204k in separate processes) or konsole (22200k + extra
+43180k in daemons that stay around after exit, plus half a minute of
+startup time, including the hundreds of warnings it spits out), it fares
+extremely well *g*.
+.PP
+\fIWhy \*(C+, isn't that unportable/bloated/uncool?\fR
+.IX Subsection "Why , isn't that unportable/bloated/uncool?"
+.PP
+Is this a question? :) It comes up very often. The simple answer is: I had
+to write it, and \*(C+ allowed me to write and maintain it in a fraction
+of the time and effort (which is a scarce resource for me). Put even
+shorter: It simply wouldn't exist without \*(C+.
+.PP
+My personal stance on this is that \*(C+ is less portable than C, but in
+the case of rxvt-unicode this hardly matters, as its portability limits
+are defined by things like X11, pseudo terminals, locale support and unix
+domain sockets, which are all less portable than \*(C+ itself.
+.PP
+Regarding the bloat, see the above question: It's easy to write programs
+in C that use gobs of memory, and certainly possible to write programs in
+\&\*(C+ that don't. \*(C+ also often comes with large libraries, but this is
+not necessarily the case with \s-1GCC.\s0 Here is what rxvt links against on my
+system with a minimal config:
+.PP
+.Vb 4
+\& libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00002aaaaabc3000)
+\& libc.so.6 => /lib/libc.so.6 (0x00002aaaaadde000)
+\& libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab01d000)
+\& /lib64/ld\-linux\-x86\-64.so.2 (0x00002aaaaaaab000)
+.Ve
+.PP
+And here is rxvt-unicode:
+.PP
+.Vb 5
+\& libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00002aaaaabc3000)
+\& libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00002aaaaada2000)
+\& libc.so.6 => /lib/libc.so.6 (0x00002aaaaaeb0000)
+\& libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab0ee000)
+\& /lib64/ld\-linux\-x86\-64.so.2 (0x00002aaaaaaab000)
+.Ve
+.PP
+No large bloated libraries (of course, none were linked in statically),
+except maybe libX11 :)
+.SS "Rendering, Font & Look and Feel Issues"
+.IX Subsection "Rendering, Font & Look and Feel Issues"
+\fII can't get transparency working, what am I doing wrong?\fR
+.IX Subsection "I can't get transparency working, what am I doing wrong?"
+.PP
+First of all, transparency isn't officially supported in rxvt-unicode, so
+you are mostly on your own. Do not bug the author about it (but you may
+bug everybody else). Also, if you can't get it working consider it a rite
+of passage: ... and you failed.
+.PP
+Here are four ways to get transparency. \fBDo\fR read the manpage and option
+descriptions for the programs mentioned and rxvt-unicode. Really, do it!
+.PP
+1. Use transparent mode:
+.PP
+.Vb 2
+\& Esetroot wallpaper.jpg
+\& @@URXVT_NAME@@ \-tr \-tint red \-sh 40
+.Ve
+.PP
+That works. If you think it doesn't, you lack transparency and tinting
+support, or you are unable to read.
+This method requires that the background-setting program sets the
+_XROOTPMAP_ID or \s-1ESETROOT_PMAP_ID\s0 property. Compatible programs
+are Esetroot, hsetroot and feh.
+.PP
+2. Use a simple pixmap and emulate pseudo-transparency. This enables you
+to use effects other than tinting and shading: Just shade/tint/whatever
+your picture with gimp or any other tool:
+.PP
+.Vb 2
+\& convert wallpaper.jpg \-blur 20x20 \-modulate 30 background.jpg
+\& @@URXVT_NAME@@ \-pixmap "background.jpg;:root"
+.Ve
+.PP
+That works. If you think it doesn't, you lack GDK-PixBuf support, or you
+are unable to read.
+.PP
+3. Use an \s-1ARGB\s0 visual:
+.PP
+.Vb 1
+\& @@URXVT_NAME@@ \-depth 32 \-fg grey90 \-bg rgba:0000/0000/4444/cccc
+.Ve
+.PP
+This requires \s-1XFT\s0 support, and the support of your X\-server. If that
+doesn't work for you, blame Xorg and Keith Packard. \s-1ARGB\s0 visuals aren't
+there yet, no matter what they claim. Rxvt-Unicode contains the necessary
+bugfixes and workarounds for Xft and Xlib to make it work, but that
+doesn't mean that your \s-1WM\s0 has the required kludges in place.
+.PP
+4. Use xcompmgr and let it do the job:
+.PP
+.Vb 2
+\& xprop \-frame \-f _NET_WM_WINDOW_OPACITY 32c \e
+\& \-set _NET_WM_WINDOW_OPACITY 0xc0000000
+.Ve
+.PP
+Then click on a window you want to make transparent. Replace \f(CW0xc0000000\fR
+by other values to change the degree of opacity. If it doesn't work and
+your server crashes, you got to keep the pieces.
+.PP
+\fIWhy does rxvt-unicode sometimes leave pixel droppings?\fR
+.IX Subsection "Why does rxvt-unicode sometimes leave pixel droppings?"
+.PP
+Most fonts were not designed for terminal use, which means that character
+size varies a lot. A font that is otherwise fine for terminal use might
+contain some characters that are simply too wide. Rxvt-unicode will avoid
+these characters. For characters that are just \*(L"a bit\*(R" too wide a special
+\&\*(L"careful\*(R" rendering mode is used that redraws adjacent characters.
+.PP
+All of this requires that fonts do not lie about character sizes,
+however: Xft fonts often draw glyphs larger than their acclaimed bounding
+box, and rxvt-unicode has no way of detecting this (the correct way is to
+ask for the character bounding box, which unfortunately is wrong in these
+cases).
+.PP
+It's not clear (to me at least), whether this is a bug in Xft, freetype,
+or the respective font. If you encounter this problem you might try using
+the \f(CW\*(C`\-lsp\*(C'\fR option to give the font more height. If that doesn't work, you
+might be forced to use a different font.
+.PP
+All of this is not a problem when using X11 core fonts, as their bounding
+box data is correct.
+.PP
+\fIHow can I keep rxvt-unicode from using reverse video so much?\fR
+.IX Subsection "How can I keep rxvt-unicode from using reverse video so much?"
+.PP
+First of all, make sure you are running with the right terminal settings
+(\f(CW\*(C`TERM=rxvt\-unicode\*(C'\fR), 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:
+.PP
+.Vb 2
+\& URxvt.colorBD: white
+\& URxvt.colorIT: green
+.Ve
+.PP
+\fISome programs assume totally weird colours (red instead of blue), how can I fix that?\fR
+.IX Subsection "Some programs assume totally weird colours (red instead of blue), how can I fix that?"
+.PP
+For some unexplainable reason, some rare programs 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.
+.PP
+In the meantime, you can either edit your \f(CW\*(C`rxvt\-unicode\*(C'\fR terminfo
+definition to only claim 8 colour support or use \f(CW\*(C`TERM=rxvt\*(C'\fR, which will
+fix colours but keep you from using other rxvt-unicode features.
+.PP
+\fICan I switch the fonts at runtime?\fR
+.IX Subsection "Can I switch the fonts at runtime?"
+.PP
+Yes, using an escape sequence. Try something like this, which has the same
+effect as using the \f(CW\*(C`\-fn\*(C'\fR switch, and takes effect immediately:
+.PP
+.Vb 1
+\& printf \*(Aq\e33]50;%s\e007\*(Aq "9x15bold,xft:Kochi Gothic"
+.Ve
+.PP
+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.
+.PP
+You can think of this as a kind of manual \s-1ISO\-2022\s0 switching.
+.PP
+\fIWhy do italic characters look as if clipped?\fR
+.IX Subsection "Why do italic characters look as if clipped?"
+.PP
+Many fonts have difficulties with italic characters and hinting. For
+example, the otherwise very nicely hinted font \f(CW\*(C`xft:Bitstream Vera Sans
+Mono\*(C'\fR completely fails in its italic face. A workaround might be to
+enable freetype autohinting, i.e. like this:
+.PP
+.Vb 2
+\& URxvt.italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true
+\& URxvt.boldItalicFont: xft:Bitstream Vera Sans Mono:bold:italic:autohint=true
+.Ve
+.PP
+\fICan I speed up Xft rendering somehow?\fR
+.IX Subsection "Can I speed up Xft rendering somehow?"
+.PP
+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 \f(CW\*(C`:antialias=false\*(C'\fR), which saves lots of
+memory and also speeds up rendering considerably.
+.PP
+\fIRxvt-unicode doesn't seem to anti-alias its fonts, what is wrong?\fR
+.IX Subsection "Rxvt-unicode doesn't seem to anti-alias its fonts, what is wrong?"
+.PP
+Rxvt-unicode will use whatever you specify as a font. If it needs to
+fall back to its default font search list it will prefer X11 core
+fonts, because they are small and fast, and then use Xft fonts. It has
+antialiasing disabled for most of them, because the author thinks they
+look best that way.
+.PP
+If you want antialiasing, you have to specify the fonts manually.
+.PP
+\fIWhat's with this bold/blink stuff?\fR
+.IX Subsection "What's with this bold/blink stuff?"
+.PP
+If no bold colour is set via \f(CW\*(C`colorBD:\*(C'\fR, bold will invert text using the
+standard foreground colour.
+.PP
+For the standard background colour, blinking will actually make
+the text blink when compiled with \f(CW\*(C`\-\-enable\-text\-blink\*(C'\fR. Without
+\&\f(CW\*(C`\-\-enable\-text\-blink\*(C'\fR, the blink attribute will be ignored.
+.PP
+On \s-1ANSI\s0 colours, bold/blink attributes are used to set high-intensity
+foreground/background colours.
+.PP
+color0\-7 are the low-intensity colours.
+.PP
+color8\-15 are the corresponding high-intensity colours.
+.PP
+\fII don't like the screen colours. How do I change them?\fR
+.IX Subsection "I don't like the screen colours. How do I change them?"
+.PP
+You can change the screen colours at run-time using \fI~/.Xdefaults\fR
+resources (or as long-options).
+.PP
+Here are values that are supposed to resemble a \s-1VGA\s0 screen,
+including the murky brown that passes for low-intensity yellow:
+.PP
+.Vb 8
+\& URxvt.color0: #000000
+\& URxvt.color1: #A80000
+\& URxvt.color2: #00A800
+\& URxvt.color3: #A8A800
+\& URxvt.color4: #0000A8
+\& URxvt.color5: #A800A8
+\& URxvt.color6: #00A8A8
+\& URxvt.color7: #A8A8A8
+\&
+\& URxvt.color8: #000054
+\& URxvt.color9: #FF0054
+\& URxvt.color10: #00FF54
+\& URxvt.color11: #FFFF54
+\& URxvt.color12: #0000FF
+\& URxvt.color13: #FF00FF
+\& URxvt.color14: #00FFFF
+\& URxvt.color15: #FFFFFF
+.Ve
+.PP
+And here is a more complete set of non-standard colours.
+.PP
+.Vb 10
+\& URxvt.cursorColor: #dc74d1
+\& URxvt.pointerColor: #dc74d1
+\& URxvt.background: #0e0e0e
+\& URxvt.foreground: #4ad5e1
+\& URxvt.color0: #000000
+\& URxvt.color8: #8b8f93
+\& URxvt.color1: #dc74d1
+\& URxvt.color9: #dc74d1
+\& URxvt.color2: #0eb8c7
+\& URxvt.color10: #0eb8c7
+\& URxvt.color3: #dfe37e
+\& URxvt.color11: #dfe37e
+\& URxvt.color5: #9e88f0
+\& URxvt.color13: #9e88f0
+\& URxvt.color6: #73f7ff
+\& URxvt.color14: #73f7ff
+\& URxvt.color7: #e1dddd
+\& URxvt.color15: #e1dddd
+.Ve
+.PP
+They have been described (not by me) as \*(L"pretty girly\*(R".
+.PP
+\fIWhy do some characters look so much different than others?\fR
+.IX Subsection "Why do some characters look so much different than others?"
+.PP
+See next entry.
+.PP
+\fIHow does rxvt-unicode choose fonts?\fR
+.IX Subsection "How does rxvt-unicode choose fonts?"
+.PP
+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.
+.PP
+\&\fBrxvt-unicode\fR makes a best-effort try at finding a replacement
+font. Often the result is fine, but sometimes the chosen font looks
+bad/ugly/wrong. Some fonts have totally strange characters that don't
+resemble the correct glyph at all, and rxvt-unicode lacks the artificial
+intelligence to detect that a specific glyph is wrong: it has to believe
+the font that the characters it claims to contain indeed look correct.
+.PP
+In that case, select a font of your taste and add it to the font list,
+e.g.:
+.PP
+.Vb 1
+\& @@URXVT_NAME@@ \-fn basefont,font2,font3...
+.Ve
+.PP
+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.
+.PP
+The only limitation is that none of the fonts may be larger than the base
+font, as the base font defines the terminal character cell size, which
+must be the same due to the way terminals work.
+.PP
+\fIWhy do some chinese characters look so different than others?\fR
+.IX Subsection "Why do some chinese characters look so different than others?"
+.PP
+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/chinese character, it might choose a japanese font for
+display. Subsequent japanese characters will use 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
+chinese characters that are also in the japanese font.
+.PP
+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.
+.PP
+In the future it might be possible to switch language 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).
+.PP
+Until then, you might get away with switching fonts at runtime (see \*(L"Can
+I switch the fonts at runtime?\*(R" later in this document).
+.PP
+\fIHow can I make mplayer display video correctly?\fR
+.IX Subsection "How can I make mplayer display video correctly?"
+.PP
+We are working on it, in the meantime, as a workaround, use something like:
+.PP
+.Vb 1
+\& @@URXVT_NAME@@ \-b 600 \-geometry 20x1 \-e sh \-c \*(Aqmplayer \-wid $WINDOWID file...\*(Aq
+.Ve
+.PP
+\fIWhy is the cursor now blinking in emacs/vi/...?\fR
+.IX Subsection "Why is the cursor now blinking in emacs/vi/...?"
+.PP
+This is likely caused by your editor/program's use of the \f(CW\*(C`cvvis\*(C'\fR
+terminfo capability. Emacs uses it by default, as well as some versions of
+vi and possibly other programs.
+.PP
+In emacs, you can switch that off by adding this to your \f(CW\*(C`.emacs\*(C'\fR file:
+.PP
+.Vb 1
+\& (setq visible\-cursor nil)
+.Ve
+.PP
+For other programs, if they do not have an option, your have to remove the
+\&\f(CW\*(C`cvvis\*(C'\fR capability from the terminfo description.
+.PP
+When @@URXVT_NAME@@ first added the blinking cursor option, it didn't
+add a \f(CW\*(C`cvvis\*(C'\fR capability, which served no purpose before. Version 9.21
+introduced \f(CW\*(C`cvvis\*(C'\fR (and the ability to control blinking independent of
+cursor shape) for compatibility with other terminals, which traditionally
+use a blinking cursor for \f(CW\*(C`cvvis\*(C'\fR. This also reflects the intent of
+programs such as emacs, who expect \f(CW\*(C`cvvis\*(C'\fR to enable a blinking cursor.
+.SS "Keyboard, Mouse & User Interaction"
+.IX Subsection "Keyboard, Mouse & User Interaction"
+\fIThe new selection selects pieces that are too big, how can I select single words?\fR
+.IX Subsection "The new selection selects pieces that are too big, how can I select single words?"
+.PP
+If you want to select e.g. alphanumeric words, you can use the following
+setting:
+.PP
+.Vb 1
+\& URxvt.selection.pattern\-0: ([[:word:]]+)
+.Ve
+.PP
+If you click more than twice, the selection will be extended
+more and more.
+.PP
+To get a selection that is very similar to the old code, try this pattern:
+.PP
+.Vb 1
+\& URxvt.selection.pattern\-0: ([^"&\*(Aq()*,;<=>?@[\e\e\e\e]^\`{|})]+)
+.Ve
+.PP
+Please also note that the \fILeftClick Shift-LeftClick\fR combination also
+selects words like the old code.
+.PP
+\fII don't like the new selection/popups/hotkeys/perl, how do I change/disable it?\fR
+.IX Subsection "I don't like the new selection/popups/hotkeys/perl, how do I change/disable it?"
+.PP
+You can disable the perl extension completely by setting the
+\&\fBperl-ext-common\fR resource to the empty string, which also keeps
+rxvt-unicode from initialising perl, saving memory.
+.PP
+If you only want to disable specific features, you first have to
+identify which perl extension is responsible. For this, read the section
+\&\fB\s-1PREPACKAGED EXTENSIONS\s0\fR in the @@URXVT_NAME@@\fIperl\fR\|(3) manpage. For
+example, to disable the \fBselection-popup\fR and \fBoption-popup\fR, specify
+this \fBperl-ext-common\fR resource:
+.PP
+.Vb 1
+\& URxvt.perl\-ext\-common: default,\-selection\-popup,\-option\-popup
+.Ve
+.PP
+This will keep the default extensions, but disable the two popup
+extensions. Some extensions can also be configured, for example,
+scrollback search mode is triggered by \fBM\-s\fR. You can move it to any
+other combination by adding a \fBkeysym\fR resource that binds the desired
+combination to the \f(CW\*(C`start\*(C'\fR action of \f(CW\*(C`searchable\-scrollback\*(C'\fR and another
+one that binds \fBM\-s\fR to the \f(CW\*(C`builtin:\*(C'\fR action:
+.PP
+.Vb 2
+\& URxvt.keysym.CM\-s: searchable\-scrollback:start
+\& URxvt.keysym.M\-s: builtin:
+.Ve
+.PP
+\fIThe cursor moves when selecting text in the current input line, how do I switch this off?\fR
+.IX Subsection "The cursor moves when selecting text in the current input line, how do I switch this off?"
+.PP
+See next entry.
+.PP
+\fIDuring rlogin/ssh/telnet/etc. sessions, clicking near the cursor outputs strange escape sequences, how do I fix this?\fR
+.IX Subsection "During rlogin/ssh/telnet/etc. sessions, clicking near the cursor outputs strange escape sequences, how do I fix this?"
+.PP
+These are caused by the \f(CW\*(C`readline\*(C'\fR perl extension. Under normal
+circumstances, it will move your cursor around when you click into the
+line that contains it. It tries hard not to do this at the wrong moment,
+but when running a program that doesn't parse cursor movements or in some
+cases during rlogin sessions, it fails to detect this properly.
+.PP
+You can permanently switch this feature off by disabling the \f(CW\*(C`readline\*(C'\fR
+extension:
+.PP
+.Vb 1
+\& URxvt.perl\-ext\-common: default,\-readline
+.Ve
+.PP
+\fIMy numeric keypad acts weird and generates differing output?\fR
+.IX Subsection "My numeric keypad acts weird and generates differing output?"
+.PP
+Some Debian GNU/Linux users seem to have this problem, although no
+specific details were reported so far. It is possible that this is caused
+by the wrong \f(CW\*(C`TERM\*(C'\fR setting, although the details of whether and how
+this can happen are unknown, as \f(CW\*(C`TERM=rxvt\*(C'\fR should offer a compatible
+keymap. See the answer to the previous question, and please report if that
+helped.
+.PP
+\fIMy Compose (Multi_key) key is no longer working.\fR
+.IX Subsection "My Compose (Multi_key) key is no longer working."
+.PP
+The most common causes for this are that either your locale is not set
+correctly, or you specified a \fBpreeditType\fR that is not supported by
+your input method. For example, if you specified \fBOverTheSpot\fR and
+your input method (e.g. the default input method handling Compose keys)
+does not support this (for instance because it is not visual), then
+rxvt-unicode will continue without an input method.
+.PP
+In this case either do not specify a \fBpreeditType\fR or specify more than
+one pre-edit style, such as \fBOverTheSpot,Root,None\fR.
+.PP
+If it still doesn't work, then maybe your input method doesn't support
+compose sequences \- to fall back to the built-in one, make sure you don't
+specify an input method via \f(CW\*(C`\-im\*(C'\fR or \f(CW\*(C`XMODIFIERS\*(C'\fR.
+.PP
+\fII cannot type \f(CI\*(C`Ctrl\-Shift\-2\*(C'\fI to get an \s-1ASCII NUL\s0 character due to \s-1ISO 14755\s0\fR
+.IX Subsection "I cannot type Ctrl-Shift-2 to get an ASCII NUL character due to ISO 14755"
+.PP
+Either try \f(CW\*(C`Ctrl\-2\*(C'\fR alone (it often is mapped to \s-1ASCII NUL\s0 even on
+international keyboards) or simply use \s-1ISO 14755\s0 support to your
+advantage, typing <Ctrl\-Shift\-0> to get a \s-1ASCII NUL.\s0 This works for other
+codes, too, such as \f(CW\*(C`Ctrl\-Shift\-1\-d\*(C'\fR to type the default telnet escape
+character and so on.
+.PP
+\fIMouse cut/paste suddenly no longer works.\fR
+.IX Subsection "Mouse cut/paste suddenly no longer works."
+.PP
+Make sure that mouse reporting is actually turned off since killing
+some editors prematurely may leave it active. I've
+heard that tcsh may use mouse reporting unless it is otherwise specified. A
+quick check is to see if cut/paste works when the Alt or Shift keys are
+pressed.
+.PP
+\fIWhat's with the strange Backspace/Delete key behaviour?\fR
+.IX Subsection "What's with the strange Backspace/Delete key behaviour?"
+.PP
+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: \f(CW\*(C`^H\*(C'\fR and \f(CW\*(C`^?\*(C'\fR.
+.PP
+Historically, either value is correct, but rxvt-unicode adopts the debian
+policy of using \f(CW\*(C`^?\*(C'\fR when unsure, because it's the one and only correct
+choice :).
+.PP
+It is possible to toggle between \f(CW\*(C`^H\*(C'\fR and \f(CW\*(C`^?\*(C'\fR with the \s-1DECBKM\s0
+private mode:
+.PP
+.Vb 3
+\& # use Backspace = ^H
+\& $ stty erase ^H
+\& $ printf "\ee[?67h"
+\&
+\& # use Backspace = ^?
+\& $ stty erase ^?
+\& $ printf "\ee[?67l"
+.Ve
+.PP
+This helps satisfy some of the Backspace discrepancies that occur, but
+if you use Backspace = \f(CW\*(C`^H\*(C'\fR, make sure that the termcap/terminfo value
+properly reflects that.
+.PP
+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
+(\f(CW\*(C`ESC [ 3 ~\*(C'\fR) and is in the supplied termcap/terminfo.
+.PP
+Some other Backspace problems:
+.PP
+some editors use termcap/terminfo,
+some editors (vim I'm told) expect Backspace = ^H,
+\&\s-1GNU\s0 Emacs (and Emacs-like editors) use ^H for help.
+.PP
+Perhaps someday this will all be resolved in a consistent manner.
+.PP
+\fII don't like the key-bindings. How do I change them?\fR
+.IX Subsection "I don't like the key-bindings. How do I change them?"
+.PP
+There are some compile-time selections available via configure. Unless
+you have run \*(L"configure\*(R" with the \f(CW\*(C`\-\-disable\-resources\*(C'\fR option you can
+use the `keysym' resource to alter the keystrings associated with keysyms.
+.PP
+Here's an example for a URxvt session started using \f(CW\*(C`@@URXVT_NAME@@ \-name URxvt\*(C'\fR
+.PP
+.Vb 8
+\& URxvt.keysym.Prior: \e033[5~
+\& URxvt.keysym.Next: \e033[6~
+\& URxvt.keysym.Home: \e033[7~
+\& URxvt.keysym.End: \e033[8~
+\& URxvt.keysym.Up: \e033[A
+\& URxvt.keysym.Down: \e033[B
+\& URxvt.keysym.Right: \e033[C
+\& URxvt.keysym.Left: \e033[D
+.Ve
+.PP
+See some more examples in the documentation for the \fBkeysym\fR resource.
+.PP
+\fII'm using keyboard model \s-1XXX\s0 that has extra Prior/Next/Insert keys. How do I make use of them? For example, the Sun Keyboard type 4 has the following map\fR
+.IX Subsection "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 map"
+.PP
+.Vb 6
+\& KP_Insert == Insert
+\& F22 == Print
+\& F27 == Home
+\& F29 == Prior
+\& F33 == End
+\& F35 == Next
+.Ve
+.PP
+Rather than have rxvt-unicode try to accommodate all the various possible
+keyboard mappings, it is better to use `xmodmap' to remap the keys as
+required for your particular machine.
+.SS "Terminal Configuration"
+.IX Subsection "Terminal Configuration"
+\fICan I see a typical configuration?\fR
+.IX Subsection "Can I see a typical configuration?"
+.PP
+The default configuration tries to be xterm-like, which I don't like that
+much, but it's least surprise to regular users.
+.PP
+As a rxvt or rxvt-unicode user, you are practically supposed to invest
+time into customising your