*** 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 uses gobs of memory, how can I reduce that?
394         Rxvt-unicode tries to obey the rule of not charging you for
395         something you don't use. One thing you should try is to configure
396         out all settings that you don't need, for example, Xft support is a
397         resource hog by design, when used. Compiling it out ensures that no
398         Xft font will be loaded accidentally when rxvt-unicode tries to find
399         a font for your characters.
400
401         Also, many people (me included) like large windows and even larger
402         scrollback buffers: Without "--enable-unicode3", rxvt-unicode will
403         use 6 bytes per screen cell. For a 160x?? window this amounts to
404         almost a kilobyte per line. A scrollback buffer of 10000 lines will
405         then (if full) use 10 Megabytes of memory. With "--enable-unicode3"
406         it gets worse, as rxvt-unicode then uses 8 bytes per screen cell.
407
408     Can I speed up Xft rendering somehow?
409         Yes, the most obvious way to speed it up is to avoid Xft entirely,
410         as it is simply slow. If you still want Xft fonts you might try to
411         disable antialiasing (by appending ":antialiasing=false"), which
412         saves lots of memory and also speeds up rendering considerably.
413
414     Rxvt-unicode doesn't seem to anti-alias its fonts, what is wrong?
415         Rxvt-unicode will use whatever you specify as a font. If it needs to
416         fall back to it's default font search list it will prefer X11 core
417         fonts, because they are small and fast, and then use Xft fonts. It
418         has antialiasing disabled for most of them, because the author
419         thinks they look best that way.
420
421         If you want antialiasing, you have to specify the fonts manually.
422
423     Mouse cut/paste suddenly no longer works.
424         Make sure that mouse reporting is actually turned off since killing
425         some editors prematurely may leave the mouse in mouse report mode.
426         I've heard that tcsh may use mouse reporting unless it otherwise
427         specified. A quick check is to see if cut/paste works when the Alt
428         or Shift keys are depressed. See rxvt(7)
429
430     What's with this bold/blink stuff?
431         If no bold colour is set via "colorBD:", bold will invert text using
432         the standard foreground colour.
433
434         For the standard background colour, blinking will actually make the
435         text blink when compiled with "--enable-blinking". with standard
436         colours. Without "--enable-blinking", the blink attribute will be
437         ignored.
438
439         On ANSI colours, bold/blink attributes are used to set
440         high-intensity foreground/background colors.
441
442         color0-7 are the low-intensity colors.
443
444         color8-15 are the corresponding high-intensity colors.
445
446     I don't like the screen colors. How do I change them?
447         You can change the screen colors at run-time using ~/.Xdefaults
448         resources (or as long-options).
449
450         Here are values that are supposed to resemble a VGA screen,
451         including the murky brown that passes for low-intensity yellow:
452
453            URxvt.color0:   #000000
454            URxvt.color1:   #A80000
455            URxvt.color2:   #00A800
456            URxvt.color3:   #A8A800
457            URxvt.color4:   #0000A8
458            URxvt.color5:   #A800A8
459            URxvt.color6:   #00A8A8
460            URxvt.color7:   #A8A8A8
461
462            URxvt.color8:   #000054
463            URxvt.color9:   #FF0054
464            URxvt.color10:  #00FF54
465            URxvt.color11:  #FFFF54
466            URxvt.color12:  #0000FF
467            URxvt.color13:  #FF00FF
468            URxvt.color14:  #00FFFF
469            URxvt.color15:  #FFFFFF
470
471         And here is a more complete set of non-standard colors described
472         (not by me) as "pretty girly".
473
474            URxvt.cursorColor:  #dc74d1
475            URxvt.pointerColor: #dc74d1
476            URxvt.background:   #0e0e0e
477            URxvt.foreground:   #4ad5e1
478            URxvt.color0:       #000000
479            URxvt.color8:       #8b8f93
480            URxvt.color1:       #dc74d1
481            URxvt.color9:       #dc74d1
482            URxvt.color2:       #0eb8c7
483            URxvt.color10:      #0eb8c7
484            URxvt.color3:       #dfe37e
485            URxvt.color11:      #dfe37e
486            URxvt.color5:       #9e88f0
487            URxvt.color13:      #9e88f0
488            URxvt.color6:       #73f7ff
489            URxvt.color14:      #73f7ff
490            URxvt.color7:       #e1dddd
491            URxvt.color15:      #e1dddd
492
493     How can I start rxvtd in a race-free way?
494         Despite it's name, rxvtd is not a real daemon, but more like a
495         server that answers rxvtc's requests, so it doesn't background
496         itself.
497
498         To ensure rxvtd is listening on it's socket, you can use the
499         following method to wait for the startup message before continuing:
500
501           { rxvtd & } | read
502
503     What's with the strange Backspace/Delete key behaviour?
504         Assuming that the physical Backspace key corresponds to the
505         BackSpace keysym (not likely for Linux ... see the following
506         question) there are two standard values that can be used for
507         Backspace: "^H" and "^?".
508
509         Historically, either value is correct, but rxvt-unicode adopts the
510         debian policy of using "^?" when unsure, because it's the one only
511         only correct choice :).
512
513         Rxvt-unicode tries to inherit the current stty settings and uses the
514         value of `erase' to guess the value for backspace. If rxvt-unicode
515         wasn't started from a terminal (say, from a menu or by remote
516         shell), then the system value of `erase', which corresponds to
517         CERASE in <termios.h>, will be used (which may not be the same as
518         your stty setting).
519
520         For starting a new rxvt-unicode:
521
522            # use Backspace = ^H
523            $ stty erase ^H
524            $ rxvt
525
526            # use Backspace = ^?
527            $ stty erase ^?
528            $ rxvt
529
530         Toggle with "ESC [ 36 h" / "ESC [ 36 l" as documented in rxvt(7).
531
532         For an existing rxvt-unicode:
533
534            # use Backspace = ^H
535            $ stty erase ^H
536            $ echo -n "^[[36h"
537
538            # use Backspace = ^?
539            $ stty erase ^?
540            $ echo -n "^[[36l"
541
542         This helps satisfy some of the Backspace discrepancies that occur,
543         but if you use Backspace = "^H", make sure that the termcap/terminfo
544         value properly reflects that.
545
546         The Delete key is a another casualty of the ill-defined Backspace
547         problem. To avoid confusion between the Backspace and Delete keys,
548         the Delete key has been assigned an escape sequence to match the
549         vt100 for Execute ("ESC [ 3 ~") and is in the supplied
550         termcap/terminfo.
551
552         Some other Backspace problems:
553
554         some editors use termcap/terminfo, some editors (vim I'm told)
555         expect Backspace = ^H, GNU Emacs (and Emacs-like editors) use ^H for
556         help.
557
558         Perhaps someday this will all be resolved in a consistent manner.
559
560     I don't like the key-bindings. How do I change them?
561         There are some compile-time selections available via configure.
562         Unless you have run "configure" with the "--disable-resources"
563         option you can use the `keysym' resource to alter the keystrings
564         associated with keysyms.
565
566         Here's an example for a URxvt session started using "rxvt -name
567         URxvt"
568
569            URxvt.keysym.Home:          \033[1~
570            URxvt.keysym.End:           \033[4~
571            URxvt.keysym.C-apostrophe:  \033<C-'>
572            URxvt.keysym.C-slash:       \033<C-/>
573            URxvt.keysym.C-semicolon:   \033<C-;>
574            URxvt.keysym.C-grave:       \033<C-`>
575            URxvt.keysym.C-comma:       \033<C-,>
576            URxvt.keysym.C-period:      \033<C-.>
577            URxvt.keysym.C-0x60:        \033<C-`>
578            URxvt.keysym.C-Tab:         \033<C-Tab>
579            URxvt.keysym.C-Return:      \033<C-Return>
580            URxvt.keysym.S-Return:      \033<S-Return>
581            URxvt.keysym.S-space:       \033<S-Space>
582            URxvt.keysym.M-Up:          \033<M-Up>
583            URxvt.keysym.M-Down:        \033<M-Down>
584            URxvt.keysym.M-Left:        \033<M-Left>
585            URxvt.keysym.M-Right:       \033<M-Right>
586            URxvt.keysym.M-C-0:         list \033<M-C- 0123456789 >
587            URxvt.keysym.M-C-a:         list \033<M-C- abcdefghijklmnopqrstuvwxyz >
588            URxvt.keysym.F12:           command:\033]701;zh_CN.GBK\007
589
590         See some more examples in the documentation for the keysym resource.
591
592     I'm using keyboard model XXX that has extra Prior/Next/Insert keys. How
593     do I make use of them? For example, the Sun Keyboard type 4 has the
594     following mappings that rxvt-unicode doesn't recognize.
595            KP_Insert == Insert
596            F22 == Print
597            F27 == Home
598            F29 == Prior
599            F33 == End
600            F35 == Next
601
602         Rather than have rxvt-unicode try to accommodate all the various
603         possible keyboard mappings, it is better to use `xmodmap' to remap
604         the keys as required for your particular machine.
605
606     How do I distinguish wether I'm running rxvt-unicode or a regular xterm?
607     I need this to decide about setting colors etc.
608         rxvt and rxvt-unicode always export the variable "COLORTERM", so you
609         can check and see if that is set. Note that several programs, JED,
610         slrn, Midnight Commander automatically check this variable to decide
611         whether or not to use color.
612
613     How do I set the correct, full IP address for the DISPLAY variable?
614         If you've compiled rxvt-unicode with DISPLAY_IS_IP and have enabled
615         insecure mode then it is possible to use the following shell script
616         snippets to correctly set the display. If your version of
617         rxvt-unicode wasn't also compiled with ESCZ_ANSWER (as assumed in
618         these snippets) then the COLORTERM variable can be used to
619         distinguish rxvt-unicode from a regular xterm.
620
621         Courtesy of Chuck Blake <cblake@BBN.COM> with the following shell
622         script snippets:
623
624            # Bourne/Korn/POSIX family of shells:
625            [ ${TERM:-foo} = foo ] && TERM=xterm # assume an xterm if we don't know
626            if [ ${TERM:-foo} = xterm ]; then
627               stty -icanon -echo min 0 time 15 # see if enhanced rxvt or not
628               echo -n '^[Z'
629               read term_id
630               stty icanon echo
631               if [ ""${term_id} = '^[[?1;2C' -a ${DISPLAY:-foo} = foo ]; then
632                  echo -n '^[[7n'        # query the rxvt we are in for the DISPLAY string
633                  read DISPLAY           # set it in our local shell
634               fi
635            fi
636
637     How do I compile the manual pages for myself?
638         You need to have a recent version of perl installed as
639         /usr/bin/perl, one that comes with pod2man, pod2text and pod2html.
640         Then go to the doc subdirectory and enter "make alldoc".
641
642     My question isn't answered here, can I ask a human?
643         Before sending me mail, you could go to IRC: "irc.freenode.net",
644         channel "#rxvt-unicode" has some rxvt-unicode enthusiasts that might
645         be interested in learning about new and exciting problems (but not
646         FAQs :).
647