*** empty log message ***
[dana/urxvt.git] / README.FAQ
1 FREQUENTLY ASKED QUESTIONS
2     How do I know which rxvt-unicode version I'm using?
3         The version number is displayed with the usage (-h). Also the escape
4         sequence "ESC [ 8 n" sets the window title to the version number.
5
6     I am using Debian GNU/Linux and have a problem...
7         The Debian GNU/Linux package of rxvt-unicode contains large patches
8         that considerably change the behaviour of rxvt-unicode. Before
9         reporting a bug to the original rxvt-unicode author please download
10         and install the genuine version
11         (<http://software.schmorp.de#rxvt-unicode>) and try to reproduce the
12         problem. If you cannot, chances are that the problems are specific
13         to Debian GNU/Linux, in which case it should be reported via the
14         Debian Bug Tracking System (use "reportbug" to report the bug).
15
16         For other problems that also affect the Debian package, you can and
17         probably should use the Debian BTS, too, because, after all, it's
18         also a bug in the Debian version and it serves as a reminder for
19         other users that might encounter the same issue.
20
21     When I log-in to another system it tells me about missing terminfo data?
22         The terminal description used by rxvt-unicode is not as widely
23         available as that for xterm, or even rxvt (for which the same
24         problem often arises).
25
26         The correct solution for this problem is to install the terminfo,
27         this can be done like this (with ncurses' infocmp):
28
29            REMOTE=remotesystem.domain
30            infocmp rxvt-unicode | ssh $REMOTE "cat >/tmp/ti && tic /tmp/ti"
31
32         ... or by installing rxvt-unicode normally on the remote system,
33
34         If you cannot or do not want to do this, then you can simply set
35         "TERM=rxvt" or even "TERM=xterm", and live with the small number of
36         problems arising, which includes wrong keymapping, less and
37         different colours and some refresh errors in fullscreen
38         applications. It's a nice quick-and-dirty workaround for rare cases,
39         though.
40
41         If you always want to do this (and are fine with the consequences)
42         you can either recompile rxvt-unicode with the desired TERM value or
43         use a resource to set it:
44
45            URxvt.termName: rxvt
46
47         If you don't plan to use rxvt (quite common...) you could also
48         replace the rxvt terminfo file with the rxvt-unicode one.
49
50     "bash"'s readline does not work correctly under rxvt.
51     I need a termcap file entry.
52         One reason you might want this is that some distributions or
53         operating systems still compile some programs using the
54         long-obsoleted termcap (Fedora Core's bash is one example) and rely
55         on a termcap entry for "rxvt-unicode".
56
57         You could use rxvt's termcap entry with resonable results in many
58         cases. You can also create a termcap entry by using terminfo's
59         infocmp program like this:
60
61            infocmp -C rxvt-unicode
62
63         Or you could use this termcap entry, generated by the command above:
64
65            rxvt-unicode|rxvt-unicode terminal (X Window System):\
66                    :am:bw:eo:km:mi:ms:xn:xo:\
67                    :co#80:it#8:li#24:\
68                    :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\
69                    :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\
70                    :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ae=^O:al=\E[L:\
71                    :as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:\
72                    :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:\
73                    :ec=\E[%dX:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:ic=\E[@:\
74                    :im=\E[4h:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\
75                    :k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\
76                    :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\
77                    :kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:\
78                    :ke=\E[?1l\E>:kh=\E[7~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\
79                    :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:\
80                    :nd=\E[C:rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:\
81                    :st=\EH:ta=^I:te=\E[r\E[?1049l:ti=\E[?1049h:ue=\E[24m:\
82                    :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:\
83                    :vs=\E[?25h:
84
85     Why does "ls" no longer have coloured output?
86         The "ls" in the GNU coreutils unfortunately doesn't use terminfo to
87         decide wether a terminal has colour, but uses it's own configuration
88         file. Needless to say, "rxvt-unicode" is not in it's default file
89         (among with most other terminals supporting colour). Either add:
90
91            TERM rxvt-unicode
92
93         to "/etc/DIR_COLORS" or simply add:
94
95            alias ls='ls --color=auto'
96
97         to your ".profile" or ".bashrc".
98
99     Why doesn't vim/emacs etc. use the 88 colour mode?
100     Why doesn't vim/emacs etc. make use of italic?
101     Why are the secondary screen-related options not working properly?
102         Make sure you are using "TERM=rxvt-unicode". Some pre-packaged
103         distributions (most notably Debian GNU/Linux) break rxvt-unicode by
104         setting "TERM" to "rxvt", which doesn't have these extra features.
105         Unfortunately, some of these (most notably, again, Debian GNU/Linux)
106         furthermore fail to even install the "rxvt-unicode" terminfo file,
107         so you will need to install it on your own (See the question When I
108         log-in to another system it tells me about missing terminfo data? on
109         how to do this).
110
111     My numerical keypad acts weird and generates differing output?
112         Some Debian GNUL/Linux users seem to have this problem, although no
113         specific details were reported so far. It is possible that this is
114         caused by the wrong "TERM" setting, although the details of wether
115         and how this can happen are unknown, as "TERM=rxvt" should offer a
116         compatible keymap. See the answer to the previous question, and
117         please report if that helped.
118
119     Rxvt-unicode does not seem to understand the selected encoding?
120     Unicode does not seem to work?
121         If you encounter strange problems like typing an accented character
122         but getting two unrelated other characters or similar, or if program
123         output is subtly garbled, then you should check your locale
124         settings.
125
126         Rxvt-unicode must be started with the same "LC_CTYPE" setting as the
127         programs. Often rxvt-unicode is started in the "C" locale, while the
128         login script running within the rxvt-unicode window changes the
129         locale to something else, e.g. "en_GB.UTF-8". Needless to say, this
130         is not going to work.
131
132         The best thing is to fix your startup environment, as you will
133         likely run into other problems. If nothing works you can try this in
134         your .profile.
135
136           printf '\e]701;%s\007' "$LC_CTYPE"
137
138         If this doesn't work, then maybe you use a "LC_CTYPE" specification
139         not supported on your systems. Some systems have a "locale" command
140         which displays this (also, "perl -e0" can be used to check locale
141         settings, as it will complain loudly if it cannot set the locale).
142         If it displays something like:
143
144           locale: Cannot set LC_CTYPE to default locale: ...
145
146         Then the locale you specified is not supported on your system.
147
148         If nothing works and you are sure that everything is set correctly
149         then you will need to remember a little known fact: Some programs
150         just don't support locales :(
151
152     Why do some characters look so much different than others?
153     How does rxvt-unicode choose fonts?
154         Most fonts do not contain the full range of Unicode, which is fine.
155         Chances are that the font you (or the admin/package maintainer of
156         your system/os) have specified does not cover all the characters you
157         want to display.
158
159         rxvt-unicode makes a best-effort try at finding a replacement font.
160         Often the result is fine, but sometimes the chosen font looks
161         bad/ugly/wrong. Some fonts have totally strange characters that
162         don't resemble the correct glyph at all, and rxvt-unicode lacks the
163         artificial intelligence to detect that a specific glyph is wrong: it
164         has to believe the font that the characters it claims to contain
165         indeed look correct.
166
167         In that case, select a font of your taste and add it to the font
168         list, e.g.:
169
170            rxvt -fn basefont,font2,font3...
171
172         When rxvt-unicode sees a character, it will first look at the base
173         font. If the base font does not contain the character, it will go to
174         the next font, and so on. Specifying your own fonts will also speed
175         up this search and use less resources within rxvt-unicode and the
176         X-server.
177
178         The only limitation is that none of the fonts may be larger than the
179         base font, as the base font defines the terminal character cell
180         size, which must be the same due to the way terminals work.
181
182     Why do some chinese characters look so different than others?
183         This is because there is a difference between script and language --
184         rxvt-unicode does not know which language the text that is output
185         is, as it only knows the unicode character codes. If rxvt-unicode
186         first sees a japanese/chinese character, it might choose a japanese
187         font for display. Subsequent japanese characters will use that font.
188         Now, many chinese characters aren't represented in japanese fonts,
189         so when the first non-japanese character comes up, rxvt-unicode will
190         look for a chinese font -- unfortunately at this point, it will
191         still use the japanese font for chinese characters that are also in
192         the japanese font.
193
194         The workaround is easy: just tag a chinese font at the end of your
195         font list (see the previous question). The key is to view the font
196         list as a preference list: If you expect more japanese, list a
197         japanese font first. If you expect more chinese, put a chinese font
198         first.
199
200         In the future it might be possible to switch language preferences at
201         runtime (the internal data structure has no problem with using
202         different fonts for the same character at the same time, but no
203         interface for this has been designed yet).
204
205         Until then, you might get away with switching fonts at runtime (see
206         "Can I switch the fonts at runtime?" later in this document).
207
208     Why does rxvt-unicode sometimes leave pixel droppings?
209         Most fonts were not designed for terminal use, which means that
210         character size varies a lot. A font that is otherwise fine for
211         terminal use might contain some characters that are simply too wide.
212         Rxvt-unicode will avoid these characters. For characters that are
213         just "a bit" too wide a special "careful" rendering mode is used
214         that redraws adjacent characters.
215
216         All of this requires that fonts do not lie about character sizes,
217         however: Xft fonts often draw glyphs larger than their acclaimed
218         bounding box, and rxvt-unicode has no way of detecting this (the
219         correct way is to ask for the character bounding box, which
220         unfortunately is wrong in these cases).
221
222         It's not clear (to me at least), wether this is a bug in Xft,
223         freetype, or the respective font. If you encounter this problem you
224         might try using the "-lsp" option to give the font more height. If
225         that doesn't work, you might be forced to use a different font.
226
227         All of this is not a problem when using X11 core fonts, as their
228         bounding box data is correct.
229
230     My Compose (Multi_key) key is no longer working.
231         The most common causes for this are that either your locale is not
232         set correctly, or you specified a preeditStyle that is not supported
233         by your input method. For example, if you specified OverTheSpot and
234         your input method (e.g. the default input method handling Compose
235         keys) does not support this (for instance because it is not visual),
236         then rxvt-unicode will continue without an input method.
237
238         In this case either do not specify a preeditStyle or specify more
239         than one pre-edit style, such as OverTheSpot,Root,None.
240
241     I cannot type "Ctrl-Shift-2" to get an ASCII NUL character due to ISO
242     14755
243         Either try "Ctrl-2" alone (it often is mapped to ASCII NUL even on
244         international keyboards) or simply use ISO 14755 support to your
245         advantage, typing <Ctrl-Shift-0> to get a ASCII NUL. This works for
246         other codes, too, such as "Ctrl-Shift-1-d" to type the default
247         telnet escape character and so on.
248
249     How can I keep rxvt-unicode from using reverse video so much?
250         First of all, make sure you are running with the right terminal
251         settings ("TERM=rxvt-unicode"), which will get rid of most of these
252         effects. Then make sure you have specified colours for italic and
253         bold, as otherwise rxvt-unicode might use reverse video to simulate
254         the effect:
255
256            URxvt.colorBD:  white
257            URxvt.colorIT:  green
258
259     Some programs assume totally weird colours (red instead of blue), how
260     can I fix that?
261         For some unexplainable reason, some rare programs assume a very
262         weird colour palette when confronted with a terminal with more than
263         the standard 8 colours (rxvt-unicode supports 88). The right fix is,
264         of course, to fix these programs not to assume non-ISO colours
265         without very good reasons.
266
267         In the meantime, you can either edit your "rxvt-unicode" terminfo
268         definition to only claim 8 colour support or use "TERM=rxvt", which
269         will fix colours but keep you from using other rxvt-unicode
270         features.
271
272     I am on FreeBSD and rxvt-unicode does not seem to work at all.
273         Rxvt-unicode requires the symbol "__STDC_ISO_10646__" to be defined
274         in your compile environment, or an implementation that implements
275         it, wether it defines the symbol or not. "__STDC_ISO_10646__"
276         requires that wchar_t is represented as unicode.
277
278         As you might have guessed, FreeBSD does neither define this symobl
279         nor does it support it. Instead, it uses it's own internal
280         representation of wchar_t. This is, of course, completely fine with
281         respect to standards.
282
283         However, "__STDC_ISO_10646__" is the only sane way to support
284         multi-language apps in an OS, as using a locale-dependent (and
285         non-standardized) representation of wchar_t makes it impossible to
286         convert between wchar_t (as used by X11 and your applications) and
287         any other encoding without implementing OS-specific-wrappers for
288         each and every locale. There simply are no APIs to convert wchar_t
289         into anything except the current locale encoding.
290
291         Some applications (such as the formidable mlterm) work around this
292         by carrying their own replacement functions for character set
293         handling with them, and either implementing OS-dependent hacks or
294         doing multiple conversions (which is slow and unreliable in case the
295         OS implements encodings slightly different than the terminal
296         emulator).
297
298         The rxvt-unicode author insists that the right way to fix this is in
299         the system libraries once and for all, instead of forcing every app
300         to carry complete replacements for them :)
301
302     How does rxvt-unicode determine the encoding to use?
303     Is there an option to switch encodings?
304         Unlike some other terminals, rxvt-unicode has no encoding switch,
305         and no specific "utf-8" mode, such as xterm. In fact, it doesn't
306         even know about UTF-8 or any other encodings with respect to
307         terminal I/O.
308
309         The reasons is that there exists a perfectly fine mechanism for
310         selecting the encoding, doing I/O and (most important) communicating
311         this to all applications so everybody agrees on character properties
312         such as width and code number. This mechanism is the *locale*.
313         Applications not using that info will have problems (for example,
314         "xterm" gets the width of characters wrong as it uses it's own,
315         locale-independent table under all locales).
316
317         Rxvt-unicode uses the "LC_CTYPE" locale category to select encoding.
318         All programs doing the same (that is, most) will automatically agree
319         in the interpretation of characters.
320
321         Unfortunately, there is no system-independent way to select locales,
322         nor is there a standard on how locale specifiers will look like.
323
324         On most systems, the content of the "LC_CTYPE" environment variable
325         contains an arbitrary string which corresponds to an
326         already-installed locale. Common names for locales are
327         "en_US.UTF-8", "de_DE.ISO-8859-15", "ja_JP.EUC-JP", i.e.
328         "language_country.encoding", but other forms (i.e. "de" or "german")
329         are also common.
330
331         Rxvt-unicode ignores all other locale categories, and except for the
332         encoding, ignores country or language-specific settings, i.e.
333         "de_DE.UTF-8" and "ja_JP.UTF-8" are the normally same to
334         rxvt-unicode.
335
336         If you want to use a specific encoding you have to make sure you
337         start rxvt-unicode with the correct "LC_CTYPE" category.
338
339     Can I switch locales at runtime?
340         Yes, using an escape sequence. Try something like this, which sets
341         rxvt-unicode's idea of "LC_CTYPE".
342
343           printf '\e]701;%s\007' ja_JP.SJIS
344
345         See also the previous answer.
346
347         Sometimes this capability is rather handy when you want to work in
348         one locale (e.g. "de_DE.UTF-8") but some programs don't support it
349         (e.g. UTF-8). For example, I use this script to start "xjdic", which
350         first switches to a locale supported by xjdic and back later:
351
352            printf '\e]701;%s\007' ja_JP.SJIS
353            xjdic -js
354            printf '\e]701;%s\007' de_DE.UTF-8
355
356         You can also use xterm's "luit" program, which usually works fine,
357         except for some locales where character width differs between
358         program- and rxvt-unicode-locales.
359
360     Can I switch the fonts at runtime?
361         Yes, using an escape sequence. Try something like this, which has
362         the same effect as using the "-fn" switch, and takes effect
363         immediately:
364
365            printf '\e]50;%s\007' "9x15bold,xft:Kochi Gothic"
366
367         This is useful if you e.g. work primarily with japanese (and prefer
368         a japanese font), but you have to switch to chinese temporarily,
369         where japanese fonts would only be in your way.
370
371         You can think of this as a kind of manual ISO-2022 switching.
372
373     Why do italic characters look as if clipped?
374         Many fonts have difficulties with italic characters and hinting. For
375         example, the otherwise very nicely hinted font "xft:Bitstream Vera
376         Sans Mono" completely fails in it's italic face. A workaround might
377         be to enable freetype autohinting, i.e. like this:
378
379            URxvt.italicFont:        xft:Bitstream Vera Sans Mono:italic:autohint=true
380            URxvt.boldItalicFont:    xft:Bitstream Vera Sans Mono:bold:italic:autohint=true
381
382     My input method wants <some encoding> but I want UTF-8, what can I do?
383         You can specify separate locales for the input method and the rest
384         of the terminal, using the resource "imlocale":
385
386            URxvt*imlocale: ja_JP.EUC-JP
387
388         Now you can start your terminal with "LC_CTYPE=ja_JP.UTF-8" and
389         still use your input method. Please note, however, that you will not
390         be able to input characters outside "EUC-JP" in a normal way then,
391         as your input method limits you.
392
393     Rxvt-unicode crashes when the X Input Method changes or exits.
394         Unfortunately, this is unavoidable, as the XIM protocol is racy by
395         design. Applications can avoid some crashes at the expense of memory
396         leaks, and Input Methods can avoid some crashes by careful ordering
397         at exit time. kinput2 (and derived input methods) generally
398         succeeds, while SCIM (or similar input methods) fails. In the end,
399         however, crashes cannot be completely avoided even if both sides
400         cooperate.
401
402         So the only workaround is not to kill your Input Method Servers.
403
404     Rxvt-unicode uses gobs of memory, how can I reduce that?
405         Rxvt-unicode tries to obey the rule of not charging you for
406         something you don't use. One thing you should try is to configure
407         out all settings that you don't need, for example, Xft support is a
408         resource hog by design, when used. Compiling it out ensures that no
409         Xft font will be loaded accidentally when rxvt-unicode tries to find
410         a font for your characters.
411
412         Also, many people (me included) like large windows and even larger
413         scrollback buffers: Without "--enable-unicode3", rxvt-unicode will
414         use 6 bytes per screen cell. For a 160x?? window this amounts to
415         almost a kilobyte per line. A scrollback buffer of 10000 lines will
416         then (if full) use 10 Megabytes of memory. With "--enable-unicode3"
417         it gets worse, as rxvt-unicode then uses 8 bytes per screen cell.
418
419     Can I speed up Xft rendering somehow?
420         Yes, the most obvious way to speed it up is to avoid Xft entirely,
421         as it is simply slow. If you still want Xft fonts you might try to
422         disable antialiasing (by appending ":antialiasing=false"), which
423         saves lots of memory and also speeds up rendering considerably.
424
425     Rxvt-unicode doesn't seem to anti-alias its fonts, what is wrong?
426         Rxvt-unicode will use whatever you specify as a font. If it needs to
427         fall back to it's default font search list it will prefer X11 core
428         fonts, because they are small and fast, and then use Xft fonts. It
429         has antialiasing disabled for most of them, because the author
430         thinks they look best that way.
431
432         If you want antialiasing, you have to specify the fonts manually.
433
434     Mouse cut/paste suddenly no longer works.
435         Make sure that mouse reporting is actually turned off since killing
436         some editors prematurely may leave the mouse in mouse report mode.
437         I've heard that tcsh may use mouse reporting unless it otherwise
438         specified. A quick check is to see if cut/paste works when the Alt
439         or Shift keys are depressed. See rxvt(7)
440
441     What's with this bold/blink stuff?
442         If no bold colour is set via "colorBD:", bold will invert text using
443         the standard foreground colour.
444
445         For the standard background colour, blinking will actually make the
446         text blink when compiled with "--enable-blinking". with standard
447         colours. Without "--enable-blinking", the blink attribute will be
448         ignored.
449
450         On ANSI colours, bold/blink attributes are used to set
451         high-intensity foreground/background colors.
452
453         color0-7 are the low-intensity colors.
454
455         color8-15 are the corresponding high-intensity colors.
456
457     I don't like the screen colors. How do I change them?
458         You can change the screen colors at run-time using ~/.Xdefaults
459         resources (or as long-options).
460
461         Here are values that are supposed to resemble a VGA screen,
462         including the murky brown that passes for low-intensity yellow:
463
464            URxvt.color0:   #000000
465            URxvt.color1:   #A80000
466            URxvt.color2:   #00A800
467            URxvt.color3:   #A8A800
468            URxvt.color4:   #0000A8
469            URxvt.color5:   #A800A8
470            URxvt.color6:   #00A8A8
471            URxvt.color7:   #A8A8A8
472
473            URxvt.color8:   #000054
474            URxvt.color9:   #FF0054
475            URxvt.color10:  #00FF54
476            URxvt.color11:  #FFFF54
477            URxvt.color12:  #0000FF
478            URxvt.color13:  #FF00FF
479            URxvt.color14:  #00FFFF
480            URxvt.color15:  #FFFFFF
481
482         And here is a more complete set of non-standard colors described
483         (not by me) as "pretty girly".
484
485            URxvt.cursorColor:  #dc74d1
486            URxvt.pointerColor: #dc74d1
487            URxvt.background:   #0e0e0e
488            URxvt.foreground:   #4ad5e1
489            URxvt.color0:       #000000
490            URxvt.color8:       #8b8f93
491            URxvt.color1:       #dc74d1
492            URxvt.color9:       #dc74d1
493            URxvt.color2:       #0eb8c7
494            URxvt.color10:      #0eb8c7
495            URxvt.color3:       #dfe37e
496            URxvt.color11:      #dfe37e
497            URxvt.color5:       #9e88f0
498            URxvt.color13:      #9e88f0
499            URxvt.color6:       #73f7ff
500            URxvt.color14:      #73f7ff
501            URxvt.color7:       #e1dddd
502            URxvt.color15:      #e1dddd
503
504     How can I start rxvtd in a race-free way?
505         Despite it's name, rxvtd is not a real daemon, but more like a
506         server that answers rxvtc's requests, so it doesn't background
507         itself.
508
509         To ensure rxvtd is listening on it's socket, you can use the
510         following method to wait for the startup message before continuing:
511
512           { rxvtd & } | read
513
514     What's with the strange Backspace/Delete key behaviour?
515         Assuming that the physical Backspace key corresponds to the
516         BackSpace keysym (not likely for Linux ... see the following
517         question) there are two standard values that can be used for
518         Backspace: "^H" and "^?".
519
520         Historically, either value is correct, but rxvt-unicode adopts the
521         debian policy of using "^?" when unsure, because it's the one only
522         only correct choice :).
523
524         Rxvt-unicode tries to inherit the current stty settings and uses the
525         value of `erase' to guess the value for backspace. If rxvt-unicode
526         wasn't started from a terminal (say, from a menu or by remote
527         shell), then the system value of `erase', which corresponds to
528         CERASE in <termios.h>, will be used (which may not be the same as
529         your stty setting).
530
531         For starting a new rxvt-unicode:
532
533            # use Backspace = ^H
534            $ stty erase ^H
535            $ rxvt
536
537            # use Backspace = ^?
538            $ stty erase ^?
539            $ rxvt
540
541         Toggle with "ESC [ 36 h" / "ESC [ 36 l" as documented in rxvt(7).
542
543         For an existing rxvt-unicode:
544
545            # use Backspace = ^H
546            $ stty erase ^H
547            $ echo -n "^[[36h"
548
549            # use Backspace = ^?
550            $ stty erase ^?
551            $ echo -n "^[[36l"
552
553         This helps satisfy some of the Backspace discrepancies that occur,
554         but if you use Backspace = "^H", make sure that the termcap/terminfo
555         value properly reflects that.
556
557         The Delete key is a another casualty of the ill-defined Backspace
558         problem. To avoid confusion between the Backspace and Delete keys,
559         the Delete key has been assigned an escape sequence to match the
560         vt100 for Execute ("ESC [ 3 ~") and is in the supplied
561         termcap/terminfo.
562
563         Some other Backspace problems:
564
565         some editors use termcap/terminfo, some editors (vim I'm told)
566         expect Backspace = ^H, GNU Emacs (and Emacs-like editors) use ^H for
567         help.
568
569         Perhaps someday this will all be resolved in a consistent manner.
570
571     I don't like the key-bindings. How do I change them?
572         There are some compile-time selections available via configure.
573         Unless you have run "configure" with the "--disable-resources"
574         option you can use the `keysym' resource to alter the keystrings
575         associated with keysyms.
576
577         Here's an example for a URxvt session started using "rxvt -name
578         URxvt"
579
580            URxvt.keysym.Home:          \033[1~
581            URxvt.keysym.End:           \033[4~
582            URxvt.keysym.C-apostrophe:  \033<C-'>
583            URxvt.keysym.C-slash:       \033<C-/>
584            URxvt.keysym.C-semicolon:   \033<C-;>
585            URxvt.keysym.C-grave:       \033<C-`>
586            URxvt.keysym.C-comma:       \033<C-,>
587            URxvt.keysym.C-period:      \033<C-.>
588            URxvt.keysym.C-0x60:        \033<C-`>
589            URxvt.keysym.C-Tab:         \033<C-Tab>
590            URxvt.keysym.C-Return:      \033<C-Return>
591            URxvt.keysym.S-Return:      \033<S-Return>
592            URxvt.keysym.S-space:       \033<S-Space>
593            URxvt.keysym.M-Up:          \033<M-Up>
594            URxvt.keysym.M-Down:        \033<M-Down>
595            URxvt.keysym.M-Left:        \033<M-Left>
596            URxvt.keysym.M-Right:       \033<M-Right>
597            URxvt.keysym.M-C-0:         list \033<M-C- 0123456789 >
598            URxvt.keysym.M-C-a:         list \033<M-C- abcdefghijklmnopqrstuvwxyz >
599            URxvt.keysym.F12:           command:\033]701;zh_CN.GBK\007
600
601         See some more examples in the documentation for the keysym resource.
602
603     I'm using keyboard model XXX that has extra Prior/Next/Insert keys. How
604     do I make use of them? For example, the Sun Keyboard type 4 has the
605     following mappings that rxvt-unicode doesn't recognize.
606            KP_Insert == Insert
607            F22 == Print
608            F27 == Home
609            F29 == Prior
610            F33 == End
611            F35 == Next
612
613         Rather than have rxvt-unicode try to accommodate all the various
614         possible keyboard mappings, it is better to use `xmodmap' to remap
615         the keys as required for your particular machine.
616
617     How do I distinguish wether I'm running rxvt-unicode or a regular xterm?
618     I need this to decide about setting colors etc.
619         rxvt and rxvt-unicode always export the variable "COLORTERM", so you
620         can check and see if that is set. Note that several programs, JED,
621         slrn, Midnight Commander automatically check this variable to decide
622         whether or not to use color.
623
624     How do I set the correct, full IP address for the DISPLAY variable?
625         If you've compiled rxvt-unicode with DISPLAY_IS_IP and have enabled
626         insecure mode then it is possible to use the following shell script
627         snippets to correctly set the display. If your version of
628         rxvt-unicode wasn't also compiled with ESCZ_ANSWER (as assumed in
629         these snippets) then the COLORTERM variable can be used to
630         distinguish rxvt-unicode from a regular xterm.
631
632         Courtesy of Chuck Blake <cblake@BBN.COM> with the following shell
633         script snippets:
634
635            # Bourne/Korn/POSIX family of shells:
636            [ ${TERM:-foo} = foo ] && TERM=xterm # assume an xterm if we don't know
637            if [ ${TERM:-foo} = xterm ]; then
638               stty -icanon -echo min 0 time 15 # see if enhanced rxvt or not
639               echo -n '^[Z'
640               read term_id
641               stty icanon echo
642               if [ ""${term_id} = '^[[?1;2C' -a ${DISPLAY:-foo} = foo ]; then
643                  echo -n '^[[7n'        # query the rxvt we are in for the DISPLAY string
644                  read DISPLAY           # set it in our local shell
645               fi
646            fi
647
648     How do I compile the manual pages for myself?
649         You need to have a recent version of perl installed as
650         /usr/bin/perl, one that comes with pod2man, pod2text and pod2html.
651         Then go to the doc subdirectory and enter "make alldoc".
652
653     My question isn't answered here, can I ask a human?
654         Before sending me mail, you could go to IRC: "irc.freenode.net",
655         channel "#rxvt-unicode" has some rxvt-unicode enthusiasts that might
656         be interested in learning about new and exciting problems (but not
657         FAQs :).
658