ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/doc/rxvt.7.txt
Revision: 1.29
Committed: Mon Jan 2 15:11:05 2006 UTC (18 years, 6 months ago) by root
Content type: text/plain
Branch: MAIN
CVS Tags: rel-6_2
Changes since 1.28: +16 -12 lines
Log Message:
*** empty log message ***

File Contents

# Content
1 NAME
2 RXVT REFERENCE - FAQ, command sequences and other background information
3
4 SYNOPSIS
5 # set a new font set
6 printf '\33]50;%s\007' 9x15,xft:Kochi" Mincho"
7
8 # change the locale and tell rxvt-unicode about it
9 export LC_CTYPE=ja_JP.EUC-JP; printf "\33]701;$LC_CTYPE\007"
10
11 # set window title
12 printf '\33]2;%s\007' "new window title"
13
14 DESCRIPTION
15 This document contains the FAQ, the RXVT TECHNICAL REFERENCE documenting
16 all escape sequences, and other background information.
17
18 The newest version of this document is also available on the World Wide
19 Web at
20 <http://cvs.schmorp.de/browse/*checkout*/rxvt-unicode/doc/rxvt.7.html>.
21
22 FREQUENTLY ASKED QUESTIONS
23 Isn't rxvt supposed to be small? Don't all those features bloat?
24 I often get asked about this, and I think, no, they didn't cause
25 extra bloat. If you compare a minimal rxvt and a minimal urxvt, you
26 can see that the urxvt binary is larger (due to some encoding tables
27 always being compiled in), but it actually uses less memory (RSS)
28 after startup. Even with "--disable-everything", this comparison is
29 a bit unfair, as many features unique to urxvt (locale, encoding
30 conversion, iso14755 etc.) are already in use in this mode.
31
32 text data bss drs rss filename
33 98398 1664 24 15695 1824 rxvt --disable-everything
34 188985 9048 66616 18222 1788 urxvt --disable-everything
35
36 When you "--enable-everything" (which _is_ unfair, as this involves
37 xft and full locale/XIM support which are quite bloaty inside libX11
38 and my libc), the two diverge, but not unreasnobaly so.
39
40 text data bss drs rss filename
41 163431 2152 24 20123 2060 rxvt --enable-everything
42 1035683 49680 66648 29096 3680 urxvt --enable-everything
43
44 The very large size of the text section is explained by the
45 east-asian encoding tables, which, if unused, take up disk space but
46 nothing else and can be compiled out unless you rely on X11 core
47 fonts that use those encodings. The BSS size comes from the 64k
48 emergency buffer that my c++ compiler allocates (but of course
49 doesn't use unless you are out of memory). Also, using an xft font
50 instead of a core font immediately adds a few megabytes of RSS. Xft
51 indeed is responsible for a lot of RSS even when not used.
52
53 Of course, due to every character using two or four bytes instead of
54 one, a large scrollback buffer will ultimately make rxvt-unicode use
55 more memory.
56
57 Compared to e.g. Eterm (5112k), aterm (3132k) and xterm (4680k),
58 this still fares rather well. And compared to some monsters like
59 gnome-terminal (21152k + extra 4204k in separate processes) or
60 konsole (22200k + extra 43180k in daemons that stay around after
61 exit, plus half aminute of startup time, including the hundreds of
62 warnings it spits out), it fares extremely well *g*.
63
64 Why C++, isn't that unportable/bloated/uncool?
65 Is this a question? :) It comes up very often. The simple answer is:
66 I had to write it, and C++ allowed me to write and maintain it in a
67 fraction of the time and effort (which is a scarce resource for me).
68 Put even shorter: It simply wouldn't exist without C++.
69
70 My personal stance on this is that C++ is less portable than C, but
71 in the case of rxvt-unicode this hardly matters, as its portability
72 limits are defined by things like X11, pseudo terminals, locale
73 support and unix domain sockets, which are all less portable than
74 C++ itself.
75
76 Regarding the bloat, see the above question: It's easy to write
77 programs in C that use gobs of memory, an certainly possible to
78 write programs in C++ that don't. C++ also often comes with large
79 libraries, but this is not necessarily the case with GCC. Here is
80 what rxvt links against on my system with a minimal config:
81
82 libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00002aaaaabc3000)
83 libc.so.6 => /lib/libc.so.6 (0x00002aaaaadde000)
84 libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab01d000)
85 /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000)
86
87 And here is rxvt-unicode:
88
89 libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00002aaaaabc3000)
90 libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00002aaaaada2000)
91 libc.so.6 => /lib/libc.so.6 (0x00002aaaaaeb0000)
92 libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab0ee000)
93 /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000)
94
95 No large bloated libraries (of course, none were linked in
96 statically), except maybe libX11 :)
97
98 Does it support tabs, can I have a tabbed rxvt-unicode?
99 rxvt-unicode does not directly support tabs. It will work fine with
100 tabbing functionality of many window managers or similar tabbing
101 programs, and its embedding-features allow it to be embedded into
102 other programs, as witnessed by doc/rxvt-tabbed or the upcoming
103 "Gtk2::URxvt" perl module, which features a tabbed urxvt (murxvt)
104 terminal as an example embedding application.
105
106 How do I know which rxvt-unicode version I'm using?
107 The version number is displayed with the usage (-h). Also the escape
108 sequence "ESC [ 8 n" sets the window title to the version number.
109 When using the rxvtc client, the version displayed is that of the
110 daemon.
111
112 I am using Debian GNU/Linux and have a problem...
113 The Debian GNU/Linux package of rxvt-unicode in sarge contains large
114 patches that considerably change the behaviour of rxvt-unicode.
115 Before reporting a bug to the original rxvt-unicode author please
116 download and install the genuine version
117 (<http://software.schmorp.de#rxvt-unicode>) and try to reproduce the
118 problem. If you cannot, chances are that the problems are specific
119 to Debian GNU/Linux, in which case it should be reported via the
120 Debian Bug Tracking System (use "reportbug" to report the bug).
121
122 For other problems that also affect the Debian package, you can and
123 probably should use the Debian BTS, too, because, after all, it's
124 also a bug in the Debian version and it serves as a reminder for
125 other users that might encounter the same issue.
126
127 When I log-in to another system it tells me about missing terminfo data?
128 The terminal description used by rxvt-unicode is not as widely
129 available as that for xterm, or even rxvt (for which the same
130 problem often arises).
131
132 The correct solution for this problem is to install the terminfo,
133 this can be done like this (with ncurses' infocmp):
134
135 REMOTE=remotesystem.domain
136 infocmp rxvt-unicode | ssh $REMOTE "cat >/tmp/ti && tic /tmp/ti"
137
138 ... or by installing rxvt-unicode normally on the remote system,
139
140 If you cannot or do not want to do this, then you can simply set
141 "TERM=rxvt" or even "TERM=xterm", and live with the small number of
142 problems arising, which includes wrong keymapping, less and
143 different colours and some refresh errors in fullscreen
144 applications. It's a nice quick-and-dirty workaround for rare cases,
145 though.
146
147 If you always want to do this (and are fine with the consequences)
148 you can either recompile rxvt-unicode with the desired TERM value or
149 use a resource to set it:
150
151 URxvt.termName: rxvt
152
153 If you don't plan to use rxvt (quite common...) you could also
154 replace the rxvt terminfo file with the rxvt-unicode one.
155
156 "tic" outputs some error when compiling the terminfo entry.
157 Most likely it's the empty definition for "enacs=". Just replace it
158 by "enacs=\E[0@" and try again.
159
160 "bash"'s readline does not work correctly under rxvt.
161 I need a termcap file entry.
162 One reason you might want this is that some distributions or
163 operating systems still compile some programs using the
164 long-obsoleted termcap library (Fedora Core's bash is one example)
165 and rely on a termcap entry for "rxvt-unicode".
166
167 You could use rxvt's termcap entry with resonable results in many
168 cases. You can also create a termcap entry by using terminfo's
169 infocmp program like this:
170
171 infocmp -C rxvt-unicode
172
173 Or you could use this termcap entry, generated by the command above:
174
175 rxvt-unicode|rxvt-unicode terminal (X Window System):\
176 :am:bw:eo:km:mi:ms:xn:xo:\
177 :co#80:it#8:li#24:lm#0:\
178 :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\
179 :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\
180 :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ae=\E(B:al=\E[L:\
181 :as=\E(0:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\
182 :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\
183 :dl=\E[M:do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:\
184 :i1=\E[?47l\E=\E[?1l:ic=\E[@:im=\E[4h:\
185 :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\
186 :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\
187 :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:kD=\E[3~:\
188 :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:\
189 :kh=\E[7~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\
190 :mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:rc=\E8:\
191 :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
192 :te=\E[r\E[?1049l:ti=\E[?1049h:ue=\E[24m:up=\E[A:\
193 :us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:\
194 :vs=\E[?25h:
195
196 Why does "ls" no longer have coloured output?
197 The "ls" in the GNU coreutils unfortunately doesn't use terminfo to
198 decide wether a terminal has colour, but uses it's own configuration
199 file. Needless to say, "rxvt-unicode" is not in it's default file
200 (among with most other terminals supporting colour). Either add:
201
202 TERM rxvt-unicode
203
204 to "/etc/DIR_COLORS" or simply add:
205
206 alias ls='ls --color=auto'
207
208 to your ".profile" or ".bashrc".
209
210 Why doesn't vim/emacs etc. use the 88 colour mode?
211 Why doesn't vim/emacs etc. make use of italic?
212 Why are the secondary screen-related options not working properly?
213 Make sure you are using "TERM=rxvt-unicode". Some pre-packaged
214 distributions (most notably Debian GNU/Linux) break rxvt-unicode by
215 setting "TERM" to "rxvt", which doesn't have these extra features.
216 Unfortunately, some of these (most notably, again, Debian GNU/Linux)
217 furthermore fail to even install the "rxvt-unicode" terminfo file,
218 so you will need to install it on your own (See the question When I
219 log-in to another system it tells me about missing terminfo data? on
220 how to do this).
221
222 My numerical keypad acts weird and generates differing output?
223 Some Debian GNUL/Linux users seem to have this problem, although no
224 specific details were reported so far. It is possible that this is
225 caused by the wrong "TERM" setting, although the details of wether
226 and how this can happen are unknown, as "TERM=rxvt" should offer a
227 compatible keymap. See the answer to the previous question, and
228 please report if that helped.
229
230 Rxvt-unicode does not seem to understand the selected encoding?
231 Unicode does not seem to work?
232 If you encounter strange problems like typing an accented character
233 but getting two unrelated other characters or similar, or if program
234 output is subtly garbled, then you should check your locale
235 settings.
236
237 Rxvt-unicode must be started with the same "LC_CTYPE" setting as the
238 programs. Often rxvt-unicode is started in the "C" locale, while the
239 login script running within the rxvt-unicode window changes the
240 locale to something else, e.g. "en_GB.UTF-8". Needless to say, this
241 is not going to work.
242
243 The best thing is to fix your startup environment, as you will
244 likely run into other problems. If nothing works you can try this in
245 your .profile.
246
247 printf '\e]701;%s\007' "$LC_CTYPE"
248
249 If this doesn't work, then maybe you use a "LC_CTYPE" specification
250 not supported on your systems. Some systems have a "locale" command
251 which displays this (also, "perl -e0" can be used to check locale
252 settings, as it will complain loudly if it cannot set the locale).
253 If it displays something like:
254
255 locale: Cannot set LC_CTYPE to default locale: ...
256
257 Then the locale you specified is not supported on your system.
258
259 If nothing works and you are sure that everything is set correctly
260 then you will need to remember a little known fact: Some programs
261 just don't support locales :(
262
263 Why do some characters look so much different than others?
264 How does rxvt-unicode choose fonts?
265 Most fonts do not contain the full range of Unicode, which is fine.
266 Chances are that the font you (or the admin/package maintainer of
267 your system/os) have specified does not cover all the characters you
268 want to display.
269
270 rxvt-unicode makes a best-effort try at finding a replacement font.
271 Often the result is fine, but sometimes the chosen font looks
272 bad/ugly/wrong. Some fonts have totally strange characters that
273 don't resemble the correct glyph at all, and rxvt-unicode lacks the
274 artificial intelligence to detect that a specific glyph is wrong: it
275 has to believe the font that the characters it claims to contain
276 indeed look correct.
277
278 In that case, select a font of your taste and add it to the font
279 list, e.g.:
280
281 rxvt -fn basefont,font2,font3...
282
283 When rxvt-unicode sees a character, it will first look at the base
284 font. If the base font does not contain the character, it will go to
285 the next font, and so on. Specifying your own fonts will also speed
286 up this search and use less resources within rxvt-unicode and the
287 X-server.
288
289 The only limitation is that none of the fonts may be larger than the
290 base font, as the base font defines the terminal character cell
291 size, which must be the same due to the way terminals work.
292
293 Why do some chinese characters look so different than others?
294 This is because there is a difference between script and language --
295 rxvt-unicode does not know which language the text that is output
296 is, as it only knows the unicode character codes. If rxvt-unicode
297 first sees a japanese/chinese character, it might choose a japanese
298 font for display. Subsequent japanese characters will use that font.
299 Now, many chinese characters aren't represented in japanese fonts,
300 so when the first non-japanese character comes up, rxvt-unicode will
301 look for a chinese font -- unfortunately at this point, it will
302 still use the japanese font for chinese characters that are also in
303 the japanese font.
304
305 The workaround is easy: just tag a chinese font at the end of your
306 font list (see the previous question). The key is to view the font
307 list as a preference list: If you expect more japanese, list a
308 japanese font first. If you expect more chinese, put a chinese font
309 first.
310
311 In the future it might be possible to switch language preferences at
312 runtime (the internal data structure has no problem with using
313 different fonts for the same character at the same time, but no
314 interface for this has been designed yet).
315
316 Until then, you might get away with switching fonts at runtime (see
317 "Can I switch the fonts at runtime?" later in this document).
318
319 Why does rxvt-unicode sometimes leave pixel droppings?
320 Most fonts were not designed for terminal use, which means that
321 character size varies a lot. A font that is otherwise fine for
322 terminal use might contain some characters that are simply too wide.
323 Rxvt-unicode will avoid these characters. For characters that are
324 just "a bit" too wide a special "careful" rendering mode is used
325 that redraws adjacent characters.
326
327 All of this requires that fonts do not lie about character sizes,
328 however: Xft fonts often draw glyphs larger than their acclaimed
329 bounding box, and rxvt-unicode has no way of detecting this (the
330 correct way is to ask for the character bounding box, which
331 unfortunately is wrong in these cases).
332
333 It's not clear (to me at least), wether this is a bug in Xft,
334 freetype, or the respective font. If you encounter this problem you
335 might try using the "-lsp" option to give the font more height. If
336 that doesn't work, you might be forced to use a different font.
337
338 All of this is not a problem when using X11 core fonts, as their
339 bounding box data is correct.
340
341 On Solaris 9, many line-drawing characters are too wide.
342 Seems to be a known bug, read
343 <http://nixdoc.net/files/forum/about34198.html>. Some people use the
344 following ugly workaround to get non-double-wide-characters working:
345
346 #define wcwidth(x) wcwidth(x) > 1 ? 1 : wcwidth(x)
347
348 My Compose (Multi_key) key is no longer working.
349 The most common causes for this are that either your locale is not
350 set correctly, or you specified a preeditStyle that is not supported
351 by your input method. For example, if you specified OverTheSpot and
352 your input method (e.g. the default input method handling Compose
353 keys) does not support this (for instance because it is not visual),
354 then rxvt-unicode will continue without an input method.
355
356 In this case either do not specify a preeditStyle or specify more
357 than one pre-edit style, such as OverTheSpot,Root,None.
358
359 I cannot type "Ctrl-Shift-2" to get an ASCII NUL character due to ISO
360 14755
361 Either try "Ctrl-2" alone (it often is mapped to ASCII NUL even on
362 international keyboards) or simply use ISO 14755 support to your
363 advantage, typing <Ctrl-Shift-0> to get a ASCII NUL. This works for
364 other codes, too, such as "Ctrl-Shift-1-d" to type the default
365 telnet escape character and so on.
366
367 How can I keep rxvt-unicode from using reverse video so much?
368 First of all, make sure you are running with the right terminal
369 settings ("TERM=rxvt-unicode"), which will get rid of most of these
370 effects. Then make sure you have specified colours for italic and
371 bold, as otherwise rxvt-unicode might use reverse video to simulate
372 the effect:
373
374 URxvt.colorBD: white
375 URxvt.colorIT: green
376
377 Some programs assume totally weird colours (red instead of blue), how
378 can I fix that?
379 For some unexplainable reason, some rare programs assume a very
380 weird colour palette when confronted with a terminal with more than
381 the standard 8 colours (rxvt-unicode supports 88). The right fix is,
382 of course, to fix these programs not to assume non-ISO colours
383 without very good reasons.
384
385 In the meantime, you can either edit your "rxvt-unicode" terminfo
386 definition to only claim 8 colour support or use "TERM=rxvt", which
387 will fix colours but keep you from using other rxvt-unicode
388 features.
389
390 I am on FreeBSD and rxvt-unicode does not seem to work at all.
391 Rxvt-unicode requires the symbol "__STDC_ISO_10646__" to be defined
392 in your compile environment, or an implementation that implements
393 it, wether it defines the symbol or not. "__STDC_ISO_10646__"
394 requires that wchar_t is represented as unicode.
395
396 As you might have guessed, FreeBSD does neither define this symobl
397 nor does it support it. Instead, it uses it's own internal
398 representation of wchar_t. This is, of course, completely fine with
399 respect to standards.
400
401 However, that means rxvt-unicode only works in "POSIX", "ISO-8859-1"
402 and "UTF-8" locales under FreeBSD (which all use Unicode as wchar_t.
403
404 "__STDC_ISO_10646__" is the only sane way to support multi-language
405 apps in an OS, as using a locale-dependent (and non-standardized)
406 representation of wchar_t makes it impossible to convert between
407 wchar_t (as used by X11 and your applications) and any other
408 encoding without implementing OS-specific-wrappers for each and
409 every locale. There simply are no APIs to convert wchar_t into
410 anything except the current locale encoding.
411
412 Some applications (such as the formidable mlterm) work around this
413 by carrying their own replacement functions for character set
414 handling with them, and either implementing OS-dependent hacks or
415 doing multiple conversions (which is slow and unreliable in case the
416 OS implements encodings slightly different than the terminal
417 emulator).
418
419 The rxvt-unicode author insists that the right way to fix this is in
420 the system libraries once and for all, instead of forcing every app
421 to carry complete replacements for them :)
422
423 I use Solaris 9 and it doesn't compile/work/etc.
424 Try the diff in doc/solaris9.patch as a base. It fixes the worst
425 problems with "wcwidth" and a compile problem.
426
427 How can I use rxvt-unicode under cygwin?
428 rxvt-unicode should compile and run out of the box on cygwin, using
429 the X11 libraries that come with cygwin. libW11 emulation is no
430 longer supported (and makes no sense, either, as it only supported a
431 single font). I recommend starting the X-server in "-multiwindow" or
432 "-rootless" mode instead, which will result in similar look&feel as
433 the old libW11 emulation.
434
435 At the time of this writing, cygwin didn't seem to support any
436 multi-byte encodings (you might try "LC_CTYPE=C-UTF-8"), so you are
437 likely limited to 8-bit encodings.
438
439 How does rxvt-unicode determine the encoding to use?
440 Is there an option to switch encodings?
441 Unlike some other terminals, rxvt-unicode has no encoding switch,
442 and no specific "utf-8" mode, such as xterm. In fact, it doesn't
443 even know about UTF-8 or any other encodings with respect to
444 terminal I/O.
445
446 The reasons is that there exists a perfectly fine mechanism for
447 selecting the encoding, doing I/O and (most important) communicating
448 this to all applications so everybody agrees on character properties
449 such as width and code number. This mechanism is the *locale*.
450 Applications not using that info will have problems (for example,
451 "xterm" gets the width of characters wrong as it uses it's own,
452 locale-independent table under all locales).
453
454 Rxvt-unicode uses the "LC_CTYPE" locale category to select encoding.
455 All programs doing the same (that is, most) will automatically agree
456 in the interpretation of characters.
457
458 Unfortunately, there is no system-independent way to select locales,
459 nor is there a standard on how locale specifiers will look like.
460
461 On most systems, the content of the "LC_CTYPE" environment variable
462 contains an arbitrary string which corresponds to an
463 already-installed locale. Common names for locales are
464 "en_US.UTF-8", "de_DE.ISO-8859-15", "ja_JP.EUC-JP", i.e.
465 "language_country.encoding", but other forms (i.e. "de" or "german")
466 are also common.
467
468 Rxvt-unicode ignores all other locale categories, and except for the
469 encoding, ignores country or language-specific settings, i.e.
470 "de_DE.UTF-8" and "ja_JP.UTF-8" are the normally same to
471 rxvt-unicode.
472
473 If you want to use a specific encoding you have to make sure you
474 start rxvt-unicode with the correct "LC_CTYPE" category.
475
476 Can I switch locales at runtime?
477 Yes, using an escape sequence. Try something like this, which sets
478 rxvt-unicode's idea of "LC_CTYPE".
479
480 printf '\e]701;%s\007' ja_JP.SJIS
481
482 See also the previous answer.
483
484 Sometimes this capability is rather handy when you want to work in
485 one locale (e.g. "de_DE.UTF-8") but some programs don't support it
486 (e.g. UTF-8). For example, I use this script to start "xjdic", which
487 first switches to a locale supported by xjdic and back later:
488
489 printf '\e]701;%s\007' ja_JP.SJIS
490 xjdic -js
491 printf '\e]701;%s\007' de_DE.UTF-8
492
493 You can also use xterm's "luit" program, which usually works fine,
494 except for some locales where character width differs between
495 program- and rxvt-unicode-locales.
496
497 Can I switch the fonts at runtime?
498 Yes, using an escape sequence. Try something like this, which has
499 the same effect as using the "-fn" switch, and takes effect
500 immediately:
501
502 printf '\e]50;%s\007' "9x15bold,xft:Kochi Gothic"
503
504 This is useful if you e.g. work primarily with japanese (and prefer
505 a japanese font), but you have to switch to chinese temporarily,
506 where japanese fonts would only be in your way.
507
508 You can think of this as a kind of manual ISO-2022 switching.
509
510 Why do italic characters look as if clipped?
511 Many fonts have difficulties with italic characters and hinting. For
512 example, the otherwise very nicely hinted font "xft:Bitstream Vera
513 Sans Mono" completely fails in it's italic face. A workaround might
514 be to enable freetype autohinting, i.e. like this:
515
516 URxvt.italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true
517 URxvt.boldItalicFont: xft:Bitstream Vera Sans Mono:bold:italic:autohint=true
518
519 My input method wants <some encoding> but I want UTF-8, what can I do?
520 You can specify separate locales for the input method and the rest
521 of the terminal, using the resource "imlocale":
522
523 URxvt*imlocale: ja_JP.EUC-JP
524
525 Now you can start your terminal with "LC_CTYPE=ja_JP.UTF-8" and
526 still use your input method. Please note, however, that you will not
527 be able to input characters outside "EUC-JP" in a normal way then,
528 as your input method limits you.
529
530 Rxvt-unicode crashes when the X Input Method changes or exits.
531 Unfortunately, this is unavoidable, as the XIM protocol is racy by
532 design. Applications can avoid some crashes at the expense of memory
533 leaks, and Input Methods can avoid some crashes by careful ordering
534 at exit time. kinput2 (and derived input methods) generally
535 succeeds, while SCIM (or similar input methods) fails. In the end,
536 however, crashes cannot be completely avoided even if both sides
537 cooperate.
538
539 So the only workaround is not to kill your Input Method Servers.
540
541 Rxvt-unicode uses gobs of memory, how can I reduce that?
542 Rxvt-unicode tries to obey the rule of not charging you for
543 something you don't use. One thing you should try is to configure
544 out all settings that you don't need, for example, Xft support is a
545 resource hog by design, when used. Compiling it out ensures that no
546 Xft font will be loaded accidentally when rxvt-unicode tries to find
547 a font for your characters.
548
549 Also, many people (me included) like large windows and even larger
550 scrollback buffers: Without "--enable-unicode3", rxvt-unicode will
551 use 6 bytes per screen cell. For a 160x?? window this amounts to
552 almost a kilobyte per line. A scrollback buffer of 10000 lines will
553 then (if full) use 10 Megabytes of memory. With "--enable-unicode3"
554 it gets worse, as rxvt-unicode then uses 8 bytes per screen cell.
555
556 Can I speed up Xft rendering somehow?
557 Yes, the most obvious way to speed it up is to avoid Xft entirely,
558 as it is simply slow. If you still want Xft fonts you might try to
559 disable antialiasing (by appending ":antialias=false"), which saves
560 lots of memory and also speeds up rendering considerably.
561
562 Rxvt-unicode doesn't seem to anti-alias its fonts, what is wrong?
563 Rxvt-unicode will use whatever you specify as a font. If it needs to
564 fall back to it's default font search list it will prefer X11 core
565 fonts, because they are small and fast, and then use Xft fonts. It
566 has antialiasing disabled for most of them, because the author
567 thinks they look best that way.
568
569 If you want antialiasing, you have to specify the fonts manually.
570
571 Mouse cut/paste suddenly no longer works.
572 Make sure that mouse reporting is actually turned off since killing
573 some editors prematurely may leave the mouse in mouse report mode.
574 I've heard that tcsh may use mouse reporting unless it otherwise
575 specified. A quick check is to see if cut/paste works when the Alt
576 or Shift keys are depressed. See rxvt(7)
577
578 What's with this bold/blink stuff?
579 If no bold colour is set via "colorBD:", bold will invert text using
580 the standard foreground colour.
581
582 For the standard background colour, blinking will actually make the
583 text blink when compiled with "--enable-blinking". with standard
584 colours. Without "--enable-blinking", the blink attribute will be
585 ignored.
586
587 On ANSI colours, bold/blink attributes are used to set
588 high-intensity foreground/background colors.
589
590 color0-7 are the low-intensity colors.
591
592 color8-15 are the corresponding high-intensity colors.
593
594 I don't like the screen colors. How do I change them?
595 You can change the screen colors at run-time using ~/.Xdefaults
596 resources (or as long-options).
597
598 Here are values that are supposed to resemble a VGA screen,
599 including the murky brown that passes for low-intensity yellow:
600
601 URxvt.color0: #000000
602 URxvt.color1: #A80000
603 URxvt.color2: #00A800
604 URxvt.color3: #A8A800
605 URxvt.color4: #0000A8
606 URxvt.color5: #A800A8
607 URxvt.color6: #00A8A8
608 URxvt.color7: #A8A8A8
609
610 URxvt.color8: #000054
611 URxvt.color9: #FF0054
612 URxvt.color10: #00FF54
613 URxvt.color11: #FFFF54
614 URxvt.color12: #0000FF
615 URxvt.color13: #FF00FF
616 URxvt.color14: #00FFFF
617 URxvt.color15: #FFFFFF
618
619 And here is a more complete set of non-standard colors described
620 (not by me) as "pretty girly".
621
622 URxvt.cursorColor: #dc74d1
623 URxvt.pointerColor: #dc74d1
624 URxvt.background: #0e0e0e
625 URxvt.foreground: #4ad5e1
626 URxvt.color0: #000000
627 URxvt.color8: #8b8f93
628 URxvt.color1: #dc74d1
629 URxvt.color9: #dc74d1
630 URxvt.color2: #0eb8c7
631 URxvt.color10: #0eb8c7
632 URxvt.color3: #dfe37e
633 URxvt.color11: #dfe37e
634 URxvt.color5: #9e88f0
635 URxvt.color13: #9e88f0
636 URxvt.color6: #73f7ff
637 URxvt.color14: #73f7ff
638 URxvt.color7: #e1dddd
639 URxvt.color15: #e1dddd
640
641 How can I start rxvtd in a race-free way?
642 Try "rxvtd -f -o", which tells rxvtd to open the display, create the
643 listening socket and then fork.
644
645 What's with the strange Backspace/Delete key behaviour?
646 Assuming that the physical Backspace key corresponds to the
647 BackSpace keysym (not likely for Linux ... see the following
648 question) there are two standard values that can be used for
649 Backspace: "^H" and "^?".
650
651 Historically, either value is correct, but rxvt-unicode adopts the
652 debian policy of using "^?" when unsure, because it's the one only
653 only correct choice :).
654
655 Rxvt-unicode tries to inherit the current stty settings and uses the
656 value of `erase' to guess the value for backspace. If rxvt-unicode
657 wasn't started from a terminal (say, from a menu or by remote
658 shell), then the system value of `erase', which corresponds to
659 CERASE in <termios.h>, will be used (which may not be the same as
660 your stty setting).
661
662 For starting a new rxvt-unicode:
663
664 # use Backspace = ^H
665 $ stty erase ^H
666 $ rxvt
667
668 # use Backspace = ^?
669 $ stty erase ^?
670 $ rxvt
671
672 Toggle with "ESC [ 36 h" / "ESC [ 36 l" as documented in rxvt(7).
673
674 For an existing rxvt-unicode:
675
676 # use Backspace = ^H
677 $ stty erase ^H
678 $ echo -n "^[[36h"
679
680 # use Backspace = ^?
681 $ stty erase ^?
682 $ echo -n "^[[36l"
683
684 This helps satisfy some of the Backspace discrepancies that occur,
685 but if you use Backspace = "^H", make sure that the termcap/terminfo
686 value properly reflects that.
687
688 The Delete key is a another casualty of the ill-defined Backspace
689 problem. To avoid confusion between the Backspace and Delete keys,
690 the Delete key has been assigned an escape sequence to match the
691 vt100 for Execute ("ESC [ 3 ~") and is in the supplied
692 termcap/terminfo.
693
694 Some other Backspace problems:
695
696 some editors use termcap/terminfo, some editors (vim I'm told)
697 expect Backspace = ^H, GNU Emacs (and Emacs-like editors) use ^H for
698 help.
699
700 Perhaps someday this will all be resolved in a consistent manner.
701
702 I don't like the key-bindings. How do I change them?
703 There are some compile-time selections available via configure.
704 Unless you have run "configure" with the "--disable-resources"
705 option you can use the `keysym' resource to alter the keystrings
706 associated with keysyms.
707
708 Here's an example for a URxvt session started using "rxvt -name
709 URxvt"
710
711 URxvt.keysym.Home: \033[1~
712 URxvt.keysym.End: \033[4~
713 URxvt.keysym.C-apostrophe: \033<C-'>
714 URxvt.keysym.C-slash: \033<C-/>
715 URxvt.keysym.C-semicolon: \033<C-;>
716 URxvt.keysym.C-grave: \033<C-`>
717 URxvt.keysym.C-comma: \033<C-,>
718 URxvt.keysym.C-period: \033<C-.>
719 URxvt.keysym.C-0x60: \033<C-`>
720 URxvt.keysym.C-Tab: \033<C-Tab>
721 URxvt.keysym.C-Return: \033<C-Return>
722 URxvt.keysym.S-Return: \033<S-Return>
723 URxvt.keysym.S-space: \033<S-Space>
724 URxvt.keysym.M-Up: \033<M-Up>
725 URxvt.keysym.M-Down: \033<M-Down>
726 URxvt.keysym.M-Left: \033<M-Left>
727 URxvt.keysym.M-Right: \033<M-Right>
728 URxvt.keysym.M-C-0: list \033<M-C- 0123456789 >
729 URxvt.keysym.M-C-a: list \033<M-C- abcdefghijklmnopqrstuvwxyz >
730 URxvt.keysym.F12: command:\033]701;zh_CN.GBK\007
731
732 See some more examples in the documentation for the keysym resource.
733
734 I'm using keyboard model XXX that has extra Prior/Next/Insert keys. How
735 do I make use of them? For example, the Sun Keyboard type 4 has the
736 following mappings that rxvt-unicode doesn't recognize.
737 KP_Insert == Insert
738 F22 == Print
739 F27 == Home
740 F29 == Prior
741 F33 == End
742 F35 == Next
743
744 Rather than have rxvt-unicode try to accommodate all the various
745 possible keyboard mappings, it is better to use `xmodmap' to remap
746 the keys as required for your particular machine.
747
748 How do I distinguish wether I'm running rxvt-unicode or a regular xterm?
749 I need this to decide about setting colors etc.
750 rxvt and rxvt-unicode always export the variable "COLORTERM", so you
751 can check and see if that is set. Note that several programs, JED,
752 slrn, Midnight Commander automatically check this variable to decide
753 whether or not to use color.
754
755 How do I set the correct, full IP address for the DISPLAY variable?
756 If you've compiled rxvt-unicode with DISPLAY_IS_IP and have enabled
757 insecure mode then it is possible to use the following shell script
758 snippets to correctly set the display. If your version of
759 rxvt-unicode wasn't also compiled with ESCZ_ANSWER (as assumed in
760 these snippets) then the COLORTERM variable can be used to
761 distinguish rxvt-unicode from a regular xterm.
762
763 Courtesy of Chuck Blake <cblake@BBN.COM> with the following shell
764 script snippets:
765
766 # Bourne/Korn/POSIX family of shells:
767 [ ${TERM:-foo} = foo ] && TERM=xterm # assume an xterm if we don't know
768 if [ ${TERM:-foo} = xterm ]; then
769 stty -icanon -echo min 0 time 15 # see if enhanced rxvt or not
770 echo -n '^[Z'
771 read term_id
772 stty icanon echo
773 if [ ""${term_id} = '^[[?1;2C' -a ${DISPLAY:-foo} = foo ]; then
774 echo -n '^[[7n' # query the rxvt we are in for the DISPLAY string
775 read DISPLAY # set it in our local shell
776 fi
777 fi
778
779 How do I compile the manual pages for myself?
780 You need to have a recent version of perl installed as
781 /usr/bin/perl, one that comes with pod2man, pod2text and pod2html.
782 Then go to the doc subdirectory and enter "make alldoc".
783
784 My question isn't answered here, can I ask a human?
785 Before sending me mail, you could go to IRC: "irc.freenode.net",
786 channel "#rxvt-unicode" has some rxvt-unicode enthusiasts that might
787 be interested in learning about new and exciting problems (but not
788 FAQs :).
789
790 RXVT TECHNICAL REFERENCE
791 DESCRIPTION
792 The rest of this document describes various technical aspects of
793 rxvt-unicode. First the description of supported command sequences,
794 followed by menu and pixmap support and last by a description of all
795 features selectable at "configure" time.
796
797 Definitions
798 "c" The literal character c.
799
800 "C" A single (required) character.
801
802 "Ps"
803 A single (usually optional) numeric parameter, composed of one or
804 more digits.
805
806 "Pm"
807 A multiple numeric parameter composed of any number of single
808 numeric parameters, separated by ";" character(s).
809
810 "Pt"
811 A text parameter composed of printable characters.
812
813 Values
814 "ENQ"
815 Enquiry (Ctrl-E) = Send Device Attributes (DA) request attributes
816 from terminal. See "ESC [ Ps c".
817
818 "BEL"
819 Bell (Ctrl-G)
820
821 "BS"
822 Backspace (Ctrl-H)
823
824 "TAB"
825 Horizontal Tab (HT) (Ctrl-I)
826
827 "LF"
828 Line Feed or New Line (NL) (Ctrl-J)
829
830 "VT"
831 Vertical Tab (Ctrl-K) same as "LF"
832
833 "FF"
834 Form Feed or New Page (NP) (Ctrl-L) same as "LF"
835
836 "CR"
837 Carriage Return (Ctrl-M)
838
839 "SO"
840 Shift Out (Ctrl-N), invokes the G1 character set. Switch to
841 Alternate Character Set
842
843 "SI"
844 Shift In (Ctrl-O), invokes the G0 character set (the default).
845 Switch to Standard Character Set
846
847 "SPC"
848 Space Character
849
850 Escape Sequences
851 "ESC # 8"
852 DEC Screen Alignment Test (DECALN)
853
854 "ESC 7"
855 Save Cursor (SC)
856
857 "ESC 8"
858 Restore Cursor
859
860 "ESC ="
861 Application Keypad (SMKX). See also next sequence.
862
863 "ESC"
864 Normal Keypad (RMKX)
865
866 Note: If the numeric keypad is activated, eg, Num_Lock has been
867 pressed, numbers or control functions are generated by the numeric
868 keypad (see Key Codes).
869
870 "ESC D"
871 Index (IND)
872
873 "ESC E"
874 Next Line (NEL)
875
876 "ESC H"
877 Tab Set (HTS)
878
879 "ESC M"
880 Reverse Index (RI)
881
882 "ESC N"
883 Single Shift Select of G2 Character Set (SS2): affects next
884 character only *unimplemented*
885
886 "ESC O"
887 Single Shift Select of G3 Character Set (SS3): affects next
888 character only *unimplemented*
889
890 "ESC Z"
891 Obsolete form of returns: "ESC [ ? 1 ; 2 C" *rxvt-unicode
892 compile-time option*
893
894 "ESC c"
895 Full reset (RIS)
896
897 "ESC n"
898 Invoke the G2 Character Set (LS2)
899
900 "ESC o"
901 Invoke the G3 Character Set (LS3)
902
903 "ESC ( C"
904 Designate G0 Character Set (ISO 2022), see below for values of "C".
905
906 "ESC ) C"
907 Designate G1 Character Set (ISO 2022), see below for values of "C".
908
909 "ESC * C"
910 Designate G2 Character Set (ISO 2022), see below for values of "C".
911
912 "ESC + C"
913 Designate G3 Character Set (ISO 2022), see below for values of "C".
914
915 "ESC $ C"
916 Designate Kanji Character Set
917
918 Where "C" is one of:
919
920 C = 0 DEC Special Character and Line Drawing Set
921 C = A United Kingdom (UK)
922 C = B United States (USASCII)
923 C = < Multinational character set unimplemented
924 C = 5 Finnish character set unimplemented
925 C = C Finnish character set unimplemented
926 C = K German character set unimplemented
927
928
929
930 CSI (Command Sequence Introducer) Sequences
931 "ESC [ Ps @"
932 Insert "Ps" (Blank) Character(s) [default: 1] (ICH)
933
934 "ESC [ Ps A"
935 Cursor Up "Ps" Times [default: 1] (CUU)
936
937 "ESC [ Ps B"
938 Cursor Down "Ps" Times [default: 1] (CUD)
939
940 "ESC [ Ps C"
941 Cursor Forward "Ps" Times [default: 1] (CUF)
942
943 "ESC [ Ps D"
944 Cursor Backward "Ps" Times [default: 1] (CUB)
945
946 "ESC [ Ps E"
947 Cursor Down "Ps" Times [default: 1] and to first column
948
949 "ESC [ Ps F"
950 Cursor Up "Ps" Times [default: 1] and to first column
951
952 "ESC [ Ps G"
953 Cursor to Column "Ps" (HPA)
954
955 "ESC [ Ps;Ps H"
956 Cursor Position [row;column] [default: 1;1] (CUP)
957
958 "ESC [ Ps I"
959 Move forward "Ps" tab stops [default: 1]
960
961 "ESC [ Ps J"
962 Erase in Display (ED)
963
964 Ps = 0 Clear Below (default)
965 Ps = 1 Clear Above
966 Ps = 2 Clear All
967
968 "ESC [ Ps K"
969 Erase in Line (EL)
970
971 Ps = 0 Clear to Right (default)
972 Ps = 1 Clear to Left
973 Ps = 2 Clear All
974
975 "ESC [ Ps L"
976 Insert "Ps" Line(s) [default: 1] (IL)
977
978 "ESC [ Ps M"
979 Delete "Ps" Line(s) [default: 1] (DL)
980
981 "ESC [ Ps P"
982 Delete "Ps" Character(s) [default: 1] (DCH)
983
984 "ESC [ Ps;Ps;Ps;Ps;Ps T"
985 Initiate . *unimplemented* Parameters are
986 [func;startx;starty;firstrow;lastrow].
987
988 "ESC [ Ps W"
989 Tabulator functions
990
991 Ps = 0 Tab Set (HTS)
992 Ps = 2 Tab Clear (TBC), Clear Current Column (default)
993 Ps = 5 Tab Clear (TBC), Clear All
994
995 "ESC [ Ps X"
996 Erase "Ps" Character(s) [default: 1] (ECH)
997
998 "ESC [ Ps Z"
999 Move backward "Ps" [default: 1] tab stops
1000
1001 "ESC [ Ps '"
1002 See "ESC [ Ps G"
1003
1004 "ESC [ Ps a"
1005 See "ESC [ Ps C"
1006
1007 "ESC [ Ps c"
1008 Send Device Attributes (DA) "Ps = 0" (or omitted): request
1009 attributes from terminal returns: "ESC [ ? 1 ; 2 c" (``I am a VT100
1010 with Advanced Video Option'')
1011
1012 "ESC [ Ps d"
1013 Cursor to Line "Ps" (VPA)
1014
1015 "ESC [ Ps e"
1016 See "ESC [ Ps A"
1017
1018 "ESC [ Ps;Ps f"
1019 Horizontal and Vertical Position [row;column] (HVP) [default: 1;1]
1020
1021 "ESC [ Ps g"
1022 Tab Clear (TBC)
1023
1024 Ps = 0 Clear Current Column (default)
1025 Ps = 3 Clear All (TBC)
1026
1027 "ESC [ Pm h"
1028 Set Mode (SM). See "ESC [ Pm l" sequence for description of "Pm".
1029
1030 "ESC [ Ps i"
1031 Printing. See also the "print-pipe" resource.
1032
1033 Ps = 0 print screen (MC0)
1034 Ps = 4 disable transparent print mode (MC4)
1035 Ps = 5 enable transparent print mode (MC5)
1036
1037 "ESC [ Pm l"
1038 Reset Mode (RM)
1039
1040 "Ps = 4"
1041 h Insert Mode (SMIR)
1042 l Replace Mode (RMIR)
1043
1044 "Ps = 20" (partially implemented)
1045 h Automatic Newline (LNM)
1046 l Normal Linefeed (LNM)
1047
1048 "ESC [ Pm m"
1049 Character Attributes (SGR)
1050
1051 Ps = 0 Normal (default)
1052 Ps = 1 / 21 On / Off Bold (bright fg)
1053 Ps = 3 / 23 On / Off Italic
1054 Ps = 4 / 24 On / Off Underline
1055 Ps = 5 / 25 On / Off Slow Blink (bright bg)
1056 Ps = 6 / 26 On / Off Rapid Blink (bright bg)
1057 Ps = 7 / 27 On / Off Inverse
1058 Ps = 8 / 27 On / Off Invisible (NYI)
1059 Ps = 30 / 40 fg/bg Black
1060 Ps = 31 / 41 fg/bg Red
1061 Ps = 32 / 42 fg/bg Green
1062 Ps = 33 / 43 fg/bg Yellow
1063 Ps = 34 / 44 fg/bg Blue
1064 Ps = 35 / 45 fg/bg Magenta
1065 Ps = 36 / 46 fg/bg Cyan
1066 Ps = 38;5 / 48;5 set fg/bg to color #m (ISO 8613-6)
1067 Ps = 37 / 47 fg/bg White
1068 Ps = 39 / 49 fg/bg Default
1069 Ps = 90 / 100 fg/bg Bright Black
1070 Ps = 91 / 101 fg/bg Bright Red
1071 Ps = 92 / 102 fg/bg Bright Green
1072 Ps = 93 / 103 fg/bg Bright Yellow
1073 Ps = 94 / 104 fg/bg Bright Blue
1074 Ps = 95 / 105 fg/bg Bright Magenta
1075 Ps = 96 / 106 fg/bg Bright Cyan
1076 Ps = 97 / 107 fg/bg Bright White
1077 Ps = 99 / 109 fg/bg Bright Default
1078
1079 "ESC [ Ps n"
1080 Device Status Report (DSR)
1081
1082 Ps = 5 Status Report ESC [ 0 n (``OK'')
1083 Ps = 6 Report Cursor Position (CPR) [row;column] as ESC [ r ; c R
1084 Ps = 7 Request Display Name
1085 Ps = 8 Request Version Number (place in window title)
1086
1087 "ESC [ Ps;Ps r"
1088 Set Scrolling Region [top;bottom] [default: full size of window]
1089 (CSR)
1090
1091 "ESC [ s"
1092 Save Cursor (SC)
1093
1094 "ESC [ Ps;Pt t"
1095 Window Operations
1096
1097 Ps = 1 Deiconify (map) window
1098 Ps = 2 Iconify window
1099 Ps = 3 ESC [ 3 ; X ; Y t Move window to (X|Y)
1100 Ps = 4 ESC [ 4 ; H ; W t Resize to WxH pixels
1101 Ps = 5 Raise window
1102 Ps = 6 Lower window
1103 Ps = 7 Refresh screen once
1104 Ps = 8 ESC [ 8 ; R ; C t Resize to R rows and C columns
1105 Ps = 11 Report window state (responds with Ps = 1 or Ps = 2)
1106 Ps = 13 Report window position (responds with Ps = 3)
1107 Ps = 14 Report window pixel size (responds with Ps = 4)
1108 Ps = 18 Report window text size (responds with Ps = 7)
1109 Ps = 19 Currently the same as Ps = 18, but responds with Ps = 9
1110 Ps = 20 Reports icon label (ESC ] L NAME \234)
1111 Ps = 21 Reports window title (ESC ] l NAME \234)
1112 Ps = 24.. Set window height to Ps rows
1113
1114 "ESC [ u"
1115 Restore Cursor
1116
1117 "ESC [ Ps x"
1118 Request Terminal Parameters (DECREQTPARM)
1119
1120
1121
1122 DEC Private Modes
1123 "ESC [ ? Pm h"
1124 DEC Private Mode Set (DECSET)
1125
1126 "ESC [ ? Pm l"
1127 DEC Private Mode Reset (DECRST)
1128
1129 "ESC [ ? Pm r"
1130 Restore previously saved DEC Private Mode Values.
1131
1132 "ESC [ ? Pm s"
1133 Save DEC Private Mode Values.
1134
1135 "ESC [ ? Pm t"
1136 Toggle DEC Private Mode Values (rxvt extension). *where*
1137
1138 "Ps = 1" (DECCKM)
1139 h Application Cursor Keys
1140 l Normal Cursor Keys
1141
1142 "Ps = 2" (ANSI/VT52 mode)
1143 h Enter VT52 mode
1144 l Enter VT52 mode
1145
1146 "Ps = 3"
1147 h 132 Column Mode (DECCOLM)
1148 l 80 Column Mode (DECCOLM)
1149
1150 "Ps = 4"
1151 h Smooth (Slow) Scroll (DECSCLM)
1152 l Jump (Fast) Scroll (DECSCLM)
1153
1154 "Ps = 5"
1155 h Reverse Video (DECSCNM)
1156 l Normal Video (DECSCNM)
1157
1158 "Ps = 6"
1159 h Origin Mode (DECOM)
1160 l Normal Cursor Mode (DECOM)
1161
1162 "Ps = 7"
1163 h Wraparound Mode (DECAWM)
1164 l No Wraparound Mode (DECAWM)
1165
1166 "Ps = 8" *unimplemented*
1167 h Auto-repeat Keys (DECARM)
1168 l No Auto-repeat Keys (DECARM)
1169
1170 "Ps = 9" X10 XTerm
1171 h Send Mouse X & Y on button press.
1172 l No mouse reporting.
1173
1174 "Ps = 10" (rxvt)
1175 h menuBar visible
1176 l menuBar invisible
1177
1178 "Ps = 25"
1179 h Visible cursor {cnorm/cvvis}
1180 l Invisible cursor {civis}
1181
1182 "Ps = 30"
1183 h scrollBar visisble
1184 l scrollBar invisisble
1185
1186 "Ps = 35" (rxvt)
1187 h Allow XTerm Shift+key sequences
1188 l Disallow XTerm Shift+key sequences
1189
1190 "Ps = 38" *unimplemented*
1191 Enter Tektronix Mode (DECTEK)
1192
1193 "Ps = 40"
1194 h Allow 80/132 Mode
1195 l Disallow 80/132 Mode
1196
1197 "Ps = 44" *unimplemented*
1198 h Turn On Margin Bell
1199 l Turn Off Margin Bell
1200
1201 "Ps = 45" *unimplemented*
1202 h Reverse-wraparound Mode
1203 l No Reverse-wraparound Mode
1204
1205 "Ps = 46" *unimplemented*
1206 "Ps = 47"
1207 h Use Alternate Screen Buffer
1208 l Use Normal Screen Buffer
1209
1210
1211
1212 "Ps = 66"
1213 h Application Keypad (DECPAM) == ESC =
1214 l Normal Keypad (DECPNM) == ESC >
1215
1216 "Ps = 67"
1217 h Backspace key sends BS (DECBKM)
1218 l Backspace key sends DEL
1219
1220 "Ps = 1000" (X11 XTerm)
1221 h Send Mouse X & Y on button press and release.
1222 l No mouse reporting.
1223
1224 "Ps = 1001" (X11 XTerm) *unimplemented*
1225 h Use Hilite Mouse Tracking.
1226 l No mouse reporting.
1227
1228 "Ps = 1010" (rxvt)
1229 h Don't scroll to bottom on TTY output
1230 l Scroll to bottom on TTY output
1231
1232 "Ps = 1011" (rxvt)
1233 h Scroll to bottom when a key is pressed
1234 l Don't scroll to bottom when a key is pressed
1235
1236 "Ps = 1021" (rxvt)
1237 h Bold/italic implies high intensity (see option -is)
1238 l Font styles have no effect on intensity (Compile styles)
1239
1240 "Ps = 1047"
1241 h Use Alternate Screen Buffer
1242 l Use Normal Screen Buffer - clear Alternate Screen Buffer if returning from it
1243
1244 "Ps = 1048"
1245 h Save cursor position
1246 l Restore cursor position
1247
1248 "Ps = 1049"
1249 h Use Alternate Screen Buffer - clear Alternate Screen Buffer if switching to it
1250 l Use Normal Screen Buffer
1251
1252
1253
1254 XTerm Operating System Commands
1255 "ESC ] Ps;Pt ST"
1256 Set XTerm Parameters. 8-bit ST: 0x9c, 7-bit ST sequence: ESC \
1257 (0x1b, 0x5c), backwards compatible terminator BEL (0x07) is also
1258 accepted. any octet can be escaped by prefixing it with SYN (0x16,
1259 ^V).
1260
1261 Ps = 0 Change Icon Name and Window Title to Pt
1262 Ps = 1 Change Icon Name to Pt
1263 Ps = 2 Change Window Title to Pt
1264 Ps = 3 If Pt starts with a ?, query the (STRING) property of the window and return it. If Pt contains a =, set the named property to the given value, else delete the specified property.
1265 Ps = 4 Pt is a semi-colon separated sequence of one or more semi-colon separated number/name pairs, where number is an index to a colour and name is the name of a colour. Each pair causes the numbered colour to be changed to name. Numbers 0-7 corresponds to low-intensity (normal) colours and 8-15 corresponds to high-intensity colours. 0=black, 1=red, 2=green, 3=yellow, 4=blue, 5=magenta, 6=cyan, 7=white
1266 Ps = 10 Change colour of text foreground to Pt (NB: may change in future)
1267 Ps = 11 Change colour of text background to Pt (NB: may change in future)
1268 Ps = 12 Change colour of text cursor foreground to Pt
1269 Ps = 13 Change colour of mouse foreground to Pt
1270 Ps = 17 Change colour of highlight characters to Pt
1271 Ps = 18 Change colour of bold characters to Pt
1272 Ps = 19 Change colour of underlined characters to Pt
1273 Ps = 20 Change default background to Pt
1274 Ps = 39 Change default foreground colour to Pt.
1275 Ps = 46 Change Log File to Pt unimplemented
1276 Ps = 49 Change default background colour to Pt.
1277 Ps = 50 Set fontset to Pt, with the following special values of Pt (rxvt) #+n change up n #-n change down n if n is missing of 0, a value of 1 is used empty change to font0 n change to font n
1278 Ps = 55 Log all scrollback buffer and all of screen to Pt
1279 Ps = 701 Change current locale to Pt, or, if Pt is ?, return the current locale (Compile frills).
1280 Ps = 703 Menubar command Pt (Compile menubar).
1281 Ps = 704 Change colour of italic characters to Pt
1282 Ps = 705 Change background pixmap tint colour to Pt (Compile transparency).
1283 Ps = 710 Set normal fontset to Pt. Same as Ps = 50.
1284 Ps = 711 Set bold fontset to Pt. Similar to Ps = 50 (Compile styles).
1285 Ps = 712 Set italic fontset to Pt. Similar to Ps = 50 (Compile styles).
1286 Ps = 713 Set bold-italic fontset to Pt. Similar to Ps = 50 (Compile styles).
1287 Ps = 720 Move viewing window up by Pt lines, or clear scrollback buffer if Pt = 0 (Compile frills).
1288 Ps = 721 Move viewing window down by Pt lines, or clear scrollback buffer if Pt = 0 (Compile frills).
1289
1290
1291
1292 menuBar
1293 The exact syntax used is *almost* solidified. In the menus, DON'T try to
1294 use menuBar commands that add or remove a menuBar.
1295
1296 Note that in all of the commands, the */path/* *cannot* be omitted: use
1297 ./ to specify a menu relative to the current menu.
1298
1299 Overview of menuBar operation
1300 For the menuBar XTerm escape sequence "ESC ] 703 ; Pt ST", the syntax of
1301 "Pt" can be used for a variety of tasks:
1302
1303 At the top level is the current menuBar which is a member of a circular
1304 linked-list of other such menuBars.
1305
1306 The menuBar acts as a parent for the various drop-down menus, which in
1307 turn, may have labels, separator lines, menuItems and subMenus.
1308
1309 The menuItems are the useful bits: you can use them to mimic keyboard
1310 input or even to send text or escape sequences back to rxvt.
1311
1312 The menuBar syntax is intended to provide a simple yet robust method of
1313 constructing and manipulating menus and navigating through the menuBars.
1314
1315 The first step is to use the tag [menu:*name*] which creates the menuBar
1316 called *name* and allows access. You may now or menus, subMenus, and
1317 menuItems. Finally, use the tag [done] to set the menuBar access as
1318 readonly to prevent accidental corruption of the menus. To re-access the
1319 current menuBar for alterations, use the tag [menu], make the
1320 alterations and then use [done]
1321
1322
1323
1324 Commands
1325 [menu:+*name*]
1326 access the named menuBar for creation or alteration. If a new
1327 menuBar is created, it is called *name* (max of 15 chars) and the
1328 current menuBar is pushed onto the stack
1329
1330 [menu]
1331 access the current menuBar for alteration
1332
1333 [title:+*string*]
1334 set the current menuBar's title to *string*, which may contain the
1335 following format specifiers:
1336
1337 B<%n> rxvt name (as per the B<-name> command-line option)
1338 B<%v> rxvt version
1339 B<%%> literal B<%> character
1340
1341 [done]
1342 set menuBar access as readonly. End-of-file tag for [read:+*file*]
1343 operations.
1344
1345 [read:+*file*]
1346 read menu commands directly from *file* (extension ".menu" will be
1347 appended if required.) Start reading at a line with [menu] or
1348 [menu:+*name* and continuing until [done] is encountered.
1349
1350 Blank and comment lines (starting with #) are ignored. Actually,
1351 since any invalid menu commands are also ignored, almost anything
1352 could be construed as a comment line, but this may be tightened up
1353 in the future ... so don't count on it!.
1354
1355 [read:+*file*;+*name*]
1356 The same as [read:+*file*], but start reading at a line with
1357 [menu:+*name*] and continuing until [done:+*name*] or [done] is
1358 encountered.
1359
1360 [dump]
1361 dump all menuBars to the file /tmp/rxvt-PID in a format suitable for
1362 later rereading.
1363
1364 [rm:name]
1365 remove the named menuBar
1366
1367 [rm] [rm:]
1368 remove the current menuBar
1369
1370 [rm*] [rm:*]
1371 remove all menuBars
1372
1373 [swap]
1374 swap the top two menuBars
1375
1376 [prev]
1377 access the previous menuBar
1378
1379 [next]
1380 access the next menuBar
1381
1382 [show]
1383 Enable display of the menuBar
1384
1385 [hide]
1386 Disable display of the menuBar
1387
1388 [pixmap:+*name*]
1389 [pixmap:+*name*;*scaling*]
1390 (set the background pixmap globally
1391
1392 A Future implementation *may* make this local to the menubar)
1393
1394 [:+*command*:]
1395 ignore the menu readonly status and issue a *command* to or a menu
1396 or menuitem or change the ; a useful shortcut for setting the quick
1397 arrows from a menuBar.
1398
1399
1400
1401 Adding and accessing menus
1402 The following commands may also be + prefixed.
1403
1404 /+ access menuBar top level
1405
1406 ./+ access current menu level
1407
1408 ../+
1409 access parent menu (1 level up)
1410
1411 ../../
1412 access parent menu (multiple levels up)
1413
1414 */path/*menu
1415 add/access menu
1416
1417 */path/*menu/*
1418 add/access menu and clear it if it exists
1419
1420 */path/*{-}
1421 add separator
1422
1423 */path/*{item}
1424 add item as a label
1425
1426 */path/*{item} action
1427 add/alter *menuitem* with an associated *action*
1428
1429 */path/*{item}{right-text}
1430 add/alter *menuitem* with right-text as the right-justified text and
1431 as the associated *action*
1432
1433 */path/*{item}{rtext} action
1434 add/alter *menuitem* with an associated *action* and with rtext as
1435 the right-justified text.
1436
1437 Special characters in *action* must be backslash-escaped:
1438 \a \b \E \e \n \r \t \octal
1439
1440 or in control-character notation:
1441 ^@, ^A .. ^Z .. ^_, ^?
1442
1443 To send a string starting with a NUL (^@) character to the program,
1444 start *action* with a pair of NUL characters (^@^@), the first of which
1445 will be stripped off and the balance directed to the program. Otherwise
1446 if *action* begins with NUL followed by non-+NUL characters, the leading
1447 NUL is stripped off and the balance is sent back to rxvt.
1448
1449 As a convenience for the many Emacs-type editors, *action* may start
1450 with M- (eg, M-$ is equivalent to \E$) and a CR will be appended if
1451 missed from M-x commands.
1452
1453 As a convenience for issuing XTerm ESC ] sequences from a menubar (or
1454 quick arrow), a BEL (^G) will be appended if needed.
1455
1456 For example,
1457 M-xapropos is equivalent to \Exapropos\r
1458
1459 and \E]703;mona;100 is equivalent to \E]703;mona;100\a
1460
1461 The option {*right-rtext*} will be right-justified. In the absence of a
1462 specified action, this text will be used as the *action* as well.
1463
1464 For example,
1465 /File/{Open}{^X^F} is equivalent to /File/{Open}{^X^F} ^X^F
1466
1467 The left label *is* necessary, since it's used for matching, but
1468 implicitly hiding the left label (by using same name for both left and
1469 right labels), or explicitly hiding the left label (by preceeding it
1470 with a dot), makes it possible to have right-justified text only.
1471
1472 For example,
1473 /File/{Open}{Open} Open-File-Action
1474
1475 or hiding it
1476 /File/{.anylabel}{Open} Open-File-Action
1477
1478
1479
1480 Removing menus
1481 -/*+
1482 remove all menus from the menuBar, the same as [clear]
1483
1484 -+*/path*menu+
1485 remove menu
1486
1487 -+*/path*{item}+
1488 remove item
1489
1490 -+*/path*{-}
1491 remove separator)
1492
1493 -/path/menu/*
1494 remove all items, separators and submenus from menu
1495
1496
1497
1498 Quick Arrows
1499 The menus also provide a hook for *quick arrows* to provide easier user
1500 access. If nothing has been explicitly set, the default is to emulate
1501 the curror keys. The syntax permits each arrow to be altered
1502 individually or all four at once without re-entering their common
1503 beginning/end text. For example, to explicitly associate cursor actions
1504 with the arrows, any of the following forms could be used:
1505
1506 <r>+*Right*
1507 <l>+*Left*
1508 <u>+*Up*
1509 <d>+*Down*
1510 Define actions for the respective arrow buttons
1511
1512 <b>+*Begin*
1513 <e>+*End*
1514 Define common beginning/end parts for *quick arrows* which used in
1515 conjunction with the above <r> <l> <u> <d> constructs
1516
1517 For example, define arrows individually,
1518 <u>\E[A
1519
1520 <d>\E[B
1521
1522 <r>\E[C
1523
1524 <l>\E[D
1525
1526 or all at once
1527 <u>\E[AZ<><d>\E[BZ<><r>\E[CZ<><l>\E[D
1528
1529 or more compactly (factoring out common parts)
1530 <b>\E[<u>AZ<><d>BZ<><r>CZ<><l>D
1531
1532
1533
1534 Command Summary
1535 A short summary of the most *common* commands:
1536
1537 [menu:name]
1538 use an existing named menuBar or start a new one
1539
1540 [menu]
1541 use the current menuBar
1542
1543 [title:string]
1544 set menuBar title
1545
1546 [done]
1547 set menu access to readonly and, if reading from a file, signal EOF
1548
1549 [done:name]
1550 if reading from a file using [read:file;name] signal EOF
1551
1552 [rm:name]
1553 remove named menuBar(s)
1554
1555 [rm] [rm:]
1556 remove current menuBar
1557
1558 [rm*] [rm:*]
1559 remove all menuBar(s)
1560
1561 [swap]
1562 swap top two menuBars
1563
1564 [prev]
1565 access the previous menuBar
1566
1567 [next]
1568 access the next menuBar
1569
1570 [show]
1571 map menuBar
1572
1573 [hide]
1574 unmap menuBar
1575
1576 [pixmap;file]
1577 [pixmap;file;scaling]
1578 set a background pixmap
1579
1580 [read:file]
1581 [read:file;name]
1582 read in a menu from a file
1583
1584 [dump]
1585 dump out all menuBars to /tmp/rxvt-PID
1586
1587 / access menuBar top level
1588
1589 ./
1590 ../
1591 ../../
1592 access current or parent menu level
1593
1594 /path/menu
1595 add/access menu
1596
1597 /path/{-}
1598 add separator
1599
1600 /path/{item}{rtext} action
1601 add/alter menu item
1602
1603 -/* remove all menus from the menuBar
1604
1605 -/path/menu
1606 remove menu items, separators and submenus from menu
1607
1608 -/path/menu
1609 remove menu
1610
1611 -/path/{item}
1612 remove item
1613
1614 -/path/{-}
1615 remove separator
1616
1617 <b>Begin<r>Right<l>Left<u>Up<d>Down<e>End
1618 menu quick arrows
1619
1620 XPM
1621 For the XPM XTerm escape sequence "ESC ] 20 ; Pt ST" then value of "Pt"
1622 can be the name of the background pixmap followed by a sequence of
1623 scaling/positioning commands separated by semi-colons. The
1624 scaling/positioning commands are as follows:
1625
1626 query scale/position
1627 ?
1628
1629 change scale and position
1630 WxH+X+Y
1631
1632 WxH+X (== WxH+X+X)
1633
1634 WxH (same as WxH+50+50)
1635
1636 W+X+Y (same as WxW+X+Y)
1637
1638 W+X (same as WxW+X+X)
1639
1640 W (same as WxW+50+50)
1641
1642 change position (absolute)
1643 =+X+Y
1644
1645 =+X (same as =+X+Y)
1646
1647 change position (relative)
1648 +X+Y
1649
1650 +X (same as +X+Y)
1651
1652 rescale (relative)
1653 Wx0 -> W *= (W/100)
1654
1655 0xH -> H *= (H/100)
1656
1657 For example:
1658
1659 \E]20;funky\a
1660 load funky.xpm as a tiled image
1661
1662 \E]20;mona;100\a
1663 load mona.xpm with a scaling of 100%
1664
1665 \E]20;;200;?\a
1666 rescale the current pixmap to 200% and display the image geometry in
1667 the title
1668
1669 Mouse Reporting
1670 "ESC [ M <b> <x> <y>"
1671 report mouse position
1672
1673 The lower 2 bits of "<b>" indicate the button:
1674
1675 Button = "(<b> - SPACE) & 3"
1676 0 Button1 pressed
1677 1 Button2 pressed
1678 2 Button3 pressed
1679 3 button released (X11 mouse report)
1680
1681 The upper bits of "<b>" indicate the modifiers when the button was
1682 pressed and are added together (X11 mouse report only):
1683
1684 State = "(<b> - SPACE) & 60"
1685 4 Shift
1686 8 Meta
1687 16 Control
1688 32 Double Click (Rxvt extension)
1689
1690 Col = "<x> - SPACE"
1691
1692 Row = "<y> - SPACE"
1693
1694 Key Codes
1695 Note: Shift + F1-F10 generates F11-F20
1696
1697 For the keypad, use Shift to temporarily override Application-Keypad
1698 setting use Num_Lock to toggle Application-Keypad setting if Num_Lock is
1699 off, toggle Application-Keypad setting. Also note that values of Home,
1700 End, Delete may have been compiled differently on your system.
1701
1702 Normal Shift Control Ctrl+Shift
1703 Tab ^I ESC [ Z ^I ESC [ Z
1704 BackSpace ^H ^? ^? ^?
1705 Find ESC [ 1 ~ ESC [ 1 $ ESC [ 1 ^ ESC [ 1 @
1706 Insert ESC [ 2 ~ paste ESC [ 2 ^ ESC [ 2 @
1707 Execute ESC [ 3 ~ ESC [ 3 $ ESC [ 3 ^ ESC [ 3 @
1708 Select ESC [ 4 ~ ESC [ 4 $ ESC [ 4 ^ ESC [ 4 @
1709 Prior ESC [ 5 ~ scroll-up ESC [ 5 ^ ESC [ 5 @
1710 Next ESC [ 6 ~ scroll-down ESC [ 6 ^ ESC [ 6 @
1711 Home ESC [ 7 ~ ESC [ 7 $ ESC [ 7 ^ ESC [ 7 @
1712 End ESC [ 8 ~ ESC [ 8 $ ESC [ 8 ^ ESC [ 8 @
1713 Delete ESC [ 3 ~ ESC [ 3 $ ESC [ 3 ^ ESC [ 3 @
1714 F1 ESC [ 11 ~ ESC [ 23 ~ ESC [ 11 ^ ESC [ 23 ^
1715 F2 ESC [ 12 ~ ESC [ 24 ~ ESC [ 12 ^ ESC [ 24 ^
1716 F3 ESC [ 13 ~ ESC [ 25 ~ ESC [ 13 ^ ESC [ 25 ^
1717 F4 ESC [ 14 ~ ESC [ 26 ~ ESC [ 14 ^ ESC [ 26 ^
1718 F5 ESC [ 15 ~ ESC [ 28 ~ ESC [ 15 ^ ESC [ 28 ^
1719 F6 ESC [ 17 ~ ESC [ 29 ~ ESC [ 17 ^ ESC [ 29 ^
1720 F7 ESC [ 18 ~ ESC [ 31 ~ ESC [ 18 ^ ESC [ 31 ^
1721 F8 ESC [ 19 ~ ESC [ 32 ~ ESC [ 19 ^ ESC [ 32 ^
1722 F9 ESC [ 20 ~ ESC [ 33 ~ ESC [ 20 ^ ESC [ 33 ^
1723 F10 ESC [ 21 ~ ESC [ 34 ~ ESC [ 21 ^ ESC [ 34 ^
1724 F11 ESC [ 23 ~ ESC [ 23 $ ESC [ 23 ^ ESC [ 23 @
1725 F12 ESC [ 24 ~ ESC [ 24 $ ESC [ 24 ^ ESC [ 24 @
1726 F13 ESC [ 25 ~ ESC [ 25 $ ESC [ 25 ^ ESC [ 25 @
1727 F14 ESC [ 26 ~ ESC [ 26 $ ESC [ 26 ^ ESC [ 26 @
1728 F15 (Help) ESC [ 28 ~ ESC [ 28 $ ESC [ 28 ^ ESC [ 28 @
1729 F16 (Menu) ESC [ 29 ~ ESC [ 29 $ ESC [ 29 ^ ESC [ 29 @
1730 F17 ESC [ 31 ~ ESC [ 31 $ ESC [ 31 ^ ESC [ 31 @
1731 F18 ESC [ 32 ~ ESC [ 32 $ ESC [ 32 ^ ESC [ 32 @
1732 F19 ESC [ 33 ~ ESC [ 33 $ ESC [ 33 ^ ESC [ 33 @
1733 F20 ESC [ 34 ~ ESC [ 34 $ ESC [ 34 ^ ESC [ 34 @
1734 Application
1735 Up ESC [ A ESC [ a ESC O a ESC O A
1736 Down ESC [ B ESC [ b ESC O b ESC O B
1737 Right ESC [ C ESC [ c ESC O c ESC O C
1738 Left ESC [ D ESC [ d ESC O d ESC O D
1739 KP_Enter ^M ESC O M
1740 KP_F1 ESC O P ESC O P
1741 KP_F2 ESC O Q ESC O Q
1742 KP_F3 ESC O R ESC O R
1743 KP_F4 ESC O S ESC O S
1744 XK_KP_Multiply * ESC O j
1745 XK_KP_Add + ESC O k
1746 XK_KP_Separator , ESC O l
1747 XK_KP_Subtract - ESC O m
1748 XK_KP_Decimal . ESC O n
1749 XK_KP_Divide / ESC O o
1750 XK_KP_0 0 ESC O p
1751 XK_KP_1 1 ESC O q
1752 XK_KP_2 2 ESC O r
1753 XK_KP_3 3 ESC O s
1754 XK_KP_4 4 ESC O t
1755 XK_KP_5 5 ESC O u
1756 XK_KP_6 6 ESC O v
1757 XK_KP_7 7 ESC O w
1758 XK_KP_8 8 ESC O x
1759 XK_KP_9 9 ESC O y
1760
1761 CONFIGURE OPTIONS
1762 General hint: if you get compile errors, then likely your configuration
1763 hasn't been tested well. Either try with "--enable-everything" or use
1764 the ./reconf script as a base for experiments. ./reconf is used by
1765 myself, so it should generally be a working config. Of course, you
1766 should always report when a combination doesn't work, so it can be
1767 fixed. Marc Lehmann <rxvt@schmorp.de>.
1768
1769 All
1770
1771 --enable-everything
1772 Add (or remove) support for all non-multichoice options listed in
1773 "./configure --help".
1774
1775 You can specify this and then disable options you do not like by
1776 *following* this with the appropriate "--disable-..." arguments, or
1777 you can start with a minimal configuration by specifying
1778 "--disable-everything" and than adding just the "--enable-..."
1779 arguments you want.
1780
1781 --enable-xft (default: enabled)
1782 Add support for Xft (anti-aliases, among others) fonts. Xft fonts
1783 are slower and require lots of memory, but as long as you don't use
1784 them, you don't pay for them.
1785
1786 --enable-font-styles (default: on)
1787 Add support for bold, *italic* and *bold italic* font styles. The
1788 fonts can be set manually or automatically.
1789
1790 --with-codesets=NAME,... (default: all)
1791 Compile in support for additional codeset (encoding) groups ("eu",
1792 "vn" are always compiled in, which includes most 8-bit character
1793 sets). These codeset tables are used for driving X11 core fonts,
1794 they are not required for Xft fonts, although having them compiled
1795 in lets rxvt-unicode choose replacement fonts more intelligently.
1796 Compiling them in will make your binary bigger (all of together cost
1797 about 700kB), but it doesn't increase memory usage unless you use a
1798 font requiring one of these encodings.
1799
1800 all all available codeset groups
1801 zh common chinese encodings
1802 zh_ext rarely used but very big chinese encodigs
1803 jp common japanese encodings
1804 jp_ext rarely used but big japanese encodings
1805 kr korean encodings
1806
1807 --enable-xim (default: on)
1808 Add support for XIM (X Input Method) protocol. This allows using
1809 alternative input methods (e.g. kinput2) and will also correctly set
1810 up the input for people using dead keys or compose keys.
1811
1812 --enable-unicode3 (default: off)
1813 Enable direct support for displaying unicode codepoints above 65535
1814 (the basic multilingual page). This increases storage requirements
1815 per character from 2 to 4 bytes. X11 fonts do not yet support these
1816 extra characters, but Xft does.
1817
1818 Please note that rxvt-unicode can store unicode code points >65535
1819 even without this flag, but the number of such characters is limited
1820 to a view thousand (shared with combining characters, see next
1821 switch), and right now rxvt-unicode cannot display them
1822 (input/output and cut&paste still work, though).
1823
1824 --enable-combining (default: on)
1825 Enable automatic composition of combining characters into composite
1826 characters. This is required for proper viewing of text where
1827 accents are encoded as seperate unicode characters. This is done by
1828 using precomposited characters when available or creating new
1829 pseudo-characters when no precomposed form exists.
1830
1831 Without --enable-unicode3, the number of additional precomposed
1832 characters is rather limited (2048, if this is full, rxvt-unicode
1833 will use the private use area, extending the number of combinations
1834 to 8448). With --enable-unicode3, no practical limit exists.
1835
1836 This option will also enable storage (but not display) of characters
1837 beyond plane 0 (>65535) when --enable-unicode3 was not specified.
1838
1839 The combining table also contains entries for arabic presentation
1840 forms, but these are not currently used. Bug me if you want these to
1841 be used (and tell me how these are to be used...).
1842
1843 --enable-fallback(=CLASS) (default: Rxvt)
1844 When reading resource settings, also read settings for class CLASS.
1845 To disable resource fallback use --disable-fallback.
1846
1847 --with-res-name=NAME (default: urxvt)
1848 Use the given name as default application name when reading
1849 resources. Specify --with-res-name=rxvt to replace rxvt.
1850
1851 --with-res-class=CLASS /default: URxvt)
1852 Use the given class as default application class when reading
1853 resources. Specify --with-res-class=Rxvt to replace rxvt.
1854
1855 --enable-utmp (default: on)
1856 Write user and tty to utmp file (used by programs like w) at start
1857 of rxvt execution and delete information when rxvt exits.
1858
1859 --enable-wtmp (default: on)
1860 Write user and tty to wtmp file (used by programs like last) at
1861 start of rxvt execution and write logout when rxvt exits. This
1862 option requires --enable-utmp to also be specified.
1863
1864 --enable-lastlog (default: on)
1865 Write user and tty to lastlog file (used by programs like lastlogin)
1866 at start of rxvt execution. This option requires --enable-utmp to
1867 also be specified.
1868
1869 --enable-xpm-background (default: off)
1870 Add support for XPM background pixmaps.
1871
1872 --enable-transparency (default: off)
1873 Add support for inheriting parent backgrounds thus giving a fake
1874 transparency to the term.
1875
1876 --enable-fading (default: on)
1877 Add support for fading the text when focus is lost (requires
1878 "--enable-transparency").
1879
1880 --enable-tinting (default: on)
1881 Add support for tinting of transparent backgrounds (requires
1882 "--enable-transparency").
1883
1884 --enable-menubar (default: off)
1885 Add support for our menu bar system (this interacts badly with
1886 dynamic locale switching currently).
1887
1888 --enable-rxvt-scroll (default: on)
1889 Add support for the original rxvt scrollbar.
1890
1891 --enable-next-scroll (default: on)
1892 Add support for a NeXT-like scrollbar.
1893
1894 --enable-xterm-scroll (default: on)
1895 Add support for an Xterm-like scrollbar.
1896
1897 --enable-plain-scroll (default: on)
1898 Add support for a very unobtrusive, plain-looking scrollbar that is
1899 the favourite of the rxvt-unicode author, having used it for many
1900 years.
1901
1902 --enable-half-shadow (default: off)
1903 Make shadows on the scrollbar only half the normal width & height.
1904 only applicable to rxvt scrollbars.
1905
1906 --enable-ttygid (default: off)
1907 Change tty device setting to group "tty" - only use this if your
1908 system uses this type of security.
1909
1910 --disable-backspace-key
1911 Removes any handling of the backspace key by us - let the X server
1912 do it.
1913
1914 --disable-delete-key
1915 Removes any handling of the delete key by us - let the X server do
1916 it.
1917
1918 --disable-resources
1919 Removes any support for resource checking.
1920
1921 --enable-xgetdefault
1922 Make resources checking via XGetDefault() instead of our small
1923 version which only checks ~/.Xdefaults, or if that doesn't exist
1924 then ~/.Xresources.
1925
1926 Please note that nowadays, things like XIM will automatically pull
1927 in and use the full X resource manager, so the overhead of using it
1928 might be very small, if nonexistant.
1929
1930 --enable-strings (default: off)
1931 Add support for our possibly faster memset() function and other
1932 various routines, overriding your system's versions which may have
1933 been hand-crafted in assembly or may require extra libraries to link
1934 in. (this breaks ANSI-C rules and has problems on many GNU/Linux
1935 systems).
1936
1937 --disable-swapscreen
1938 Remove support for secondary/swap screen.
1939
1940 --enable-frills (default: on)
1941 Add support for many small features that are not essential but nice
1942 to have. Normally you want this, but for very small binaries you may
1943 want to disable this.
1944
1945 A non-exhaustive list of features enabled by "--enable-frills"
1946 (possibly in combination with other switches) is:
1947
1948 MWM-hints
1949 EWMH-hints (pid, utf8 names) and protocols (ping)
1950 seperate underline colour
1951 settable border widths and borderless switch
1952 settable extra linespacing
1953 iso-14755-2 and -3, and visual feedback
1954 backindex and forwardindex escape sequence
1955 window op and some xterm/OSC escape sequences
1956 tripleclickwords
1957 settable insecure mode
1958 keysym remapping support
1959 cursor blinking and underline cursor
1960 -embed, -pty-fd and -hold options
1961
1962 --enable-iso14755 (default: on)
1963 Enable extended ISO 14755 support (see rxvt(1), or doc/rxvt.1.txt).
1964 Basic support (section 5.1) is enabled by "--enable-frills", while
1965 support for 5.2, 5.3 and 5.4 is enabled with this switch.
1966
1967 --enable-keepscrolling (default: on)
1968 Add support for continual scrolling of the display when you hold the
1969 mouse button down on a scrollbar arrow.
1970
1971 --enable-mousewheel (default: on)
1972 Add support for scrolling via mouse wheel or buttons 4 & 5.
1973
1974 --enable-slipwheeling (default: on)
1975 Add support for continual scrolling (using the mouse wheel as an
1976 accelerator) while the control key is held down. This option
1977 requires --enable-mousewheel to also be specified.
1978
1979 --disable-new-selection
1980 Remove support for mouse selection style like that of xterm.
1981
1982 --enable-dmalloc (default: off)
1983 Use Gray Watson's malloc - which is good for debugging See
1984 http://www.letters.com/dmalloc/ for details If you use either this
1985 or the next option, you may need to edit src/Makefile after
1986 compiling to point DINCLUDE and DLIB to the right places.
1987
1988 You can only use either this option and the following (should you
1989 use either) .
1990
1991 --enable-dlmalloc (default: off)
1992 Use Doug Lea's malloc - which is good for a production version See
1993 <http://g.oswego.edu/dl/html/malloc.html> for details.
1994
1995 --enable-smart-resize (default: on)
1996 Add smart growth/shrink behaviour when changing font size via hot
1997 keys. This should keep the window corner which is closest to a
1998 corner of the screen in a fixed position.
1999
2000 --enable-pointer-blank (default: on)
2001 Add support to have the pointer disappear when typing or inactive.
2002
2003 --with-name=NAME (default: urxvt)
2004 Set the basename for the installed binaries, resulting in "urxvt",
2005 "urxvtd" etc.). Specify "--with-name=rxvt" to replace with "rxvt".
2006
2007 --with-term=NAME (default: rxvt-unicode)
2008 Change the environmental variable for the terminal to NAME.
2009
2010 --with-terminfo=PATH
2011 Change the environmental variable for the path to the terminfo tree
2012 to PATH.
2013
2014 --with-x
2015 Use the X Window System (pretty much default, eh?).
2016
2017 --with-xpm-includes=DIR
2018 Look for the XPM includes in DIR.
2019
2020 --with-xpm-library=DIR
2021 Look for the XPM library in DIR.
2022
2023 --with-xpm
2024 Not needed - define via --enable-xpm-background.
2025
2026 AUTHORS
2027 Marc Lehmann <rxvt@schmorp.de> converted this document to pod and
2028 reworked it from the original Rxvt documentation, which was done by
2029 Geoff Wing <gcw@pobox.com>, who in turn used the XTerm documentation and
2030 other sources.
2031