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

Comparing rxvt-unicode/doc/rxvt.7.pod (file contents):
Revision 1.89 by root, Wed Jan 18 21:00:39 2006 UTC vs.
Revision 1.108 by root, Tue Jan 31 21:04:56 2006 UTC

16=head1 DESCRIPTION 16=head1 DESCRIPTION
17 17
18This document contains the FAQ, the RXVT TECHNICAL REFERENCE documenting 18This document contains the FAQ, the RXVT TECHNICAL REFERENCE documenting
19all escape sequences, and other background information. 19all escape sequences, and other background information.
20 20
21The newest version of this document is 21The newest version of this document is also available on the World Wide Web at
22also available on the World Wide Web at
23L<http://cvs.schmorp.de/browse/*checkout*/rxvt-unicode/doc/rxvt.7.html>. 22L<http://cvs.schmorp.de/browse/*checkout*/rxvt-unicode/doc/rxvt.7.html>.
24 23
25=head1 FREQUENTLY ASKED QUESTIONS 24=head1 RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
26 25
27=over 4
28 26
29=item The new selection selects pieces that are too big, how can I select 27=head2 Meta, Features & Commandline Issues
30single words?
31 28
32Yes. For example, if you want to select alphanumeric words, you can use 29=head3 My question isn't answered here, can I ask a human?
33the following resource:
34 30
35 URxvt.selection.pattern-0: ([[:word:]]+) 31Before sending me mail, you could go to IRC: C<irc.freenode.net>,
32channel C<#rxvt-unicode> has some rxvt-unicode enthusiasts that might be
33interested in learning about new and exciting problems (but not FAQs :).
36 34
37If you click more than twice, the selection will be extended 35=head3 Does it support tabs, can I have a tabbed rxvt-unicode?
38more and more.
39 36
40To get a selection that is very similar to the old code, try this pattern: 37Beginning with version 7.3, there is a perl extension that implements a
38simple tabbed terminal. It is installed by default, so any of these should
39give you tabs:
41 40
42 URxvt.selection.pattern-0: ([^"&'()*,;<=>?@[\\\\]^`{|})]+) 41 @@URXVT_NAME@@ -pe tabbed
43 42
44Please also note that the I<LeftClick Shift-LeftClik> combination also 43 URxvt.perl-ext-common: default,tabbed
45selects words like the old code.
46 44
47=item I don't like the new selection/popups/hotkeys/perl, how do I 45It will also work fine with tabbing functionality of many window managers
48change/disable it? 46or similar tabbing programs, and its embedding-features allow it to be
47embedded into other programs, as witnessed by F<doc/rxvt-tabbed> or
48the upcoming C<Gtk2::URxvt> perl module, which features a tabbed urxvt
49(murxvt) terminal as an example embedding application.
49 50
50You can disable the perl extension completely by setting the 51=head3 How do I know which rxvt-unicode version I'm using?
51B<perl-ext-common> resource to the empty string, which also keeps
52rxvt-unicode from initialising perl, saving memory.
53 52
54If you only want to disable specific features, you first have to 53The version number is displayed with the usage (-h). Also the escape
55identify which perl extension is responsible. For this, read the section 54sequence C<ESC [ 8 n> sets the window title to the version number. When
56B<PREPACKAGED EXTENSIONS> in the @@RXVT_NAME@@perl(3) manpage. For 55using the @@URXVT_NAME@@c client, the version displayed is that of the
57example, to disable the B<selection-popup> and B<option-popup>, specify 56daemon.
58this B<perl-ext-common> resource:
59 57
60 URxvt.perl-ext-common: default,-selection-popup,-option-popup 58=head3 Rxvt-unicode uses gobs of memory, how can I reduce that?
61 59
62This will keep the default extensions, but disable the two popup 60Rxvt-unicode tries to obey the rule of not charging you for something you
63extensions. Some extensions can also be configured, for example, 61don't use. One thing you should try is to configure out all settings that
64scrollback search mode is triggered by B<M-s>. You can move it to any 62you don't need, for example, Xft support is a resource hog by design,
65other combination either by setting the B<searchable-scrollback> resource: 63when used. Compiling it out ensures that no Xft font will be loaded
64accidentally when rxvt-unicode tries to find a font for your characters.
66 65
67 URxvt.searchable-scrollback: CM-s 66Also, many people (me included) like large windows and even larger
67scrollback buffers: Without C<--enable-unicode3>, rxvt-unicode will use
686 bytes per screen cell. For a 160x?? window this amounts to almost a
69kilobyte per line. A scrollback buffer of 10000 lines will then (if full)
70use 10 Megabytes of memory. With C<--enable-unicode3> it gets worse, as
71rxvt-unicode then uses 8 bytes per screen cell.
68 72
73=head3 How can I start @@URXVT_NAME@@d in a race-free way?
74
75Try C<@@URXVT_NAME@@d -f -o>, which tells @@URXVT_NAME@@d to open the
76display, create the listening socket and then fork.
77
78=head3 How do I distinguish wether I'm running rxvt-unicode or a regular xterm? I need this to decide about setting colors etc.
79
80The original rxvt and rxvt-unicode always export the variable "COLORTERM",
81so you can check and see if that is set. Note that several programs, JED,
82slrn, Midnight Commander automatically check this variable to decide
83whether or not to use color.
84
85=head3 How do I set the correct, full IP address for the DISPLAY variable?
86
87If you've compiled rxvt-unicode with DISPLAY_IS_IP and have enabled
88insecure mode then it is possible to use the following shell script
89snippets to correctly set the display. If your version of rxvt-unicode
90wasn't also compiled with ESCZ_ANSWER (as assumed in these snippets) then
91the COLORTERM variable can be used to distinguish rxvt-unicode from a
92regular xterm.
93
94Courtesy of Chuck Blake <cblake@BBN.COM> with the following shell script
95snippets:
96
97 # Bourne/Korn/POSIX family of shells:
98 [ ${TERM:-foo} = foo ] && TERM=xterm # assume an xterm if we don't know
99 if [ ${TERM:-foo} = xterm ]; then
100 stty -icanon -echo min 0 time 15 # see if enhanced rxvt or not
101 echo -n '^[Z'
102 read term_id
103 stty icanon echo
104 if [ ""${term_id} = '^[[?1;2C' -a ${DISPLAY:-foo} = foo ]; then
105 echo -n '^[[7n' # query the rxvt we are in for the DISPLAY string
106 read DISPLAY # set it in our local shell
107 fi
108 fi
109
110=head3 How do I compile the manual pages on my own?
111
112You need to have a recent version of perl installed as F</usr/bin/perl>,
113one that comes with F<pod2man>, F<pod2text> and F<pod2html>. Then go to
114the doc subdirectory and enter C<make alldoc>.
115
69=item Isn't rxvt supposed to be small? Don't all those features bloat? 116=head3 Isn't rxvt-unicode supposed to be small? Don't all those features bloat?
70 117
71I often get asked about this, and I think, no, they didn't cause extra 118I often get asked about this, and I think, no, they didn't cause extra
72bloat. If you compare a minimal rxvt and a minimal urxvt, you can see 119bloat. If you compare a minimal rxvt and a minimal urxvt, you can see
73that the urxvt binary is larger (due to some encoding tables always being 120that the urxvt binary is larger (due to some encoding tables always being
74compiled in), but it actually uses less memory (RSS) after startup. Even 121compiled in), but it actually uses less memory (RSS) after startup. Even
78 125
79 text data bss drs rss filename 126 text data bss drs rss filename
80 98398 1664 24 15695 1824 rxvt --disable-everything 127 98398 1664 24 15695 1824 rxvt --disable-everything
81 188985 9048 66616 18222 1788 urxvt --disable-everything 128 188985 9048 66616 18222 1788 urxvt --disable-everything
82 129
83When you C<--enable-everything> (which _is_ unfair, as this involves xft 130When you C<--enable-everything> (which I<is> unfair, as this involves xft
84and full locale/XIM support which are quite bloaty inside libX11 and my 131and full locale/XIM support which are quite bloaty inside libX11 and my
85libc), the two diverge, but not unreasnobaly so. 132libc), the two diverge, but not unreasnobaly so.
86 133
87 text data bss drs rss filename 134 text data bss drs rss filename
88 163431 2152 24 20123 2060 rxvt --enable-everything 135 163431 2152 24 20123 2060 rxvt --enable-everything
106(21152k + extra 4204k in separate processes) or konsole (22200k + extra 153(21152k + extra 4204k in separate processes) or konsole (22200k + extra
10743180k in daemons that stay around after exit, plus half a minute of 15443180k in daemons that stay around after exit, plus half a minute of
108startup time, including the hundreds of warnings it spits out), it fares 155startup time, including the hundreds of warnings it spits out), it fares
109extremely well *g*. 156extremely well *g*.
110 157
111=item Why C++, isn't that unportable/bloated/uncool? 158=head3 Why C++, isn't that unportable/bloated/uncool?
112 159
113Is this a question? :) It comes up very often. The simple answer is: I had 160Is this a question? :) It comes up very often. The simple answer is: I had
114to write it, and C++ allowed me to write and maintain it in a fraction 161to write it, and C++ allowed me to write and maintain it in a fraction
115of the time and effort (which is a scarce resource for me). Put even 162of the time and effort (which is a scarce resource for me). Put even
116shorter: It simply wouldn't exist without C++. 163shorter: It simply wouldn't exist without C++.
140 /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000) 187 /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000)
141 188
142No large bloated libraries (of course, none were linked in statically), 189No large bloated libraries (of course, none were linked in statically),
143except maybe libX11 :) 190except maybe libX11 :)
144 191
145=item Does it support tabs, can I have a tabbed rxvt-unicode?
146 192
147rxvt-unicode does not directly support tabs. It will work fine with 193=head2 Rendering, Font & Look and Feel Issues
148tabbing functionality of many window managers or similar tabbing programs,
149and its embedding-features allow it to be embedded into other programs,
150as witnessed by F<doc/rxvt-tabbed> or the upcoming C<Gtk2::URxvt> perl
151module, which features a tabbed urxvt (murxvt) terminal as an example
152embedding application.
153 194
154=item How do I know which rxvt-unicode version I'm using? 195=head3 I can't get transparency working, what am I doing wrong?
155 196
156The version number is displayed with the usage (-h). Also the escape 197First of all, transparency isn't officially supported in rxvt-unicode, so
157sequence C<ESC [ 8 n> sets the window title to the version number. When 198you are mostly on your own. Do not bug the author about it (but you may
158using the @@RXVT_NAME@@c client, the version displayed is that of the 199bug everybody else). Also, if you can't get it working consider it a rite
159daemon. 200of passage: ... and you failed.
160 201
161=item I am using Debian GNU/Linux and have a problem... 202Here are four ways to get transparency. B<Do> read the manpage and option
203descriptions for the programs mentioned and rxvt-unicode. Really, do it!
162 204
163The Debian GNU/Linux package of rxvt-unicode in sarge contains large 2051. Use inheritPixmap:
164patches that considerably change the behaviour of rxvt-unicode (but
165unfortunately this notice has been removed). Before reporting a bug to
166the original rxvt-unicode author please download and install the genuine
167version (L<http://software.schmorp.de#rxvt-unicode>) and try to reproduce
168the problem. If you cannot, chances are that the problems are specific to
169Debian GNU/Linux, in which case it should be reported via the Debian Bug
170Tracking System (use C<reportbug> to report the bug).
171 206
172For other problems that also affect the Debian package, you can and 207 Esetroot wallpaper.jpg
173probably should use the Debian BTS, too, because, after all, it's also a 208 @@URXVT_NAME@@ -ip -tint red -sh 40
174bug in the Debian version and it serves as a reminder for other users that
175might encounter the same issue.
176 209
177=item I am maintaining rxvt-unicode for distribution/OS XXX, any 210That works. If you think it doesn't, you lack transparency and tinting
178recommendation? 211support, or you are unable to read.
179 212
180You should build one binary with the default options. F<configure> 2132. Use a simple pixmap and emulate pseudo-transparency. This enables you
181now enables most useful options, and the trend goes to making them 214to use effects other than tinting and shading: Just shade/tint/whatever
182runtime-switchable, too, so there is usually no drawback to enbaling them, 215your picture with gimp or any other tool:
183except higher disk and possibly memory usage. The perl interpreter should
184be enabled, as important functionality (menus, selection, likely more in
185the future) depends on it.
186 216
187You should not overwrite the C<perl-ext-common> snd C<perl-ext> resources 217 convert wallpaper.jpg -blur 20x20 -modulate 30 background.xpm
188system-wide (except maybe with C<defaults>). This will result in useful 218 @@URXVT_NAME@@ -pixmap background.xpm -pe automove-background
189behaviour. If your distribution aims at low memory, add an empty
190C<perl-ext-common> resource to the app-defaults file. This will keep the
191perl interpreter disabled until the user enables it.
192 219
193If you can/want build more binaries, I recommend building a minimal 220That works. If you think it doesn't, you lack XPM and Perl support, or you
194one with C<--disable-everything> (very useful) and a maximal one with 221are unable to read.
195C<--enable-everything> (less useful, it will be very big due to a lot of
196encodings built-in that increase download times and are rarely used).
197 222
198=item I need to make it setuid/setgid to support utmp/ptys on my OS, is this safe? 2233. Use an ARGB visual:
199 224
200It should be, starting with release 7.1. You are encouraged to properly 225 @@URXVT_NAME@@ -depth 32 -fg grey90 -bg rgba:0000/0000/4444/cccc
201install urxvt with privileges necessary for your OS now.
202 226
203When rxvt-unicode detects that it runs setuid or setgid, it will fork 227This requires XFT support, and the support of your X-server. If that
204into a helper process for privileged operations (pty handling on some 228doesn't work for you, blame Xorg and Keith Packard. ARGB visuals aren't
205systems, utmp/wtmp/lastlog handling on others) and drop privileges 229there yet, no matter what they claim. Rxvt-Unicode contains the neccessary
206immediately. This is much safer than most other terminals that keep 230bugfixes and workarounds for Xft and Xlib to make it work, but that
207privileges while running (but is more relevant to urxvt, as it contains 231doesn't mean that your WM has the required kludges in place.
208things as perl interpreters, which might be "helpful" to attackers).
209 232
210This forking is done as the very first within main(), which is very early 2334. Use xcompmgr and let it do the job:
211and reduces possible bugs to initialisation code run before main(), or
212things like the dynamic loader of your system, which should result in very
213little risk.
214 234
235 xprop -frame -f _NET_WM_WINDOW_OPACITY 32c \
236 -set _NET_WM_WINDOW_OPACITY 0xc0000000
237
238Then click on a window you want to make transparent. Replace C<0xc0000000>
239by other values to change the degree of opacity. If it doesn't work and
240your server crashes, you got to keep the pieces.
241
242=head3 Why do some chinese characters look so different than others?
243
244This is because there is a difference between script and language --
245rxvt-unicode does not know which language the text that is output is,
246as it only knows the unicode character codes. If rxvt-unicode first
247sees a japanese/chinese character, it might choose a japanese font for
248display. Subsequent japanese characters will use that font. Now, many
249chinese characters aren't represented in japanese fonts, so when the first
250non-japanese character comes up, rxvt-unicode will look for a chinese font
251-- unfortunately at this point, it will still use the japanese font for
252chinese characters that are also in the japanese font.
253
254The workaround is easy: just tag a chinese font at the end of your font
255list (see the previous question). The key is to view the font list as
256a preference list: If you expect more japanese, list a japanese font
257first. If you expect more chinese, put a chinese font first.
258
259In the future it might be possible to switch language preferences at
260runtime (the internal data structure has no problem with using different
261fonts for the same character at the same time, but no interface for this
262has been designed yet).
263
264Until then, you might get away with switching fonts at runtime (see L<Can
265I switch the fonts at runtime?> later in this document).
266
267=head3 Why does rxvt-unicode sometimes leave pixel droppings?
268
269Most fonts were not designed for terminal use, which means that character
270size varies a lot. A font that is otherwise fine for terminal use might
271contain some characters that are simply too wide. Rxvt-unicode will avoid
272these characters. For characters that are just "a bit" too wide a special
273"careful" rendering mode is used that redraws adjacent characters.
274
275All of this requires that fonts do not lie about character sizes,
276however: Xft fonts often draw glyphs larger than their acclaimed bounding
277box, and rxvt-unicode has no way of detecting this (the correct way is to
278ask for the character bounding box, which unfortunately is wrong in these
279cases).
280
281It's not clear (to me at least), wether this is a bug in Xft, freetype,
282or the respective font. If you encounter this problem you might try using
283the C<-lsp> option to give the font more height. If that doesn't work, you
284might be forced to use a different font.
285
286All of this is not a problem when using X11 core fonts, as their bounding
287box data is correct.
288
289=head3 How can I keep rxvt-unicode from using reverse video so much?
290
291First of all, make sure you are running with the right terminal settings
292(C<TERM=rxvt-unicode>), which will get rid of most of these effects. Then
293make sure you have specified colours for italic and bold, as otherwise
294rxvt-unicode might use reverse video to simulate the effect:
295
296 URxvt.colorBD: white
297 URxvt.colorIT: green
298
299=head3 Some programs assume totally weird colours (red instead of blue), how can I fix that?
300
301For some unexplainable reason, some rare programs assume a very weird
302colour palette when confronted with a terminal with more than the standard
3038 colours (rxvt-unicode supports 88). The right fix is, of course, to fix
304these programs not to assume non-ISO colours without very good reasons.
305
306In the meantime, you can either edit your C<rxvt-unicode> terminfo
307definition to only claim 8 colour support or use C<TERM=rxvt>, which will
308fix colours but keep you from using other rxvt-unicode features.
309
310=head3 Can I switch the fonts at runtime?
311
312Yes, using an escape sequence. Try something like this, which has the same
313effect as using the C<-fn> switch, and takes effect immediately:
314
315 printf '\e]50;%s\007' "9x15bold,xft:Kochi Gothic"
316
317This is useful if you e.g. work primarily with japanese (and prefer a
318japanese font), but you have to switch to chinese temporarily, where
319japanese fonts would only be in your way.
320
321You can think of this as a kind of manual ISO-2022 switching.
322
323=head3 Why do italic characters look as if clipped?
324
325Many fonts have difficulties with italic characters and hinting. For
326example, the otherwise very nicely hinted font C<xft:Bitstream Vera Sans
327Mono> completely fails in it's italic face. A workaround might be to
328enable freetype autohinting, i.e. like this:
329
330 URxvt.italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true
331 URxvt.boldItalicFont: xft:Bitstream Vera Sans Mono:bold:italic:autohint=true
332
333=head3 Can I speed up Xft rendering somehow?
334
335Yes, the most obvious way to speed it up is to avoid Xft entirely, as
336it is simply slow. If you still want Xft fonts you might try to disable
337antialiasing (by appending C<:antialias=false>), which saves lots of
338memory and also speeds up rendering considerably.
339
340=head3 Rxvt-unicode doesn't seem to anti-alias its fonts, what is wrong?
341
342Rxvt-unicode will use whatever you specify as a font. If it needs to
343fall back to it's default font search list it will prefer X11 core
344fonts, because they are small and fast, and then use Xft fonts. It has
345antialiasing disabled for most of them, because the author thinks they
346look best that way.
347
348If you want antialiasing, you have to specify the fonts manually.
349
350=head3 What's with this bold/blink stuff?
351
352If no bold colour is set via C<colorBD:>, bold will invert text using the
353standard foreground colour.
354
355For the standard background colour, blinking will actually make the
356text blink when compiled with C<--enable-blinking>. with standard
357colours. Without C<--enable-blinking>, the blink attribute will be
358ignored.
359
360On ANSI colours, bold/blink attributes are used to set high-intensity
361foreground/background colors.
362
363color0-7 are the low-intensity colors.
364
365color8-15 are the corresponding high-intensity colors.
366
367=head3 I don't like the screen colors. How do I change them?
368
369You can change the screen colors at run-time using F<~/.Xdefaults>
370resources (or as long-options).
371
372Here are values that are supposed to resemble a VGA screen,
373including the murky brown that passes for low-intensity yellow:
374
375 URxvt.color0: #000000
376 URxvt.color1: #A80000
377 URxvt.color2: #00A800
378 URxvt.color3: #A8A800
379 URxvt.color4: #0000A8
380 URxvt.color5: #A800A8
381 URxvt.color6: #00A8A8
382 URxvt.color7: #A8A8A8
383
384 URxvt.color8: #000054
385 URxvt.color9: #FF0054
386 URxvt.color10: #00FF54
387 URxvt.color11: #FFFF54
388 URxvt.color12: #0000FF
389 URxvt.color13: #FF00FF
390 URxvt.color14: #00FFFF
391 URxvt.color15: #FFFFFF
392
393And here is a more complete set of non-standard colors.
394
395 URxvt.cursorColor: #dc74d1
396 URxvt.pointerColor: #dc74d1
397 URxvt.background: #0e0e0e
398 URxvt.foreground: #4ad5e1
399 URxvt.color0: #000000
400 URxvt.color8: #8b8f93
401 URxvt.color1: #dc74d1
402 URxvt.color9: #dc74d1
403 URxvt.color2: #0eb8c7
404 URxvt.color10: #0eb8c7
405 URxvt.color3: #dfe37e
406 URxvt.color11: #dfe37e
407 URxvt.color5: #9e88f0
408 URxvt.color13: #9e88f0
409 URxvt.color6: #73f7ff
410 URxvt.color14: #73f7ff
411 URxvt.color7: #e1dddd
412 URxvt.color15: #e1dddd
413
414(They were described (not by me) as "pretty girly").
415
416=head3 How does rxvt-unicode choose fonts?
417
418Most fonts do not contain the full range of Unicode, which is
419fine. Chances are that the font you (or the admin/package maintainer of
420your system/os) have specified does not cover all the characters you want
421to display.
422
423B<rxvt-unicode> makes a best-effort try at finding a replacement
424font. Often the result is fine, but sometimes the chosen font looks
425bad/ugly/wrong. Some fonts have totally strange characters that don't
426resemble the correct glyph at all, and rxvt-unicode lacks the artificial
427intelligence to detect that a specific glyph is wrong: it has to believe
428the font that the characters it claims to contain indeed look correct.
429
430In that case, select a font of your taste and add it to the font list,
431e.g.:
432
433 @@URXVT_NAME@@ -fn basefont,font2,font3...
434
435When rxvt-unicode sees a character, it will first look at the base
436font. If the base font does not contain the character, it will go to the
437next font, and so on. Specifying your own fonts will also speed up this
438search and use less resources within rxvt-unicode and the X-server.
439
440The only limitation is that none of the fonts may be larger than the base
441font, as the base font defines the terminal character cell size, which
442must be the same due to the way terminals work.
443
444
445=head2 Keyboard, Mouse & User Interaction
446
447=head3 The new selection selects pieces that are too big, how can I select single words?
448
449If you want to select e.g. alphanumeric words, you can use the following
450setting:
451
452 URxvt.selection.pattern-0: ([[:word:]]+)
453
454If you click more than twice, the selection will be extended
455more and more.
456
457To get a selection that is very similar to the old code, try this pattern:
458
459 URxvt.selection.pattern-0: ([^"&'()*,;<=>?@[\\\\]^`{|})]+)
460
461Please also note that the I<LeftClick Shift-LeftClik> combination also
462selects words like the old code.
463
464=head3 I don't like the new selection/popups/hotkeys/perl, how do I change/disable it?
465
466You can disable the perl extension completely by setting the
467B<perl-ext-common> resource to the empty string, which also keeps
468rxvt-unicode from initialising perl, saving memory.
469
470If you only want to disable specific features, you first have to
471identify which perl extension is responsible. For this, read the section
472B<PREPACKAGED EXTENSIONS> in the @@URXVT_NAME@@perl(3) manpage. For
473example, to disable the B<selection-popup> and B<option-popup>, specify
474this B<perl-ext-common> resource:
475
476 URxvt.perl-ext-common: default,-selection-popup,-option-popup
477
478This will keep the default extensions, but disable the two popup
479extensions. Some extensions can also be configured, for example,
480scrollback search mode is triggered by B<M-s>. You can move it to any
481other combination either by setting the B<searchable-scrollback> resource:
482
483 URxvt.searchable-scrollback: CM-s
484
485=head3 The cursor moves when selecting text in the current input line, how do I switch this off?
486
487See next entry.
488
489=head3 During rlogin/ssh/telnet/etc. sessions, clicking near the cursor outputs strange escape sequences, how do I fix this?
490
491These are caused by the C<readline> perl extension. Under normal
492circumstances, it will move your cursor around when you click into the
493line that contains it. It tries hard not to do this at the wrong moment,
494but when running a program that doesn't parse cursor movements or in some
495cases during rlogin sessions, it fails to detect this properly.
496
497You can permamently switch this feature off by disabling the C<readline>
498extension:
499
500 URxvt.perl-ext-common: default,-readline
501
502=head3 My numerical keypad acts weird and generates differing output?
503
504Some Debian GNUL/Linux users seem to have this problem, although no
505specific details were reported so far. It is possible that this is caused
506by the wrong C<TERM> setting, although the details of wether and how
507this can happen are unknown, as C<TERM=rxvt> should offer a compatible
508keymap. See the answer to the previous question, and please report if that
509helped.
510
511=head3 My Compose (Multi_key) key is no longer working.
512
513The most common causes for this are that either your locale is not set
514correctly, or you specified a B<preeditStyle> that is not supported by
515your input method. For example, if you specified B<OverTheSpot> and
516your input method (e.g. the default input method handling Compose keys)
517does not support this (for instance because it is not visual), then
518rxvt-unicode will continue without an input method.
519
520In this case either do not specify a B<preeditStyle> or specify more than
521one pre-edit style, such as B<OverTheSpot,Root,None>.
522
523=head3 I cannot type C<Ctrl-Shift-2> to get an ASCII NUL character due to ISO 14755
524
525Either try C<Ctrl-2> alone (it often is mapped to ASCII NUL even on
526international keyboards) or simply use ISO 14755 support to your
527advantage, typing <Ctrl-Shift-0> to get a ASCII NUL. This works for other
528codes, too, such as C<Ctrl-Shift-1-d> to type the default telnet escape
529character and so on.
530
531=head3 Mouse cut/paste suddenly no longer works.
532
533Make sure that mouse reporting is actually turned off since killing
534some editors prematurely may leave the mouse in mouse report mode. I've
535heard that tcsh may use mouse reporting unless it otherwise specified. A
536quick check is to see if cut/paste works when the Alt or Shift keys are
537depressed.
538
539=head3 What's with the strange Backspace/Delete key behaviour?
540
541Assuming that the physical Backspace key corresponds to the
542BackSpace keysym (not likely for Linux ... see the following
543question) there are two standard values that can be used for
544Backspace: C<^H> and C<^?>.
545
546Historically, either value is correct, but rxvt-unicode adopts the debian
547policy of using C<^?> when unsure, because it's the one only only correct
548choice :).
549
550Rxvt-unicode tries to inherit the current stty settings and uses the value
551of `erase' to guess the value for backspace. If rxvt-unicode wasn't
552started from a terminal (say, from a menu or by remote shell), then the
553system value of `erase', which corresponds to CERASE in <termios.h>, will
554be used (which may not be the same as your stty setting).
555
556For starting a new rxvt-unicode:
557
558 # use Backspace = ^H
559 $ stty erase ^H
560 $ @@URXVT_NAME@@
561
562 # use Backspace = ^?
563 $ stty erase ^?
564 $ @@URXVT_NAME@@
565
566Toggle with C<ESC [ 36 h> / C<ESC [ 36 l>.
567
568For an existing rxvt-unicode:
569
570 # use Backspace = ^H
571 $ stty erase ^H
572 $ echo -n "^[[36h"
573
574 # use Backspace = ^?
575 $ stty erase ^?
576 $ echo -n "^[[36l"
577
578This helps satisfy some of the Backspace discrepancies that occur, but
579if you use Backspace = C<^H>, make sure that the termcap/terminfo value
580properly reflects that.
581
582The Delete key is a another casualty of the ill-defined Backspace problem.
583To avoid confusion between the Backspace and Delete keys, the Delete
584key has been assigned an escape sequence to match the vt100 for Execute
585(C<ESC [ 3 ~>) and is in the supplied termcap/terminfo.
586
587Some other Backspace problems:
588
589some editors use termcap/terminfo,
590some editors (vim I'm told) expect Backspace = ^H,
591GNU Emacs (and Emacs-like editors) use ^H for help.
592
593Perhaps someday this will all be resolved in a consistent manner.
594
595=head3 I don't like the key-bindings. How do I change them?
596
597There are some compile-time selections available via configure. Unless
598you have run "configure" with the C<--disable-resources> option you can
599use the `keysym' resource to alter the keystrings associated with keysyms.
600
601Here's an example for a URxvt session started using C<@@URXVT_NAME@@ -name URxvt>
602
603 URxvt.keysym.Home: \033[1~
604 URxvt.keysym.End: \033[4~
605 URxvt.keysym.C-apostrophe: \033<C-'>
606 URxvt.keysym.C-slash: \033<C-/>
607 URxvt.keysym.C-semicolon: \033<C-;>
608 URxvt.keysym.C-grave: \033<C-`>
609 URxvt.keysym.C-comma: \033<C-,>
610 URxvt.keysym.C-period: \033<C-.>
611 URxvt.keysym.C-0x60: \033<C-`>
612 URxvt.keysym.C-Tab: \033<C-Tab>
613 URxvt.keysym.C-Return: \033<C-Return>
614 URxvt.keysym.S-Return: \033<S-Return>
615 URxvt.keysym.S-space: \033<S-Space>
616 URxvt.keysym.M-Up: \033<M-Up>
617 URxvt.keysym.M-Down: \033<M-Down>
618 URxvt.keysym.M-Left: \033<M-Left>
619 URxvt.keysym.M-Right: \033<M-Right>
620 URxvt.keysym.M-C-0: list \033<M-C- 0123456789 >
621 URxvt.keysym.M-C-a: list \033<M-C- abcdefghijklmnopqrstuvwxyz >
622 URxvt.keysym.F12: command:\033]701;zh_CN.GBK\007
623
624See some more examples in the documentation for the B<keysym> resource.
625
626=head3 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
627
628 KP_Insert == Insert
629 F22 == Print
630 F27 == Home
631 F29 == Prior
632 F33 == End
633 F35 == Next
634
635Rather than have rxvt-unicode try to accommodate all the various possible
636keyboard mappings, it is better to use `xmodmap' to remap the keys as
637required for your particular machine.
638
639
640
641=head2 Terminal Configuration
642
643=head3 Why doesn't rxvt-unicode read my resources?
644
645Well, why, indeed? It does, in a way very similar to other X
646applications. Most importantly, this means that if you or your OS loads
647resources into the X display (the right way to do it), rxvt-unicode will
648ignore any resource files in your home directory. It will only read
649F<$HOME/.Xdefaults> when no resources are attached to the display.
650
651If you have or use an F<$HOME/.Xresources> file, chances are that
652resources are loaded into your X-server. In this case, you have to
653re-login after every change (or run F<xrdb -merge $HOME/.Xresources>).
654
655Also consider the form resources have to use:
656
657 URxvt.resource: value
658
659If you want to use another form (there are lots of different ways of
660specifying resources), make sure you understand wether and why it
661works. If unsure, use the form above.
662
215=item When I log-in to another system it tells me about missing terminfo data? 663=head3 When I log-in to another system it tells me about missing terminfo data?
216 664
217The terminal description used by rxvt-unicode is not as widely available 665The terminal description used by rxvt-unicode is not as widely available
218as that for xterm, or even rxvt (for which the same problem often arises). 666as that for xterm, or even rxvt (for which the same problem often arises).
219 667
220The correct solution for this problem is to install the terminfo, this can 668The correct solution for this problem is to install the terminfo, this can
236resource to set it: 684resource to set it:
237 685
238 URxvt.termName: rxvt 686 URxvt.termName: rxvt
239 687
240If you don't plan to use B<rxvt> (quite common...) you could also replace 688If you don't plan to use B<rxvt> (quite common...) you could also replace
241the rxvt terminfo file with the rxvt-unicode one. 689the rxvt terminfo file with the rxvt-unicode one and use C<TERM=rxvt>.
242 690
243=item C<tic> outputs some error when compiling the terminfo entry. 691=head3 C<tic> outputs some error when compiling the terminfo entry.
244 692
245Most likely it's the empty definition for C<enacs=>. Just replace it by 693Most likely it's the empty definition for C<enacs=>. Just replace it by
246C<enacs=\E[0@> and try again. 694C<enacs=\E[0@> and try again.
247 695
248=item C<bash>'s readline does not work correctly under @@RXVT_NAME@@. 696=head3 C<bash>'s readline does not work correctly under @@URXVT_NAME@@.
249 697
698See next entry.
699
250=item I need a termcap file entry. 700=head3 I need a termcap file entry.
251 701
252One reason you might want this is that some distributions or operating 702One reason you might want this is that some distributions or operating
253systems still compile some programs using the long-obsoleted termcap 703systems still compile some programs using the long-obsoleted termcap
254library (Fedora Core's bash is one example) and rely on a termcap entry 704library (Fedora Core's bash is one example) and rely on a termcap entry
255for C<rxvt-unicode>. 705for C<rxvt-unicode>.
281 :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ 731 :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
282 :te=\E[r\E[?1049l:ti=\E[?1049h:ue=\E[24m:up=\E[A:\ 732 :te=\E[r\E[?1049l:ti=\E[?1049h:ue=\E[24m:up=\E[A:\
283 :us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:\ 733 :us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:\
284 :vs=\E[?25h: 734 :vs=\E[?25h:
285 735
286=item Why does C<ls> no longer have coloured output? 736=head3 Why does C<ls> no longer have coloured output?
287 737
288The C<ls> in the GNU coreutils unfortunately doesn't use terminfo to 738The C<ls> in the GNU coreutils unfortunately doesn't use terminfo to
289decide wether a terminal has colour, but uses it's own configuration 739decide wether a terminal has colour, but uses it's own configuration
290file. Needless to say, C<rxvt-unicode> is not in it's default file (among 740file. Needless to say, C<rxvt-unicode> is not in it's default file (among
291with most other terminals supporting colour). Either add: 741with most other terminals supporting colour). Either add:
296 746
297 alias ls='ls --color=auto' 747 alias ls='ls --color=auto'
298 748
299to your C<.profile> or C<.bashrc>. 749to your C<.profile> or C<.bashrc>.
300 750
301=item Why doesn't vim/emacs etc. use the 88 colour mode? 751=head3 Why doesn't vim/emacs etc. use the 88 colour mode?
302 752
753See next entry.
754
303=item Why doesn't vim/emacs etc. make use of italic? 755=head3 Why doesn't vim/emacs etc. make use of italic?
304 756
757See next entry.
758
305=item Why are the secondary screen-related options not working properly? 759=head3 Why are the secondary screen-related options not working properly?
306 760
307Make sure you are using C<TERM=rxvt-unicode>. Some pre-packaged 761Make sure you are using C<TERM=rxvt-unicode>. Some pre-packaged
308distributions (most notably Debian GNU/Linux) break rxvt-unicode 762distributions (most notably Debian GNU/Linux) break rxvt-unicode
309by setting C<TERM> to C<rxvt>, which doesn't have these extra 763by setting C<TERM> to C<rxvt>, which doesn't have these extra
310features. Unfortunately, some of these (most notably, again, Debian 764features. Unfortunately, some of these (most notably, again, Debian
311GNU/Linux) furthermore fail to even install the C<rxvt-unicode> terminfo 765GNU/Linux) furthermore fail to even install the C<rxvt-unicode> terminfo
312file, so you will need to install it on your own (See the question B<When 766file, so you will need to install it on your own (See the question B<When
313I log-in to another system it tells me about missing terminfo data?> on 767I log-in to another system it tells me about missing terminfo data?> on
314how to do this). 768how to do this).
315 769
316=item My numerical keypad acts weird and generates differing output?
317 770
318Some Debian GNUL/Linux users seem to have this problem, although no 771=head2 Encoding / Locale / Input Method Issues
319specific details were reported so far. It is possible that this is caused
320by the wrong C<TERM> setting, although the details of wether and how
321this can happen are unknown, as C<TERM=rxvt> should offer a compatible
322keymap. See the answer to the previous question, and please report if that
323helped.
324 772
325=item Rxvt-unicode does not seem to understand the selected encoding? 773=head3 Rxvt-unicode does not seem to understand the selected encoding?
326 774
775See next entry.
776
327=item Unicode does not seem to work? 777=head3 Unicode does not seem to work?
328 778
329If you encounter strange problems like typing an accented character but 779If you encounter strange problems like typing an accented character but
330getting two unrelated other characters or similar, or if program output is 780getting two unrelated other characters or similar, or if program output is
331subtly garbled, then you should check your locale settings. 781subtly garbled, then you should check your locale settings.
332 782
352 802
353If nothing works and you are sure that everything is set correctly then 803If nothing works and you are sure that everything is set correctly then
354you will need to remember a little known fact: Some programs just don't 804you will need to remember a little known fact: Some programs just don't
355support locales :( 805support locales :(
356 806
357=item Why do some characters look so much different than others? 807=head3 How does rxvt-unicode determine the encoding to use?
358 808
359=item How does rxvt-unicode choose fonts? 809See next entry.
360 810
361Most fonts do not contain the full range of Unicode, which is 811=head3 Is there an option to switch encodings?
362fine. Chances are that the font you (or the admin/package maintainer of
363your system/os) have specified does not cover all the characters you want
364to display.
365 812
366B<rxvt-unicode> makes a best-effort try at finding a replacement 813Unlike some other terminals, rxvt-unicode has no encoding switch, and no
367font. Often the result is fine, but sometimes the chosen font looks 814specific "utf-8" mode, such as xterm. In fact, it doesn't even know about
368bad/ugly/wrong. Some fonts have totally strange characters that don't 815UTF-8 or any other encodings with respect to terminal I/O.
369resemble the correct glyph at all, and rxvt-unicode lacks the artificial
370intelligence to detect that a specific glyph is wrong: it has to believe
371the font that the characters it claims to contain indeed look correct.
372 816
373In that case, select a font of your taste and add it to the font list, 817The reasons is that there exists a perfectly fine mechanism for selecting
374e.g.: 818the encoding, doing I/O and (most important) communicating this to all
375 819applications so everybody agrees on character properties such as width
376 @@RXVT_NAME@@ -fn basefont,font2,font3... 820and code number. This mechanism is the I<locale>. Applications not using
377 821that info will have problems (for example, C<xterm> gets the width of
378When rxvt-unicode sees a character, it will first look at the base 822characters wrong as it uses it's own, locale-independent table under all
379font. If the base font does not contain the character, it will go to the
380next font, and so on. Specifying your own fonts will also speed up this
381search and use less resources within rxvt-unicode and the X-server.
382
383The only limitation is that none of the fonts may be larger than the base
384font, as the base font defines the terminal character cell size, which
385must be the same due to the way terminals work.
386
387=item Why do some chinese characters look so different than others?
388
389This is because there is a difference between script and language --
390rxvt-unicode does not know which language the text that is output is,
391as it only knows the unicode character codes. If rxvt-unicode first
392sees a japanese/chinese character, it might choose a japanese font for
393display. Subsequent japanese characters will use that font. Now, many
394chinese characters aren't represented in japanese fonts, so when the first
395non-japanese character comes up, rxvt-unicode will look for a chinese font
396-- unfortunately at this point, it will still use the japanese font for
397chinese characters that are also in the japanese font.
398
399The workaround is easy: just tag a chinese font at the end of your font
400list (see the previous question). The key is to view the font list as
401a preference list: If you expect more japanese, list a japanese font
402first. If you expect more chinese, put a chinese font first.
403
404In the future it might be possible to switch language preferences at
405runtime (the internal data structure has no problem with using different
406fonts for the same character at the same time, but no interface for this
407has been designed yet).
408
409Until then, you might get away with switching fonts at runtime (see L<Can
410I switch the fonts at runtime?> later in this document).
411
412=item Why does rxvt-unicode sometimes leave pixel droppings?
413
414Most fonts were not designed for terminal use, which means that character
415size varies a lot. A font that is otherwise fine for terminal use might
416contain some characters that are simply too wide. Rxvt-unicode will avoid
417these characters. For characters that are just "a bit" too wide a special
418"careful" rendering mode is used that redraws adjacent characters.
419
420All of this requires that fonts do not lie about character sizes,
421however: Xft fonts often draw glyphs larger than their acclaimed bounding
422box, and rxvt-unicode has no way of detecting this (the correct way is to
423ask for the character bounding box, which unfortunately is wrong in these
424cases). 823locales).
425 824
426It's not clear (to me at least), wether this is a bug in Xft, freetype, 825Rxvt-unicode uses the C<LC_CTYPE> locale category to select encoding. All
427or the respective font. If you encounter this problem you might try using 826programs doing the same (that is, most) will automatically agree in the
428the C<-lsp> option to give the font more height. If that doesn't work, you 827interpretation of characters.
429might be forced to use a different font.
430 828
431All of this is not a problem when using X11 core fonts, as their bounding 829Unfortunately, there is no system-independent way to select locales, nor
432box data is correct. 830is there a standard on how locale specifiers will look like.
433 831
832On most systems, the content of the C<LC_CTYPE> environment variable
833contains an arbitrary string which corresponds to an already-installed
834locale. Common names for locales are C<en_US.UTF-8>, C<de_DE.ISO-8859-15>,
835C<ja_JP.EUC-JP>, i.e. C<language_country.encoding>, but other forms
836(i.e. C<de> or C<german>) are also common.
837
838Rxvt-unicode ignores all other locale categories, and except for
839the encoding, ignores country or language-specific settings,
840i.e. C<de_DE.UTF-8> and C<ja_JP.UTF-8> are the normally same to
841rxvt-unicode.
842
843If you want to use a specific encoding you have to make sure you start
844rxvt-unicode with the correct C<LC_CTYPE> category.
845
846=head3 Can I switch locales at runtime?
847
848Yes, using an escape sequence. Try something like this, which sets
849rxvt-unicode's idea of C<LC_CTYPE>.
850
851 printf '\e]701;%s\007' ja_JP.SJIS
852
853See also the previous answer.
854
855Sometimes this capability is rather handy when you want to work in
856one locale (e.g. C<de_DE.UTF-8>) but some programs don't support it
857(e.g. UTF-8). For example, I use this script to start C<xjdic>, which
858first switches to a locale supported by xjdic and back later:
859
860 printf '\e]701;%s\007' ja_JP.SJIS
861 xjdic -js
862 printf '\e]701;%s\007' de_DE.UTF-8
863
864You can also use xterm's C<luit> program, which usually works fine, except
865for some locales where character width differs between program- and
866rxvt-unicode-locales.
867
868=head3 My input method wants <some encoding> but I want UTF-8, what can I do?
869
870You can specify separate locales for the input method and the rest of the
871terminal, using the resource C<imlocale>:
872
873 URxvt.imlocale: ja_JP.EUC-JP
874
875Now you can start your terminal with C<LC_CTYPE=ja_JP.UTF-8> and still
876use your input method. Please note, however, that you will not be able to
877input characters outside C<EUC-JP> in a normal way then, as your input
878method limits you.
879
880=head3 Rxvt-unicode crashes when the X Input Method changes or exits.
881
882Unfortunately, this is unavoidable, as the XIM protocol is racy by
883design. Applications can avoid some crashes at the expense of memory
884leaks, and Input Methods can avoid some crashes by careful ordering at
885exit time. B<kinput2> (and derived input methods) generally succeeds,
886while B<SCIM> (or similar input methods) fails. In the end, however,
887crashes cannot be completely avoided even if both sides cooperate.
888
889So the only workaround is not to kill your Input Method Servers.
890
891
892=head2 Operating Systems / Package Maintaining
893
894=head3 I am using Debian GNU/Linux and have a problem...
895
896The Debian GNU/Linux package of rxvt-unicode in sarge contains large
897patches that considerably change the behaviour of rxvt-unicode (but
898unfortunately this notice has been removed). Before reporting a bug to
899the original rxvt-unicode author please download and install the genuine
900version (L<http://software.schmorp.de#rxvt-unicode>) and try to reproduce
901the problem. If you cannot, chances are that the problems are specific to
902Debian GNU/Linux, in which case it should be reported via the Debian Bug
903Tracking System (use C<reportbug> to report the bug).
904
905For other problems that also affect the Debian package, you can and
906probably should use the Debian BTS, too, because, after all, it's also a
907bug in the Debian version and it serves as a reminder for other users that
908might encounter the same issue.
909
910=head3 I am maintaining rxvt-unicode for distribution/OS XXX, any recommendation?
911
912You should build one binary with the default options. F<configure>
913now enables most useful options, and the trend goes to making them
914runtime-switchable, too, so there is usually no drawback to enbaling them,
915except higher disk and possibly memory usage. The perl interpreter should
916be enabled, as important functionality (menus, selection, likely more in
917the future) depends on it.
918
919You should not overwrite the C<perl-ext-common> snd C<perl-ext> resources
920system-wide (except maybe with C<defaults>). This will result in useful
921behaviour. If your distribution aims at low memory, add an empty
922C<perl-ext-common> resource to the app-defaults file. This will keep the
923perl interpreter disabled until the user enables it.
924
925If you can/want build more binaries, I recommend building a minimal
926one with C<--disable-everything> (very useful) and a maximal one with
927C<--enable-everything> (less useful, it will be very big due to a lot of
928encodings built-in that increase download times and are rarely used).
929
930=head3 I need to make it setuid/setgid to support utmp/ptys on my OS, is this safe?
931
932It should be, starting with release 7.1. You are encouraged to properly
933install urxvt with privileges necessary for your OS now.
934
935When rxvt-unicode detects that it runs setuid or setgid, it will fork
936into a helper process for privileged operations (pty handling on some
937systems, utmp/wtmp/lastlog handling on others) and drop privileges
938immediately. This is much safer than most other terminals that keep
939privileges while running (but is more relevant to urxvt, as it contains
940things as perl interpreters, which might be "helpful" to attackers).
941
942This forking is done as the very first within main(), which is very early
943and reduces possible bugs to initialisation code run before main(), or
944things like the dynamic loader of your system, which should result in very
945little risk.
946
434=item On Solaris 9, many line-drawing characters are too wide. 947=head3 On Solaris 9, many line-drawing characters are too wide.
435 948
436Seems to be a known bug, read 949Seems to be a known bug, read
437L<http://nixdoc.net/files/forum/about34198.html>. Some people use the 950L<http://nixdoc.net/files/forum/about34198.html>. Some people use the
438following ugly workaround to get non-double-wide-characters working: 951following ugly workaround to get non-double-wide-characters working:
439 952
440 #define wcwidth(x) wcwidth(x) > 1 ? 1 : wcwidth(x) 953 #define wcwidth(x) wcwidth(x) > 1 ? 1 : wcwidth(x)
441 954
442=item My Compose (Multi_key) key is no longer working.
443
444The most common causes for this are that either your locale is not set
445correctly, or you specified a B<preeditStyle> that is not supported by
446your input method. For example, if you specified B<OverTheSpot> and
447your input method (e.g. the default input method handling Compose keys)
448does not support this (for instance because it is not visual), then
449rxvt-unicode will continue without an input method.
450
451In this case either do not specify a B<preeditStyle> or specify more than
452one pre-edit style, such as B<OverTheSpot,Root,None>.
453
454=item I cannot type C<Ctrl-Shift-2> to get an ASCII NUL character due to ISO 14755
455
456Either try C<Ctrl-2> alone (it often is mapped to ASCII NUL even on
457international keyboards) or simply use ISO 14755 support to your
458advantage, typing <Ctrl-Shift-0> to get a ASCII NUL. This works for other
459codes, too, such as C<Ctrl-Shift-1-d> to type the default telnet escape
460character and so on.
461
462=item How can I keep rxvt-unicode from using reverse video so much?
463
464First of all, make sure you are running with the right terminal settings
465(C<TERM=rxvt-unicode>), which will get rid of most of these effects. Then
466make sure you have specified colours for italic and bold, as otherwise
467rxvt-unicode might use reverse video to simulate the effect:
468
469 URxvt.colorBD: white
470 URxvt.colorIT: green
471
472=item Some programs assume totally weird colours (red instead of blue), how can I fix that?
473
474For some unexplainable reason, some rare programs assume a very weird
475colour palette when confronted with a terminal with more than the standard
4768 colours (rxvt-unicode supports 88). The right fix is, of course, to fix
477these programs not to assume non-ISO colours without very good reasons.
478
479In the meantime, you can either edit your C<rxvt-unicode> terminfo
480definition to only claim 8 colour support or use C<TERM=rxvt>, which will
481fix colours but keep you from using other rxvt-unicode features.
482
483=item I am on FreeBSD and rxvt-unicode does not seem to work at all. 955=head3 I am on FreeBSD and rxvt-unicode does not seem to work at all.
484 956
485Rxvt-unicode requires the symbol C<__STDC_ISO_10646__> to be defined 957Rxvt-unicode requires the symbol C<__STDC_ISO_10646__> to be defined
486in your compile environment, or an implementation that implements it, 958in your compile environment, or an implementation that implements it,
487wether it defines the symbol or not. C<__STDC_ISO_10646__> requires that 959wether it defines the symbol or not. C<__STDC_ISO_10646__> requires that
488B<wchar_t> is represented as unicode. 960B<wchar_t> is represented as unicode.
510 982
511The rxvt-unicode author insists that the right way to fix this is in the 983The rxvt-unicode author insists that the right way to fix this is in the
512system libraries once and for all, instead of forcing every app to carry 984system libraries once and for all, instead of forcing every app to carry
513complete replacements for them :) 985complete replacements for them :)
514 986
515=item I use Solaris 9 and it doesn't compile/work/etc. 987=head3 I use Solaris 9 and it doesn't compile/work/etc.
516 988
517Try the diff in F<doc/solaris9.patch> as a base. It fixes the worst 989Try the diff in F<doc/solaris9.patch> as a base. It fixes the worst
518problems with C<wcwidth> and a compile problem. 990problems with C<wcwidth> and a compile problem.
519 991
520=item How can I use rxvt-unicode under cygwin? 992=head3 How can I use rxvt-unicode under cygwin?
521 993
522rxvt-unicode should compile and run out of the box on cygwin, using 994rxvt-unicode should compile and run out of the box on cygwin, using
523the X11 libraries that come with cygwin. libW11 emulation is no 995the X11 libraries that come with cygwin. libW11 emulation is no
524longer supported (and makes no sense, either, as it only supported a 996longer supported (and makes no sense, either, as it only supported a
525single font). I recommend starting the X-server in C<-multiwindow> or 997single font). I recommend starting the X-server in C<-multiwindow> or
528 1000
529At the time of this writing, cygwin didn't seem to support any multi-byte 1001At the time of this writing, cygwin didn't seem to support any multi-byte
530encodings (you might try C<LC_CTYPE=C-UTF-8>), so you are likely limited 1002encodings (you might try C<LC_CTYPE=C-UTF-8>), so you are likely limited
531to 8-bit encodings. 1003to 8-bit encodings.
532 1004
533=item How does rxvt-unicode determine the encoding to use?
534
535=item Is there an option to switch encodings?
536
537Unlike some other terminals, rxvt-unicode has no encoding switch, and no
538specific "utf-8" mode, such as xterm. In fact, it doesn't even know about
539UTF-8 or any other encodings with respect to terminal I/O.
540
541The reasons is that there exists a perfectly fine mechanism for selecting
542the encoding, doing I/O and (most important) communicating this to all
543applications so everybody agrees on character properties such as width
544and code number. This mechanism is the I<locale>. Applications not using
545that info will have problems (for example, C<xterm> gets the width of
546characters wrong as it uses it's own, locale-independent table under all
547locales).
548
549Rxvt-unicode uses the C<LC_CTYPE> locale category to select encoding. All
550programs doing the same (that is, most) will automatically agree in the
551interpretation of characters.
552
553Unfortunately, there is no system-independent way to select locales, nor
554is there a standard on how locale specifiers will look like.
555
556On most systems, the content of the C<LC_CTYPE> environment variable
557contains an arbitrary string which corresponds to an already-installed
558locale. Common names for locales are C<en_US.UTF-8>, C<de_DE.ISO-8859-15>,
559C<ja_JP.EUC-JP>, i.e. C<language_country.encoding>, but other forms
560(i.e. C<de> or C<german>) are also common.
561
562Rxvt-unicode ignores all other locale categories, and except for
563the encoding, ignores country or language-specific settings,
564i.e. C<de_DE.UTF-8> and C<ja_JP.UTF-8> are the normally same to
565rxvt-unicode.
566
567If you want to use a specific encoding you have to make sure you start
568rxvt-unicode with the correct C<LC_CTYPE> category.
569
570=item Can I switch locales at runtime?
571
572Yes, using an escape sequence. Try something like this, which sets
573rxvt-unicode's idea of C<LC_CTYPE>.
574
575 printf '\e]701;%s\007' ja_JP.SJIS
576
577See also the previous answer.
578
579Sometimes this capability is rather handy when you want to work in
580one locale (e.g. C<de_DE.UTF-8>) but some programs don't support it
581(e.g. UTF-8). For example, I use this script to start C<xjdic>, which
582first switches to a locale supported by xjdic and back later:
583
584 printf '\e]701;%s\007' ja_JP.SJIS
585 xjdic -js
586 printf '\e]701;%s\007' de_DE.UTF-8
587
588You can also use xterm's C<luit> program, which usually works fine, except
589for some locales where character width differs between program- and
590rxvt-unicode-locales.
591
592=item Can I switch the fonts at runtime?
593
594Yes, using an escape sequence. Try something like this, which has the same
595effect as using the C<-fn> switch, and takes effect immediately:
596
597 printf '\e]50;%s\007' "9x15bold,xft:Kochi Gothic"
598
599This is useful if you e.g. work primarily with japanese (and prefer a
600japanese font), but you have to switch to chinese temporarily, where
601japanese fonts would only be in your way.
602
603You can think of this as a kind of manual ISO-2022 switching.
604
605=item Why do italic characters look as if clipped?
606
607Many fonts have difficulties with italic characters and hinting. For
608example, the otherwise very nicely hinted font C<xft:Bitstream Vera Sans
609Mono> completely fails in it's italic face. A workaround might be to
610enable freetype autohinting, i.e. like this:
611
612 URxvt.italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true
613 URxvt.boldItalicFont: xft:Bitstream Vera Sans Mono:bold:italic:autohint=true
614
615=item My input method wants <some encoding> but I want UTF-8, what can I do?
616
617You can specify separate locales for the input method and the rest of the
618terminal, using the resource C<imlocale>:
619
620 URxvt.imlocale: ja_JP.EUC-JP
621
622Now you can start your terminal with C<LC_CTYPE=ja_JP.UTF-8> and still
623use your input method. Please note, however, that you will not be able to
624input characters outside C<EUC-JP> in a normal way then, as your input
625method limits you.
626
627=item Rxvt-unicode crashes when the X Input Method changes or exits.
628
629Unfortunately, this is unavoidable, as the XIM protocol is racy by
630design. Applications can avoid some crashes at the expense of memory
631leaks, and Input Methods can avoid some crashes by careful ordering at
632exit time. B<kinput2> (and derived input methods) generally succeeds,
633while B<SCIM> (or similar input methods) fails. In the end, however,
634crashes cannot be completely avoided even if both sides cooperate.
635
636So the only workaround is not to kill your Input Method Servers.
637
638=item Rxvt-unicode uses gobs of memory, how can I reduce that?
639
640Rxvt-unicode tries to obey the rule of not charging you for something you
641don't use. One thing you should try is to configure out all settings that
642you don't need, for example, Xft support is a resource hog by design,
643when used. Compiling it out ensures that no Xft font will be loaded
644accidentally when rxvt-unicode tries to find a font for your characters.
645
646Also, many people (me included) like large windows and even larger
647scrollback buffers: Without C<--enable-unicode3>, rxvt-unicode will use
6486 bytes per screen cell. For a 160x?? window this amounts to almost a
649kilobyte per line. A scrollback buffer of 10000 lines will then (if full)
650use 10 Megabytes of memory. With C<--enable-unicode3> it gets worse, as
651rxvt-unicode then uses 8 bytes per screen cell.
652
653=item Can I speed up Xft rendering somehow?
654
655Yes, the most obvious way to speed it up is to avoid Xft entirely, as
656it is simply slow. If you still want Xft fonts you might try to disable
657antialiasing (by appending C<:antialias=false>), which saves lots of
658memory and also speeds up rendering considerably.
659
660=item Rxvt-unicode doesn't seem to anti-alias its fonts, what is wrong?
661
662Rxvt-unicode will use whatever you specify as a font. If it needs to
663fall back to it's default font search list it will prefer X11 core
664fonts, because they are small and fast, and then use Xft fonts. It has
665antialiasing disabled for most of them, because the author thinks they
666look best that way.
667
668If you want antialiasing, you have to specify the fonts manually.
669
670=item Mouse cut/paste suddenly no longer works.
671
672Make sure that mouse reporting is actually turned off since killing
673some editors prematurely may leave the mouse in mouse report mode. I've
674heard that tcsh may use mouse reporting unless it otherwise specified. A
675quick check is to see if cut/paste works when the Alt or Shift keys are
676depressed.
677
678=item What's with this bold/blink stuff?
679
680If no bold colour is set via C<colorBD:>, bold will invert text using the
681standard foreground colour.
682
683For the standard background colour, blinking will actually make the
684text blink when compiled with C<--enable-blinking>. with standard
685colours. Without C<--enable-blinking>, the blink attribute will be
686ignored.
687
688On ANSI colours, bold/blink attributes are used to set high-intensity
689foreground/background colors.
690
691color0-7 are the low-intensity colors.
692
693color8-15 are the corresponding high-intensity colors.
694
695=item I don't like the screen colors. How do I change them?
696
697You can change the screen colors at run-time using F<~/.Xdefaults>
698resources (or as long-options).
699
700Here are values that are supposed to resemble a VGA screen,
701including the murky brown that passes for low-intensity yellow:
702
703 URxvt.color0: #000000
704 URxvt.color1: #A80000
705 URxvt.color2: #00A800
706 URxvt.color3: #A8A800
707 URxvt.color4: #0000A8
708 URxvt.color5: #A800A8
709 URxvt.color6: #00A8A8
710 URxvt.color7: #A8A8A8
711
712 URxvt.color8: #000054
713 URxvt.color9: #FF0054
714 URxvt.color10: #00FF54
715 URxvt.color11: #FFFF54
716 URxvt.color12: #0000FF
717 URxvt.color13: #FF00FF
718 URxvt.color14: #00FFFF
719 URxvt.color15: #FFFFFF
720
721And here is a more complete set of non-standard colors described (not by
722me) as "pretty girly".
723
724 URxvt.cursorColor: #dc74d1
725 URxvt.pointerColor: #dc74d1
726 URxvt.background: #0e0e0e
727 URxvt.foreground: #4ad5e1
728 URxvt.color0: #000000
729 URxvt.color8: #8b8f93
730 URxvt.color1: #dc74d1
731 URxvt.color9: #dc74d1
732 URxvt.color2: #0eb8c7
733 URxvt.color10: #0eb8c7
734 URxvt.color3: #dfe37e
735 URxvt.color11: #dfe37e
736 URxvt.color5: #9e88f0
737 URxvt.color13: #9e88f0
738 URxvt.color6: #73f7ff
739 URxvt.color14: #73f7ff
740 URxvt.color7: #e1dddd
741 URxvt.color15: #e1dddd
742
743=item How can I start @@RXVT_NAME@@d in a race-free way?
744
745Try C<@@RXVT_NAME@@d -f -o>, which tells @@RXVT_NAME@@d to open the
746display, create the listening socket and then fork.
747
748=item What's with the strange Backspace/Delete key behaviour?
749
750Assuming that the physical Backspace key corresponds to the
751BackSpace keysym (not likely for Linux ... see the following
752question) there are two standard values that can be used for
753Backspace: C<^H> and C<^?>.
754
755Historically, either value is correct, but rxvt-unicode adopts the debian
756policy of using C<^?> when unsure, because it's the one only only correct
757choice :).
758
759Rxvt-unicode tries to inherit the current stty settings and uses the value
760of `erase' to guess the value for backspace. If rxvt-unicode wasn't
761started from a terminal (say, from a menu or by remote shell), then the
762system value of `erase', which corresponds to CERASE in <termios.h>, will
763be used (which may not be the same as your stty setting).
764
765For starting a new rxvt-unicode:
766
767 # use Backspace = ^H
768 $ stty erase ^H
769 $ @@RXVT_NAME@@
770
771 # use Backspace = ^?
772 $ stty erase ^?
773 $ @@RXVT_NAME@@
774
775Toggle with C<ESC [ 36 h> / C<ESC [ 36 l>.
776
777For an existing rxvt-unicode:
778
779 # use Backspace = ^H
780 $ stty erase ^H
781 $ echo -n "^[[36h"
782
783 # use Backspace = ^?
784 $ stty erase ^?
785 $ echo -n "^[[36l"
786
787This helps satisfy some of the Backspace discrepancies that occur, but
788if you use Backspace = C<^H>, make sure that the termcap/terminfo value
789properly reflects that.
790
791The Delete key is a another casualty of the ill-defined Backspace problem.
792To avoid confusion between the Backspace and Delete keys, the Delete
793key has been assigned an escape sequence to match the vt100 for Execute
794(C<ESC [ 3 ~>) and is in the supplied termcap/terminfo.
795
796Some other Backspace problems:
797
798some editors use termcap/terminfo,
799some editors (vim I'm told) expect Backspace = ^H,
800GNU Emacs (and Emacs-like editors) use ^H for help.
801
802Perhaps someday this will all be resolved in a consistent manner.
803
804=item I don't like the key-bindings. How do I change them?
805
806There are some compile-time selections available via configure. Unless
807you have run "configure" with the C<--disable-resources> option you can
808use the `keysym' resource to alter the keystrings associated with keysyms.
809
810Here's an example for a URxvt session started using C<@@RXVT_NAME@@ -name URxvt>
811
812 URxvt.keysym.Home: \033[1~
813 URxvt.keysym.End: \033[4~
814 URxvt.keysym.C-apostrophe: \033<C-'>
815 URxvt.keysym.C-slash: \033<C-/>
816 URxvt.keysym.C-semicolon: \033<C-;>
817 URxvt.keysym.C-grave: \033<C-`>
818 URxvt.keysym.C-comma: \033<C-,>
819 URxvt.keysym.C-period: \033<C-.>
820 URxvt.keysym.C-0x60: \033<C-`>
821 URxvt.keysym.C-Tab: \033<C-Tab>
822 URxvt.keysym.C-Return: \033<C-Return>
823 URxvt.keysym.S-Return: \033<S-Return>
824 URxvt.keysym.S-space: \033<S-Space>
825 URxvt.keysym.M-Up: \033<M-Up>
826 URxvt.keysym.M-Down: \033<M-Down>
827 URxvt.keysym.M-Left: \033<M-Left>
828 URxvt.keysym.M-Right: \033<M-Right>
829 URxvt.keysym.M-C-0: list \033<M-C- 0123456789 >
830 URxvt.keysym.M-C-a: list \033<M-C- abcdefghijklmnopqrstuvwxyz >
831 URxvt.keysym.F12: command:\033]701;zh_CN.GBK\007
832
833See some more examples in the documentation for the B<keysym> resource.
834
835=item I'm using keyboard model XXX that has extra Prior/Next/Insert keys.
836How do I make use of them? For example, the Sun Keyboard type 4
837has the following mappings that rxvt-unicode doesn't recognize.
838
839 KP_Insert == Insert
840 F22 == Print
841 F27 == Home
842 F29 == Prior
843 F33 == End
844 F35 == Next
845
846Rather than have rxvt-unicode try to accommodate all the various possible
847keyboard mappings, it is better to use `xmodmap' to remap the keys as
848required for your particular machine.
849
850=item How do I distinguish wether I'm running rxvt-unicode or a regular xterm?
851I need this to decide about setting colors etc.
852
853rxvt and rxvt-unicode always export the variable "COLORTERM", so you can
854check and see if that is set. Note that several programs, JED, slrn,
855Midnight Commander automatically check this variable to decide whether or
856not to use color.
857
858=item How do I set the correct, full IP address for the DISPLAY variable?
859
860If you've compiled rxvt-unicode with DISPLAY_IS_IP and have enabled
861insecure mode then it is possible to use the following shell script
862snippets to correctly set the display. If your version of rxvt-unicode
863wasn't also compiled with ESCZ_ANSWER (as assumed in these snippets) then
864the COLORTERM variable can be used to distinguish rxvt-unicode from a
865regular xterm.
866
867Courtesy of Chuck Blake <cblake@BBN.COM> with the following shell script
868snippets:
869
870 # Bourne/Korn/POSIX family of shells:
871 [ ${TERM:-foo} = foo ] && TERM=xterm # assume an xterm if we don't know
872 if [ ${TERM:-foo} = xterm ]; then
873 stty -icanon -echo min 0 time 15 # see if enhanced rxvt or not
874 echo -n '^[Z'
875 read term_id
876 stty icanon echo
877 if [ ""${term_id} = '^[[?1;2C' -a ${DISPLAY:-foo} = foo ]; then
878 echo -n '^[[7n' # query the rxvt we are in for the DISPLAY string
879 read DISPLAY # set it in our local shell
880 fi
881 fi
882
883=item How do I compile the manual pages for myself?
884
885You need to have a recent version of perl installed as F</usr/bin/perl>,
886one that comes with F<pod2man>, F<pod2text> and F<pod2html>. Then go to
887the doc subdirectory and enter C<make alldoc>.
888
889=item My question isn't answered here, can I ask a human?
890
891Before sending me mail, you could go to IRC: C<irc.freenode.net>,
892channel C<#rxvt-unicode> has some rxvt-unicode enthusiasts that might be
893interested in learning about new and exciting problems (but not FAQs :).
894
895=back
896
897=head1 RXVT TECHNICAL REFERENCE 1005=head1 RXVT-UNICODE TECHNICAL REFERENCE
898 1006
899=head1 DESCRIPTION 1007=head1 DESCRIPTION
900 1008
901The rest of this document describes various technical aspects of 1009The rest of this document describes various technical aspects of
902B<rxvt-unicode>. First the description of supported command sequences, 1010B<rxvt-unicode>. First the description of supported command sequences,
1675 B<< C<Ps = 46> >> Change Log File to B<< C<Pt> >> I<unimplemented> 1783 B<< C<Ps = 46> >> Change Log File to B<< C<Pt> >> I<unimplemented>
1676 B<< C<Ps = 49> >> Change default background colour to B<< C<Pt> >>. 1784 B<< C<Ps = 49> >> Change default background colour to B<< C<Pt> >>.
1677 B<< C<Ps = 50> >> Set fontset to B<< C<Pt> >>, with the following special values of B<< C<Pt> >> (B<rxvt>) B<< C<#+n> >> change up B<< C<n> >> B<< C<#-n> >> change down B<< C<n> >> if B<< C<n> >> is missing of 0, a value of 1 is used I<empty> change to font0 B<< C<n> >> change to font B<< C<n> >> 1785 B<< C<Ps = 50> >> Set fontset to B<< C<Pt> >>, with the following special values of B<< C<Pt> >> (B<rxvt>) B<< C<#+n> >> change up B<< C<n> >> B<< C<#-n> >> change down B<< C<n> >> if B<< C<n> >> is missing of 0, a value of 1 is used I<empty> change to font0 B<< C<n> >> change to font B<< C<n> >>
1678 B<< C<Ps = 55> >> Log all scrollback buffer and all of screen to B<< C<Pt> >> 1786 B<< C<Ps = 55> >> Log all scrollback buffer and all of screen to B<< C<Pt> >>
1679 B<< C<Ps = 701> >> Change current locale to B<< C<Pt> >>, or, if B<< C<Pt> >> is B<< C<?> >>, return the current locale (Compile frills). 1787 B<< C<Ps = 701> >> Change current locale to B<< C<Pt> >>, or, if B<< C<Pt> >> is B<< C<?> >>, return the current locale (Compile frills).
1788 B<< C<Ps = 702> >> Request version if B<< C<Pt> >> is B<< C<?> >>, returning C<rxvt-unicode>, the resource name, the major and minor version numbers, e.g. C<ESC ] 702 ; rxvt-unicode ; urxvt ; 7 ; 4 ST>.
1680 B<< C<Ps = 704> >> Change colour of italic characters to B<< C<Pt> >> 1789 B<< C<Ps = 704> >> Change colour of italic characters to B<< C<Pt> >>
1681 B<< C<Ps = 705> >> Change background pixmap tint colour to B<< C<Pt> >> (Compile transparency). 1790 B<< C<Ps = 705> >> Change background pixmap tint colour to B<< C<Pt> >> (Compile transparency).
1682 B<< C<Ps = 706> >> Change colour of bold characters to B<< C<Pt> >> 1791 B<< C<Ps = 706> >> Change colour of bold characters to B<< C<Pt> >>
1683 B<< C<Ps = 707> >> Change colour of underlined characters to B<< C<Pt> >> 1792 B<< C<Ps = 707> >> Change colour of underlined characters to B<< C<Pt> >>
1684 B<< C<Ps = 710> >> Set normal fontset to B<< C<Pt> >>. Same as C<Ps = 50>. 1793 B<< C<Ps = 710> >> Set normal fontset to B<< C<Pt> >>. Same as C<Ps = 50>.
1799=begin table 1908=begin table
1800 1909
1801 4 Shift 1910 4 Shift
1802 8 Meta 1911 8 Meta
1803 16 Control 1912 16 Control
1804 32 Double Click I<(Rxvt extension)> 1913 32 Double Click I<(rxvt extension)>
1805 1914
1806=end table 1915=end table
1807 1916
1808Col = B<< C<< <x> - SPACE >> >> 1917Col = B<< C<< <x> - SPACE >> >>
1809 1918
1947alternative input methods (e.g. kinput2) and will also correctly 2056alternative input methods (e.g. kinput2) and will also correctly
1948set up the input for people using dead keys or compose keys. 2057set up the input for people using dead keys or compose keys.
1949 2058
1950=item --enable-unicode3 (default: off) 2059=item --enable-unicode3 (default: off)
1951 2060
2061Recommended to stay off unless you really need non-BMP characters.
2062
1952Enable direct support for displaying unicode codepoints above 2063Enable direct support for displaying unicode codepoints above
195365535 (the basic multilingual page). This increases storage 206465535 (the basic multilingual page). This increases storage
1954requirements per character from 2 to 4 bytes. X11 fonts do not yet 2065requirements per character from 2 to 4 bytes. X11 fonts do not yet
1955support these extra characters, but Xft does. 2066support these extra characters, but Xft does.
1956 2067
1966composite characters. This is required for proper viewing of text 2077composite characters. This is required for proper viewing of text
1967where accents are encoded as seperate unicode characters. This is 2078where accents are encoded as seperate unicode characters. This is
1968done by using precomposited characters when available or creating 2079done by using precomposited characters when available or creating
1969new pseudo-characters when no precomposed form exists. 2080new pseudo-characters when no precomposed form exists.
1970 2081
1971Without --enable-unicode3, the number of additional precomposed characters 2082Without --enable-unicode3, the number of additional precomposed
1972is rather limited (2048, if this is full, rxvt-unicode will use the 2083characters is somewhat limited (the 6400 private use characters will be
1973private use area, extending the number of combinations to 8448). With
1974--enable-unicode3, no practical limit exists. 2084(ab-)used). With --enable-unicode3, no practical limit exists.
1975 2085
1976This option will also enable storage (but not display) of characters 2086This option will also enable storage (but not display) of characters
1977beyond plane 0 (>65535) when --enable-unicode3 was not specified. 2087beyond plane 0 (>65535) when --enable-unicode3 was not specified.
1978 2088
1979The combining table also contains entries for arabic presentation forms, 2089The combining table also contains entries for arabic presentation forms,
1980but these are not currently used. Bug me if you want these to be used (and 2090but these are not currently used. Bug me if you want these to be used (and
1981tell me how these are to be used...). 2091tell me how these are to be used...).
1982 2092
1983=item --enable-fallback(=CLASS) (default: Rxvt) 2093=item --enable-fallback(=CLASS) (default: Rxvt)
1984 2094
1985When reading resource settings, also read settings for class CLASS. To disable resource fallback use --disable-fallback. 2095When reading resource settings, also read settings for class CLASS. To
2096disable resource fallback use --disable-fallback.
1986 2097
1987=item --with-res-name=NAME (default: urxvt) 2098=item --with-res-name=NAME (default: urxvt)
1988 2099
1989Use the given name as default application name when 2100Use the given name as default application name when
1990reading resources. Specify --with-res-name=rxvt to replace rxvt. 2101reading resources. Specify --with-res-name=rxvt to replace rxvt.
2080 2191
2081 MWM-hints 2192 MWM-hints
2082 EWMH-hints (pid, utf8 names) and protocols (ping) 2193 EWMH-hints (pid, utf8 names) and protocols (ping)
2083 seperate underline colour (-underlineColor) 2194 seperate underline colour (-underlineColor)
2084 settable border widths and borderless switch (-w, -b, -bl) 2195 settable border widths and borderless switch (-w, -b, -bl)
2196 visual depth selection (-depth)
2085 settable extra linespacing /-lsp) 2197 settable extra linespacing /-lsp)
2086 iso-14755-2 and -3, and visual feedback 2198 iso-14755-2 and -3, and visual feedback
2087 backindex and forwardindex escape sequence
2088 window op and some xterm/OSC escape sequences
2089 tripleclickwords (-tcw) 2199 tripleclickwords (-tcw)
2090 settable insecure mode (-insecure) 2200 settable insecure mode (-insecure)
2091 keysym remapping support 2201 keysym remapping support
2092 cursor blinking and underline cursor (-cb, -uc) 2202 cursor blinking and underline cursor (-cb, -uc)
2093 XEmbed support (-embed) 2203 XEmbed support (-embed)
2094 user-pty (-pty-fd) 2204 user-pty (-pty-fd)
2095 hold on exit (-hold) 2205 hold on exit (-hold)
2096 skip builtin block graphics (-sbg) 2206 skip builtin block graphics (-sbg)
2207
2208It also enabled some non-essential features otherwise disabled, such as:
2209
2210 some round-trip time optimisations
2211 nearest color allocation on pseudocolor screens
2212 UTF8_STRING supporr for selection
2097 sgr modes 90..97 and 100..107 2213 sgr modes 90..97 and 100..107
2214 backindex and forwardindex escape sequences
2215 view change/zero scorllback esacpe sequences
2216 locale switching escape sequence
2217 window op and some xterm/OSC escape sequences
2218 rectangular selections
2219 trailing space removal for selections
2220 verbose X error handling
2098 2221
2099=item --enable-iso14755 (default: on) 2222=item --enable-iso14755 (default: on)
2100 2223
2101Enable extended ISO 14755 support (see @@RXVT_NAME@@(1), or 2224Enable extended ISO 14755 support (see @@RXVT_NAME@@(1), or
2102F<doc/rxvt.1.txt>). Basic support (section 5.1) is enabled by 2225F<doc/rxvt.1.txt>). Basic support (section 5.1) is enabled by
2145 2268
2146=item --enable-pointer-blank (default: on) 2269=item --enable-pointer-blank (default: on)
2147 2270
2148Add support to have the pointer disappear when typing or inactive. 2271Add support to have the pointer disappear when typing or inactive.
2149 2272
2150=item --enable-perl (default: off) 2273=item --enable-perl (default: on)
2151 2274
2152Enable an embedded perl interpreter. See the B<@@RXVT_NAME@@perl(3)> 2275Enable an embedded perl interpreter. See the B<@@RXVT_NAME@@perl(3)>
2153manpage (F<doc/rxvtperl.txt>) for more info on this feature, or the files 2276manpage (F<doc/rxvtperl.txt>) for more info on this feature, or the files
2154in F<src/perl-ext/> for the extensions that are installed by default. The 2277in F<src/perl-ext/> for the extensions that are installed by default. The
2155perl interpreter that is used can be specified via the C<PERL> environment 2278perl interpreter that is used can be specified via the C<PERL> environment

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines