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

Comparing rxvt-unicode/doc/rxvt.7.pod (file contents):
Revision 1.34 by root, Thu Feb 3 10:24:10 2005 UTC vs.
Revision 1.47 by root, Mon Feb 14 10:48:44 2005 UTC

1=head1 NAME 1=head1 NAME
2 2
3RXVT REFERENCE - FAQ, command sequences and other background information 3RXVT REFERENCE - FAQ, command sequences and other background information
4 4
5=head1 SYNOPSIS
6
7 # set a new font set
8 printf '\33]50;%s\007' 9x15,xft:Kochi" Mincho"
9
10 # change the locale and tell rxvt-unicode about it
11 export LC_CTYPE=ja_JP.EUC-JP; printf "\33]701;$LC_CTYPE\007"
12
13 # set window title
14 printf '\33]2;%s\007' "new window title"
15
16=head1 DESCRIPTION
17
18This document contains the FAQ, the RXVT TECHNICAL REFERENCE documenting
19all escape sequences, and other background information.
20
21The newest version of this document is
22also available on the World Wide Web at
23L<http://cvs.schmorp.de/browse/*checkout*/rxvt-unicode/doc/rxvt.7.html>.
24
5=head1 FREQUENTLY ASKED QUESTIONS 25=head1 FREQUENTLY ASKED QUESTIONS
6 26
7=over 4 27=over 4
8 28
9=item How do I know which rxvt-unicode version I'm using? 29=item How do I know which rxvt-unicode version I'm using?
10 30
11The version number is displayed with the usage (-h). Also the escape 31The version number is displayed with the usage (-h). Also the escape
12sequence C<ESC[8n> sets the window title to the version number. 32sequence C<ESC [ 8 n> sets the window title to the version number.
33
34=item I am using Debian GNU/Linux and have a problem...
35
36The Debian GNU/Linux package of rxvt-unicode contains large patches that
37considerably change the behaviour of rxvt-unicode. Before reporting a
38bug to the original rxvt-unicode author please download and install the
39genuine version (L<http://software.schmorp.de#rxvt-unicode>) and try to
40reproduce the problem. If you cannot, chances are that the problems are
41specific to Debian GNU/Linux, in which case it should be reported via the
42Debian Bug Tracking System (use C<reportbug> to report the bug).
43
44For other problems that also affect the Debian package, you can and
45probably should use the Debian BTS, too, because, after all, it's also a
46bug in the Debian version and it serves as a reminder for other users that
47might encounter the same issue.
13 48
14=item When I log-in to another system it tells me about missing terminfo data? 49=item When I log-in to another system it tells me about missing terminfo data?
15 50
16The terminal description used by rxvt-unicode is not as widely available 51The terminal description used by rxvt-unicode is not as widely available
17as that for xterm, or even rxvt (for which the same problem often arises). 52as that for xterm, or even rxvt (for which the same problem often arises).
28C<TERM=rxvt> or even C<TERM=xterm>, and live with the small number of 63C<TERM=rxvt> or even C<TERM=xterm>, and live with the small number of
29problems arising, which includes wrong keymapping, less and different 64problems arising, which includes wrong keymapping, less and different
30colours and some refresh errors in fullscreen applications. It's a nice 65colours and some refresh errors in fullscreen applications. It's a nice
31quick-and-dirty workaround for rare cases, though. 66quick-and-dirty workaround for rare cases, though.
32 67
33If you always want to do this you can either recompile rxvt-unicode with 68If you always want to do this (and are fine with the consequences) you
34the desired TERM value or use a resource to set it: 69can either recompile rxvt-unicode with the desired TERM value or use a
70resource to set it:
35 71
36 URxvt.termName: rxvt 72 URxvt.termName: rxvt
37 73
38If you don't plan to use B<rxvt> (quite common...) you could also replace 74If you don't plan to use B<rxvt> (quite common...) you could also replace
39the rxvt terminfo file with the rxvt-unicode one. 75the rxvt terminfo file with the rxvt-unicode one.
40 76
77=item C<bash>'s readline does not work correctly under @@RXVT_NAME@@.
78
41=item I need a termcap file entry. 79=item I need a termcap file entry.
80
81One reason you might want this is that some distributions or operating
82systems still compile some programs using the long-obsoleted termcap
83library (Fedora Core's bash is one example) and rely on a termcap entry
84for C<rxvt-unicode>.
42 85
43You could use rxvt's termcap entry with resonable results in many cases. 86You could use rxvt's termcap entry with resonable results in many cases.
44You can also create a termcap entry by using terminfo's infocmp program 87You can also create a termcap entry by using terminfo's infocmp program
45like this: 88like this:
46 89
47 infocmp -C rxvt-unicode 90 infocmp -C rxvt-unicode
48 91
49OR you could this termcap entry: 92Or you could use this termcap entry, generated by the command above:
50 93
51 rxvt-unicode|rxvt-unicode terminal (X Window System):\ 94 rxvt-unicode|rxvt-unicode terminal (X Window System):\
52 :am:bw:eo:km:mi:ms:xn:xo:\ 95 :am:bw:eo:km:mi:ms:xn:xo:\
53 :co#80:it#8:li#24:\ 96 :co#80:it#8:li#24:lm#0:\
54 :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ 97 :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\
55 :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\ 98 :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\
56 :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ae=^O:al=\E[L:\ 99 :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ae=^O:al=\E[L:\
57 :as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:\ 100 :as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:\
58 :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:\ 101 :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:\
59 :ec=\E[%dX:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:ic=\E[@:\ 102 :ec=\E[%dX:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:ic=\E[@:\
60 :im=\E[4h:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ 103 :im=\E[4h:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\
61 :k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\ 104 :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\
62 :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ 105 :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:kD=\E[3~:\
63 :kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:\ 106 :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:\
64 :ke=\E[?1l\E>:kh=\E[7~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ 107 :kh=\E[7~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\
65 :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:\ 108 :mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:rc=\E8:\
66 :nd=\E[C:rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:\ 109 :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
67 :st=\EH:ta=^I:te=\E[r\E[?1049l:ti=\E[?1049h:ue=\E[24m:\ 110 :te=\E[r\E[?1049l:ti=\E[?1049h:ue=\E[24m:up=\E[A:\
68 :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:\ 111 :us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:\
69 :vs=\E[?25h: 112 :vs=\E[?25h:
70 113
71=item Why does C<ls> no longer have coloured output? 114=item Why does C<ls> no longer have coloured output?
72 115
73The C<ls> in the GNU coreutils unfortunately doesn't use terminfo to 116The C<ls> in the GNU coreutils unfortunately doesn't use terminfo to
96GNU/Linux) furthermore fail to even install the C<rxvt-unicode> terminfo 139GNU/Linux) furthermore fail to even install the C<rxvt-unicode> terminfo
97file, so you will need to install it on your own (See the question B<When 140file, so you will need to install it on your own (See the question B<When
98I log-in to another system it tells me about missing terminfo data?> on 141I log-in to another system it tells me about missing terminfo data?> on
99how to do this). 142how to do this).
100 143
144=item My numerical keypad acts weird and generates differing output?
145
146Some Debian GNUL/Linux users seem to have this problem, although no
147specific details were reported so far. It is possible that this is caused
148by the wrong C<TERM> setting, although the details of wether and how
149this can happen are unknown, as C<TERM=rxvt> should offer a compatible
150keymap. See the answer to the previous question, and please report if that
151helped.
152
101=item Rxvt-unicode does not seem to understand the selected encoding? 153=item Rxvt-unicode does not seem to understand the selected encoding?
102 154
103=item Unicode does not seem to work? 155=item Unicode does not seem to work?
104 156
105If you encounter strange problems like typing an accented character but 157If you encounter strange problems like typing an accented character but
107subtly garbled, then you should check your locale settings. 159subtly garbled, then you should check your locale settings.
108 160
109Rxvt-unicode must be started with the same C<LC_CTYPE> setting as the 161Rxvt-unicode must be started with the same C<LC_CTYPE> setting as the
110programs. Often rxvt-unicode is started in the C<C> locale, while the 162programs. Often rxvt-unicode is started in the C<C> locale, while the
111login script running within the rxvt-unicode window changes the locale to 163login script running within the rxvt-unicode window changes the locale to
112sth. else, e.h. C<en_GB.UTF-8>. Needless to say, this is not going to work. 164something else, e.g. C<en_GB.UTF-8>. Needless to say, this is not going to work.
113 165
114The best thing is to fix your startup environment, as you will likely run 166The best thing is to fix your startup environment, as you will likely run
115into other problems. If nothing works you can try this in your .profile. 167into other problems. If nothing works you can try this in your .profile.
116 168
117 printf '\e]701;%s\007' "$LC_CTYPE" 169 printf '\e]701;%s\007' "$LC_CTYPE"
118 170
119If this doesn't work, then maybe you use a C<LC_CTYPE> specification not 171If this doesn't work, then maybe you use a C<LC_CTYPE> specification not
120supported on your systems. Some systems have a C<locale> command which 172supported on your systems. Some systems have a C<locale> command which
121displays this. If it displays sth. like: 173displays this (also, C<perl -e0> can be used to check locale settings, as
174it will complain loudly if it cannot set the locale). If it displays something
175like:
122 176
123 locale: Cannot set LC_CTYPE to default locale: ... 177 locale: Cannot set LC_CTYPE to default locale: ...
124 178
125Then the locale you specified is not supported on your system. 179Then the locale you specified is not supported on your system.
126 180
137your system/os) have specified does not cover all the characters you want 191your system/os) have specified does not cover all the characters you want
138to display. 192to display.
139 193
140B<rxvt-unicode> makes a best-effort try at finding a replacement 194B<rxvt-unicode> makes a best-effort try at finding a replacement
141font. Often the result is fine, but sometimes the chosen font looks 195font. Often the result is fine, but sometimes the chosen font looks
142bad. Many fonts have totally strange characters that don't resemble the 196bad/ugly/wrong. Some fonts have totally strange characters that don't
143correct glyph at all, and rxvt-unicode lacks the artificial intelligence 197resemble the correct glyph at all, and rxvt-unicode lacks the artificial
144to detect that a specific glyph is wrong: it has to believe the font that 198intelligence to detect that a specific glyph is wrong: it has to believe
145the characters it contains indeed look correct. 199the font that the characters it claims to contain indeed look correct.
146 200
147In that case, select a font of your taste and add it to the font list, 201In that case, select a font of your taste and add it to the font list,
148e.g.: 202e.g.:
149 203
150 @@RXVT_NAME@@ -fn basefont,font2,font3... 204 @@RXVT_NAME@@ -fn basefont,font2,font3...
152When rxvt-unicode sees a character, it will first look at the base 206When rxvt-unicode sees a character, it will first look at the base
153font. If the base font does not contain the character, it will go to the 207font. If the base font does not contain the character, it will go to the
154next font, and so on. Specifying your own fonts will also speed up this 208next font, and so on. Specifying your own fonts will also speed up this
155search and use less resources within rxvt-unicode and the X-server. 209search and use less resources within rxvt-unicode and the X-server.
156 210
157The only limitation is that all the fonts must not be larger than the base 211The only limitation is that none of the fonts may be larger than the base
158font, as the base font defines the principal cell size, which must be the 212font, as the base font defines the terminal character cell size, which
159same due to the way terminals work. 213must be the same due to the way terminals work.
160 214
161=item Why do some chinese characters look so different than others? 215=item Why do some chinese characters look so different than others?
162 216
163This is because there is a difference between script and language -- 217This is because there is a difference between script and language --
164rxvt-unicode does not know which language the text that is output 218rxvt-unicode does not know which language the text that is output is,
165is, as it only knows the unicode character codes. If rxvt-unicode 219as it only knows the unicode character codes. If rxvt-unicode first
166first sees a japanese character, it might choose a japanese font for 220sees a japanese/chinese character, it might choose a japanese font for
167it. Subsequent japanese characters will take that font. Now, many chinese 221display. Subsequent japanese characters will use that font. Now, many
168characters aren't represented in japanese fonts, so when the first 222chinese characters aren't represented in japanese fonts, so when the first
169non-japanese character comes up, rxvt-unicode will look for a chinese font 223non-japanese character comes up, rxvt-unicode will look for a chinese font
170-- unfortunately at this point, it will still use the japanese font for 224-- unfortunately at this point, it will still use the japanese font for
171japanese characters that are also chinese. 225chinese characters that are also in the japanese font.
172 226
173The workaround is easy: just tag a chinese font at the end of your font 227The workaround is easy: just tag a chinese font at the end of your font
174list (see the previous question). The key is to view the font list as 228list (see the previous question). The key is to view the font list as
175a preference list: If you expect more japanese, list a japanese font 229a preference list: If you expect more japanese, list a japanese font
176first. If you expect more chinese, put a chinese font first. 230first. If you expect more chinese, put a chinese font first.
177 231
178In the future it might be possible to switch preferences at runtime (the 232In the future it might be possible to switch language preferences at
179internal data structure has no problem with using different fonts for 233runtime (the internal data structure has no problem with using different
180the same character at the same time, but no interface for this has been 234fonts for the same character at the same time, but no interface for this
181designed yet). 235has been designed yet).
236
237Until then, you might get away with switching fonts at runtime (see L<Can
238I switch the fonts at runtime?> later in this document).
182 239
183=item Why does rxvt-unicode sometimes leave pixel droppings? 240=item Why does rxvt-unicode sometimes leave pixel droppings?
184 241
185Most fonts were not designed for terminal use, which means that character 242Most fonts were not designed for terminal use, which means that character
186size varies a lot. A font that is otherwise fine for terminal use might 243size varies a lot. A font that is otherwise fine for terminal use might
222codes, too, such as C<Ctrl-Shift-1-d> to type the default telnet escape 279codes, too, such as C<Ctrl-Shift-1-d> to type the default telnet escape
223character and so on. 280character and so on.
224 281
225=item How can I keep rxvt-unicode from using reverse video so much? 282=item How can I keep rxvt-unicode from using reverse video so much?
226 283
227First of all, make sure you are running with the right terminfo 284First of all, make sure you are running with the right terminal settings
228(C<urxvt>), which will get rid of most of these effects. Then make sure 285(C<TERM=rxvt-unicode>), which will get rid of most of these effects. Then
229you have specified colours for italic and bold, as otherwise rxvt-unicode 286make sure you have specified colours for italic and bold, as otherwise
230might use reverse video to simulate the effect: 287rxvt-unicode might use reverse video to simulate the effect:
231 288
232 URxvt*colorBD: white 289 URxvt.colorBD: white
233 URxvt*colorIT: green 290 URxvt.colorIT: green
234 291
235=item Some programs assume totally weird colours (red instead of blue), how can I fix that? 292=item Some programs assume totally weird colours (red instead of blue), how can I fix that?
236 293
237For some unexplainable reason, some programs (i.e. irssi) assume a very 294For some unexplainable reason, some rare programs assume a very weird
238weird colour palette when confronted with a terminal with more than the 295colour palette when confronted with a terminal with more than the standard
239standard 8 colours (rxvt-unicode supports 88). The right fix is, of 2968 colours (rxvt-unicode supports 88). The right fix is, of course, to fix
240course, to fix these programs not to assume non-ISO colours without very 297these programs not to assume non-ISO colours without very good reasons.
241good reasons.
242 298
243In the meantime, you can either edit your C<urxvt> terminfo definition to 299In the meantime, you can either edit your C<rxvt-unicode> terminfo
244only claim 8 colour support or use C<TERM=rxvt>, which will fix colours 300definition to only claim 8 colour support or use C<TERM=rxvt>, which will
245but keep you from using other rxvt-unicode features. 301fix colours but keep you from using other rxvt-unicode features.
246 302
247=item I am on FreeBSD and rxvt-unicode does not seem to work at all. 303=item I am on FreeBSD and rxvt-unicode does not seem to work at all.
248 304
249Rxvt-unicode requires the symbol C<__STDC_ISO_10646__> to be defined 305Rxvt-unicode requires the symbol C<__STDC_ISO_10646__> to be defined
250in your compile environment, or an implementation that implements it, 306in your compile environment, or an implementation that implements it,
251wether it defines the symbol or not. C<__STDC_ISO_10646__> requires that 307wether it defines the symbol or not. C<__STDC_ISO_10646__> requires that
252B<wchar_t> is represented as unicode. 308B<wchar_t> is represented as unicode.
253 309
254As you might have guessed, FreeBSD does neither define this symobl nor 310As you might have guessed, FreeBSD does neither define this symobl nor
255does it support it. Instead, it uses it's own internal representation of 311does it support it. Instead, it uses it's own internal representation of
256B<wchar_t>. This is, of course, completely legal. 312B<wchar_t>. This is, of course, completely fine with respect to standards.
257 313
258However, C<__STDC_ISO_10646__> is the only sane way to support 314However, C<__STDC_ISO_10646__> is the only sane way to support
259multi-language apps in an OS, as using a locale-dependent (and 315multi-language apps in an OS, as using a locale-dependent (and
260non-standardized) representation of B<wchar_t> makes it impossible to 316non-standardized) representation of B<wchar_t> makes it impossible to
261convert between B<wchar_t> (as used by X11 and your applications) and any 317convert between B<wchar_t> (as used by X11 and your applications) and any
269conversions (which is slow and unreliable in case the OS implements 325conversions (which is slow and unreliable in case the OS implements
270encodings slightly different than the terminal emulator). 326encodings slightly different than the terminal emulator).
271 327
272The rxvt-unicode author insists that the right way to fix this is in the 328The rxvt-unicode author insists that the right way to fix this is in the
273system libraries once and for all, instead of forcing every app to carry 329system libraries once and for all, instead of forcing every app to carry
274complete replacements. 330complete replacements for them :)
275 331
276=item How does rxvt-unicode determine the encoding to use? 332=item How does rxvt-unicode determine the encoding to use?
277 333
278=item Is there an option to switch encodings? 334=item Is there an option to switch encodings?
279 335
281specific "utf-8" mode, such as xterm. In fact, it doesn't even know about 337specific "utf-8" mode, such as xterm. In fact, it doesn't even know about
282UTF-8 or any other encodings with respect to terminal I/O. 338UTF-8 or any other encodings with respect to terminal I/O.
283 339
284The reasons is that there exists a perfectly fine mechanism for selecting 340The reasons is that there exists a perfectly fine mechanism for selecting
285the encoding, doing I/O and (most important) communicating this to all 341the encoding, doing I/O and (most important) communicating this to all
286applications so everybody agrees on character properties such as width and 342applications so everybody agrees on character properties such as width
287code number. This mechanism is the I<locale>. 343and code number. This mechanism is the I<locale>. Applications not using
344that info will have problems (for example, C<xterm> gets the width of
345characters wrong as it uses it's own, locale-independent table under all
346locales).
288 347
289Rxvt-unicode uses the C<LC_CTYPE> locale category to select encoding. All 348Rxvt-unicode uses the C<LC_CTYPE> locale category to select encoding. All
290programs doing the same (that is, most) will automatically agree in the 349programs doing the same (that is, most) will automatically agree in the
291interpretation of characters. 350interpretation of characters.
292 351
299C<ja_JP.EUC-JP>, i.e. C<language_country.encoding>, but other forms 358C<ja_JP.EUC-JP>, i.e. C<language_country.encoding>, but other forms
300(i.e. C<de> or C<german>) are also common. 359(i.e. C<de> or C<german>) are also common.
301 360
302Rxvt-unicode ignores all other locale categories, and except for 361Rxvt-unicode ignores all other locale categories, and except for
303the encoding, ignores country or language-specific settings, 362the encoding, ignores country or language-specific settings,
304i.e. C<de_DE.UTF-8> and C<ja_JP.UTF-8> are the same for rxvt-unicode. 363i.e. C<de_DE.UTF-8> and C<ja_JP.UTF-8> are the normally same to
364rxvt-unicode.
305 365
306If you want to use a specific encoding you have to make sure you start 366If you want to use a specific encoding you have to make sure you start
307rxvt-unicode with the correct C<LC_CTYPE> category. 367rxvt-unicode with the correct C<LC_CTYPE> category.
308 368
309=item Can I switch locales at runtime? 369=item Can I switch locales at runtime?
310 370
311Yes, using an escape sequence. Try sth. like this, which sets 371Yes, using an escape sequence. Try something like this, which sets
312rxvt-unicode's idea of C<LC_CTYPE>. 372rxvt-unicode's idea of C<LC_CTYPE>.
313 373
314 printf '\e]701;%s\007' ja_JP.SJIS 374 printf '\e]701;%s\007' ja_JP.SJIS
315 375
316See also the previous question. 376See also the previous answer.
317 377
318Sometimes this capability is rather handy when you want to work in one 378Sometimes this capability is rather handy when you want to work in
319locale (e.g. C<de_DE.UTF-8>) but some programs don't support UTF-8. For 379one locale (e.g. C<de_DE.UTF-8>) but some programs don't support it
320example, I use this script to start C<xjdic>, which first switches to a 380(e.g. UTF-8). For example, I use this script to start C<xjdic>, which
321locale supported by xjdic and back later: 381first switches to a locale supported by xjdic and back later:
322 382
323 printf '\e]701;%s\007' ja_JP.SJIS 383 printf '\e]701;%s\007' ja_JP.SJIS
324 xjdic -js 384 xjdic -js
325 printf '\e]701;%s\007' de_DE.UTF-8 385 printf '\e]701;%s\007' de_DE.UTF-8
326 386
387You can also use xterm's C<luit> program, which usually works fine, except
388for some locales where character width differs between program- and
389rxvt-unicode-locales.
390
327=item Can I switch the fonts at runtime? 391=item Can I switch the fonts at runtime?
328 392
329Yes, using an escape sequence. Try sth. like this, which has the same 393Yes, using an escape sequence. Try something like this, which has the same
330effect as using the C<-fn> switch, and takes effect immediately: 394effect as using the C<-fn> switch, and takes effect immediately:
331 395
332 printf '\e]50;%s\007' "9x15bold,xft:Kochi Gothic" 396 printf '\e]50;%s\007' "9x15bold,xft:Kochi Gothic"
333 397
334This is useful if you e.g. work primarily with japanese (and prefer a 398This is useful if you e.g. work primarily with japanese (and prefer a
339 403
340=item Why do italic characters look as if clipped? 404=item Why do italic characters look as if clipped?
341 405
342Many fonts have difficulties with italic characters and hinting. For 406Many fonts have difficulties with italic characters and hinting. For
343example, the otherwise very nicely hinted font C<xft:Bitstream Vera Sans 407example, the otherwise very nicely hinted font C<xft:Bitstream Vera Sans
344Mono> completely fails in it's italic face. A workaround is to enable 408Mono> completely fails in it's italic face. A workaround might be to
345freetype autohinting, i.e. like this: 409enable freetype autohinting, i.e. like this:
346 410
347 URxvt*italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true 411 URxvt.italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true
348 URxvt*boldItalicFont: xft:Bitstream Vera Sans Mono:bold:italic:autohint=true 412 URxvt.boldItalicFont: xft:Bitstream Vera Sans Mono:bold:italic:autohint=true
349 413
350=item My input method wants <some encoding> but I want UTF-8, what can I do? 414=item My input method wants <some encoding> but I want UTF-8, what can I do?
351 415
352You can specify separate locales for the input method and the rest of the 416You can specify separate locales for the input method and the rest of the
353terminal, using the resource C<imlocale>: 417terminal, using the resource C<imlocale>:
357Now you can start your terminal with C<LC_CTYPE=ja_JP.UTF-8> and still 421Now you can start your terminal with C<LC_CTYPE=ja_JP.UTF-8> and still
358use your input method. Please note, however, that you will not be able to 422use your input method. Please note, however, that you will not be able to
359input characters outside C<EUC-JP> in a normal way then, as your input 423input characters outside C<EUC-JP> in a normal way then, as your input
360method limits you. 424method limits you.
361 425
426=item Rxvt-unicode crashes when the X Input Method changes or exits.
427
428Unfortunately, this is unavoidable, as the XIM protocol is racy by
429design. Applications can avoid some crashes at the expense of memory
430leaks, and Input Methods can avoid some crashes by careful ordering at
431exit time. B<kinput2> (and derived input methods) generally succeeds,
432while B<SCIM> (or similar input methods) fails. In the end, however,
433crashes cannot be completely avoided even if both sides cooperate.
434
435So the only workaround is not to kill your Input Method Servers.
436
362=item Rxvt-unicode uses gobs of memory, how can I reduce that? 437=item Rxvt-unicode uses gobs of memory, how can I reduce that?
363 438
364Rxvt-unicode tries to obey the rule of not charging you for sth. you 439Rxvt-unicode tries to obey the rule of not charging you for something you
365don't use. One thing you should try is to configure out all settings that 440don't use. One thing you should try is to configure out all settings that
366you don't need, for example, Xft support is a resource hog by design, 441you don't need, for example, Xft support is a resource hog by design,
367when used. Compiling it out ensures that no Xft font will be loaded 442when used. Compiling it out ensures that no Xft font will be loaded
368accidentally when rxvt-unicode tries to find a font for your characters. 443accidentally when rxvt-unicode tries to find a font for your characters.
369 444
422resources (or as long-options). 497resources (or as long-options).
423 498
424Here are values that are supposed to resemble a VGA screen, 499Here are values that are supposed to resemble a VGA screen,
425including the murky brown that passes for low-intensity yellow: 500including the murky brown that passes for low-intensity yellow:
426 501
427 URxvt*color0: #000000 502 URxvt.color0: #000000
428 URxvt*color1: #A80000 503 URxvt.color1: #A80000
429 URxvt*color2: #00A800 504 URxvt.color2: #00A800
430 URxvt*color3: #A8A800 505 URxvt.color3: #A8A800
431 URxvt*color4: #0000A8 506 URxvt.color4: #0000A8
432 URxvt*color5: #A800A8 507 URxvt.color5: #A800A8
433 URxvt*color6: #00A8A8 508 URxvt.color6: #00A8A8
434 URxvt*color7: #A8A8A8 509 URxvt.color7: #A8A8A8
435 510
436 URxvt*color8: #000054 511 URxvt.color8: #000054
437 URxvt*color9: #FF0054 512 URxvt.color9: #FF0054
438 URxvt*color10: #00FF54 513 URxvt.color10: #00FF54
439 URxvt*color11: #FFFF54 514 URxvt.color11: #FFFF54
440 URxvt*color12: #0000FF 515 URxvt.color12: #0000FF
441 URxvt*color13: #FF00FF 516 URxvt.color13: #FF00FF
442 URxvt*color14: #00FFFF 517 URxvt.color14: #00FFFF
443 URxvt*color15: #FFFFFF 518 URxvt.color15: #FFFFFF
444 519
445And here is a more complete set of non-standard colors described as 520And here is a more complete set of non-standard colors described (not by
446"pretty girly": 521me) as "pretty girly".
447 522
448 URxvt.cursorColor: #dc74d1 523 URxvt.cursorColor: #dc74d1
449 URxvt.pointerColor: #dc74d1 524 URxvt.pointerColor: #dc74d1
450 URxvt.background: #0e0e0e 525 URxvt.background: #0e0e0e
451 URxvt.foreground: #4ad5e1 526 URxvt.foreground: #4ad5e1
462 URxvt.color6: #73f7ff 537 URxvt.color6: #73f7ff
463 URxvt.color14: #73f7ff 538 URxvt.color14: #73f7ff
464 URxvt.color7: #e1dddd 539 URxvt.color7: #e1dddd
465 URxvt.color15: #e1dddd 540 URxvt.color15: #e1dddd
466 541
542=item How can I start @@RXVT_NAME@@d in a race-free way?
543
544Despite it's name, @@RXVT_NAME@@d is not a real daemon, but more like a
545server that answers @@RXVT_NAME@@c's requests, so it doesn't background
546itself.
547
548To ensure @@RXVT_NAME@@d is listening on it's socket, you can use the
549following method to wait for the startup message before continuing:
550
551 { @@RXVT_NAME@@d & } | read
552
467=item What's with the strange Backspace/Delete key behaviour? 553=item What's with the strange Backspace/Delete key behaviour?
468 554
469Assuming that the physical Backspace key corresponds to the 555Assuming that the physical Backspace key corresponds to the
470BackSpace keysym (not likely for Linux ... see the following 556BackSpace keysym (not likely for Linux ... see the following
471question) there are two standard values that can be used for 557question) there are two standard values that can be used for
489 575
490 # use Backspace = ^? 576 # use Backspace = ^?
491 $ stty erase ^? 577 $ stty erase ^?
492 $ @@RXVT_NAME@@ 578 $ @@RXVT_NAME@@
493 579
494Toggle with "ESC[36h" / "ESC[36l" as documented in @@RXVT_NAME@@(7). 580Toggle with C<ESC [ 36 h> / C<ESC [ 36 l> as documented in @@RXVT_NAME@@(7).
495 581
496For an existing rxvt-unicode: 582For an existing rxvt-unicode:
497 583
498 # use Backspace = ^H 584 # use Backspace = ^H
499 $ stty erase ^H 585 $ stty erase ^H
508properly reflects that. 594properly reflects that.
509 595
510The Delete key is a another casualty of the ill-defined Backspace problem. 596The Delete key is a another casualty of the ill-defined Backspace problem.
511To avoid confusion between the Backspace and Delete keys, the Delete 597To avoid confusion between the Backspace and Delete keys, the Delete
512key has been assigned an escape sequence to match the vt100 for Execute 598key has been assigned an escape sequence to match the vt100 for Execute
513(ESC[3~) and is in the supplied termcap/terminfo. 599(C<ESC [ 3 ~>) and is in the supplied termcap/terminfo.
514 600
515Some other Backspace problems: 601Some other Backspace problems:
516 602
517some editors use termcap/terminfo, 603some editors use termcap/terminfo,
518some editors (vim I'm told) expect Backspace = ^H, 604some editors (vim I'm told) expect Backspace = ^H,
524 610
525There are some compile-time selections available via configure. Unless 611There are some compile-time selections available via configure. Unless
526you have run "configure" with the C<--disable-resources> option you can 612you have run "configure" with the C<--disable-resources> option you can
527use the `keysym' resource to alter the keystrings associated with keysyms. 613use the `keysym' resource to alter the keystrings associated with keysyms.
528 614
529Here's an example for a URxvt session started using `@@RXVT_NAME@@ -name URxvt' 615Here's an example for a URxvt session started using C<@@RXVT_NAME@@ -name URxvt>
530 616
531 URxvt.keysym.Home: \033[1~ 617 URxvt.keysym.Home: \033[1~
532 URxvt.keysym.End: \033[4~ 618 URxvt.keysym.End: \033[4~
533 URxvt.keysym.C-apostrophe: \033<C-'> 619 URxvt.keysym.C-apostrophe: \033<C-'>
534 URxvt.keysym.C-slash: \033<C-/> 620 URxvt.keysym.C-slash: \033<C-/>
564 650
565Rather than have rxvt-unicode try to accommodate all the various possible 651Rather than have rxvt-unicode try to accommodate all the various possible
566keyboard mappings, it is better to use `xmodmap' to remap the keys as 652keyboard mappings, it is better to use `xmodmap' to remap the keys as
567required for your particular machine. 653required for your particular machine.
568 654
569=item How do I distinguish if I'm running rxvt-unicode or a regular xterm? 655=item How do I distinguish wether I'm running rxvt-unicode or a regular xterm?
570I need this to decide about setting colors etc. 656I need this to decide about setting colors etc.
571 657
572rxvt and rxvt-unicode always export the variable "COLORTERM", so you can 658rxvt and rxvt-unicode always export the variable "COLORTERM", so you can
573check and see if that is set. Note that several programs, JED, slrn, 659check and see if that is set. Note that several programs, JED, slrn,
574Midnight Commander automatically check this variable to decide whether or 660Midnight Commander automatically check this variable to decide whether or
611channel C<#rxvt-unicode> has some rxvt-unicode enthusiasts that might be 697channel C<#rxvt-unicode> has some rxvt-unicode enthusiasts that might be
612interested in learning about new and exciting problems (but not FAQs :). 698interested in learning about new and exciting problems (but not FAQs :).
613 699
614=back 700=back
615 701
616=head1 SYNOPSIS 702=head1 RXVT TECHNICAL REFERENCE
617
618 # set a new font set
619 printf '\33]50;%s\007' 9x15,xft:Kochi" Mincho"
620
621 # change the locale and tell rxvt-unicode about it
622 export LC_CTYPE=ja_JP.EUC-JP; printf "\33]701;$LC_CTYPE\007"
623
624 # set window title
625 printf '\33]2;%s\007' "new window title"
626 703
627=head1 DESCRIPTION 704=head1 DESCRIPTION
628 705
629The rest of this document describes various technical aspects of 706The rest of this document describes various technical aspects of
630B<rxvt-unicode>. First the description of supported command sequences, 707B<rxvt-unicode>. First the description of supported command sequences,
631followed by menu and pixmap support and last by a description of all 708followed by menu and pixmap support and last by a description of all
632features selectable at C<configure> time. 709features selectable at C<configure> time.
633 710
634=head1 RXVT TECHNICAL REFERENCE
635
636=head1 Definitions 711=head1 Definitions
637 712
638=over 4 713=over 4
639 714
640=item B<< C<c> >> 715=item B<< C<c> >>
768Single Shift Select of G3 Character Set (SS3): affects next character 843Single Shift Select of G3 Character Set (SS3): affects next character
769only I<unimplemented> 844only I<unimplemented>
770 845
771=item B<< C<ESC Z> >> 846=item B<< C<ESC Z> >>
772 847
773Obsolete form of returns: B<< C<ESC[?1;2C> >> I<rxvt-unicode compile-time option> 848Obsolete form of returns: B<< C<ESC [ ? 1 ; 2 C> >> I<rxvt-unicode compile-time option>
774 849
775=item B<< C<ESC c> >> 850=item B<< C<ESC c> >>
776 851
777Full reset (RIS) 852Full reset (RIS)
778 853
782 857
783=item B<< C<ESC o> >> 858=item B<< C<ESC o> >>
784 859
785Invoke the G3 Character Set (LS3) 860Invoke the G3 Character Set (LS3)
786 861
787=item B<< C<ESC> ( C> >> 862=item B<< C<ESC ( C> >>
788 863
789Designate G0 Character Set (ISO 2022), see below for values of C<C>. 864Designate G0 Character Set (ISO 2022), see below for values of C<C>.
790 865
791=item B<< C<ESC> ) C> >> 866=item B<< C<ESC ) C> >>
792 867
793Designate G1 Character Set (ISO 2022), see below for values of C<C>. 868Designate G1 Character Set (ISO 2022), see below for values of C<C>.
794 869
795=item B<< C<ESC * C> >> 870=item B<< C<ESC * C> >>
796 871
937 1012
938=item B<< C<ESC [ Ps c> >> 1013=item B<< C<ESC [ Ps c> >>
939 1014
940Send Device Attributes (DA) 1015Send Device Attributes (DA)
941B<< C<Ps = 0> >> (or omitted): request attributes from terminal 1016B<< C<Ps = 0> >> (or omitted): request attributes from terminal
942returns: B<< C<ESC[?1;2c> >> (``I am a VT100 with Advanced Video 1017returns: B<< C<ESC [ ? 1 ; 2 c> >> (``I am a VT100 with Advanced Video
943Option'') 1018Option'')
944 1019
945=item B<< C<ESC [ Ps d> >> 1020=item B<< C<ESC [ Ps d> >>
946 1021
947Cursor to Line B<< C<Ps> >> (VPA) 1022Cursor to Line B<< C<Ps> >> (VPA)
1077 B<< C<Ps = 4> >> B<< C<ESC [ 4 ; H ; W t> >> Resize to WxH pixels 1152 B<< C<Ps = 4> >> B<< C<ESC [ 4 ; H ; W t> >> Resize to WxH pixels
1078 B<< C<Ps = 5> >> Raise window 1153 B<< C<Ps = 5> >> Raise window
1079 B<< C<Ps = 6> >> Lower window 1154 B<< C<Ps = 6> >> Lower window
1080 B<< C<Ps = 7> >> Refresh screen once 1155 B<< C<Ps = 7> >> Refresh screen once
1081 B<< C<Ps = 8> >> B<< C<ESC [ 8 ; R ; C t> >> Resize to R rows and C columns 1156 B<< C<Ps = 8> >> B<< C<ESC [ 8 ; R ; C t> >> Resize to R rows and C columns
1082 B<< C<Ps = 11> >> Report window state (responds with C<Ps = 1> or C<Ps = 2> 1157 B<< C<Ps = 11> >> Report window state (responds with C<Ps = 1> or C<Ps = 2>)
1083 B<< C<Ps = 13> >> Report window position (responds with C<Ps = 3>) 1158 B<< C<Ps = 13> >> Report window position (responds with C<Ps = 3>)
1084 B<< C<Ps = 14> >> Report window pixel size (responds with C<Ps = 4>) 1159 B<< C<Ps = 14> >> Report window pixel size (responds with C<Ps = 4>)
1085 B<< C<Ps = 18> >> Report window text size (responds with C<Ps = 7>) 1160 B<< C<Ps = 18> >> Report window text size (responds with C<Ps = 7>)
1086 B<< C<Ps = 19> >> Currently the same as C<Ps = 18>, but responds with C<Ps = 9> 1161 B<< C<Ps = 19> >> Currently the same as C<Ps = 18>, but responds with C<Ps = 9>
1087 B<< C<Ps = 20> >> Reports icon label (B<< C<ESC ] L NAME \234> >>) 1162 B<< C<Ps = 20> >> Reports icon label (B<< C<ESC ] L NAME \234> >>)
1473 1548
1474=item B<< [title:+I<string>] >> 1549=item B<< [title:+I<string>] >>
1475 1550
1476set the current menuBar's title to I<string>, which may contain the 1551set the current menuBar's title to I<string>, which may contain the
1477following format specifiers: 1552following format specifiers:
1478B<%%> : literal B<%> character 1553
1479B<%n> : rxvt name (as per the B<-name> command-line option) 1554 B<%n> rxvt name (as per the B<-name> command-line option)
1480B<%v> : rxvt version 1555 B<%v> rxvt version
1556 B<%%> literal B<%> character
1481 1557
1482=item B<[done]> 1558=item B<[done]>
1483 1559
1484set menuBar access as B<readonly>. 1560set menuBar access as B<readonly>.
1485End-of-file tag for B<< [read:+I<file>] >> operations. 1561End-of-file tag for B<< [read:+I<file>] >> operations.
1631 1707
1632As a convenience for the many Emacs-type editors, I<action> may start 1708As a convenience for the many Emacs-type editors, I<action> may start
1633with B<M-> (eg, B<M-$> is equivalent to B<\E$>) and a B<CR> will be 1709with B<M-> (eg, B<M-$> is equivalent to B<\E$>) and a B<CR> will be
1634appended if missed from B<M-x> commands. 1710appended if missed from B<M-x> commands.
1635 1711
1636As a convenience for issuing XTerm B<ESC]> sequences from a menubar (or 1712As a convenience for issuing XTerm B<ESC ]> sequences from a menubar (or
1637quick arrow), a B<BEL> (B<^G>) will be appended if needed. 1713quick arrow), a B<BEL> (B<^G>) will be appended if needed.
1638 1714
1639=over 4 1715=over 4
1640 1716
1641=item For example, 1717=item For example,
2150composite characters. This is required for proper viewing of text 2226composite characters. This is required for proper viewing of text
2151where accents are encoded as seperate unicode characters. This is 2227where accents are encoded as seperate unicode characters. This is
2152done by using precomposited characters when available or creating 2228done by using precomposited characters when available or creating
2153new pseudo-characters when no precomposed form exists. 2229new pseudo-characters when no precomposed form exists.
2154 2230
2155Without --enable-unicode3, the number of additional precomposed 2231Without --enable-unicode3, the number of additional precomposed characters
2156characters is rather limited (2048, if this is full, rxvt will use the 2232is rather limited (2048, if this is full, rxvt-unicode will use the
2157private use area, extending the number of combinations to 8448). With 2233private use area, extending the number of combinations to 8448). With
2158--enable-unicode3, no practical limit exists. This will also enable 2234--enable-unicode3, no practical limit exists.
2159storage of characters >65535. 2235
2236This option will also enable storage (but not display) of characters
2237beyond plane 0 (>65535) when --enable-unicode3 was not specified.
2160 2238
2161The combining table also contains entries for arabic presentation forms, 2239The combining table also contains entries for arabic presentation forms,
2162but these are not currently used. Bug me if you want these to be used. 2240but these are not currently used. Bug me if you want these to be used (and
2241tell me how these are to be used...).
2163 2242
2164=item --enable-fallback(=CLASS) 2243=item --enable-fallback(=CLASS)
2165 2244
2166When reading resource settings, also read settings for class CLASS 2245When reading resource settings, also read settings for class CLASS
2167(default: Rxvt). To disable resource fallback use --disable-fallback. 2246(default: Rxvt). To disable resource fallback use --disable-fallback.
2259Remove all resources checking. 2338Remove all resources checking.
2260 2339
2261=item --enable-xgetdefault 2340=item --enable-xgetdefault
2262 2341
2263Make resources checking via XGetDefault() instead of our small 2342Make resources checking via XGetDefault() instead of our small
2264version which only checks ~/.Xdefaults, or if that doesn't exist 2343version which only checks ~/.Xdefaults, or if that doesn't exist then
2265then ~/.Xresources. 2344~/.Xresources.
2345
2346Please note that nowadays, things like XIM will automatically pull in and
2347use the full X resource manager, so the overhead of using it might be very
2348small, if nonexistant.
2266 2349
2267=item --enable-strings 2350=item --enable-strings
2268 2351
2269Add support for our possibly faster memset() function and other 2352Add support for our possibly faster memset() function and other
2270various routines, overriding your system's versions which may 2353various routines, overriding your system's versions which may
2293 iso-14755-2 and -3, and visual feedback 2376 iso-14755-2 and -3, and visual feedback
2294 backindex and forwardindex escape sequence 2377 backindex and forwardindex escape sequence
2295 window op and locale change escape sequences 2378 window op and locale change escape sequences
2296 tripleclickwords 2379 tripleclickwords
2297 settable insecure mode 2380 settable insecure mode
2381 keysym remapping support
2298 2382
2299=item --enable-iso14755 2383=item --enable-iso14755
2300 2384
2301Enable extended ISO 14755 support (see @@RXVT_NAME@@(1), or 2385Enable extended ISO 14755 support (see @@RXVT_NAME@@(1), or
2302F<doc/rxvt.1.txt>). Basic support (section 5.1) is enabled by 2386F<doc/rxvt.1.txt>). Basic support (section 5.1) is enabled by

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines