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.33 by root, Sun Jan 16 18:48:04 2005 UTC vs.
Revision 1.48 by root, Thu Feb 17 12:00:33 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=\E(B: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=\E(0:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\
58 :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:\ 101 :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\
59 :ec=\E[%dX:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:ic=\E[@:\ 102 :dl=\E[M:do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:\
103 :i1=\E[?47l\E=\E[?1l:ic=\E[@:im=\E[4h:\
60 :im=\E[4h:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ 104 :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~:\ 105 :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~:\ 106 :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:\ 107 :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=:\ 108 :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:\ 109 :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:\ 110 :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:\ 111 :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:\ 112 :us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:\
69 :vs=\E[?25h: 113 :vs=\E[?25h:
70 114
71=item Why does C<ls> no longer have coloured output? 115=item Why does C<ls> no longer have coloured output?
72 116
73The C<ls> in the GNU coreutils unfortunately doesn't use terminfo to 117The C<ls> in the GNU coreutils unfortunately doesn't use terminfo to
96GNU/Linux) furthermore fail to even install the C<rxvt-unicode> terminfo 140GNU/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 141file, 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 142I log-in to another system it tells me about missing terminfo data?> on
99how to do this). 143how to do this).
100 144
145=item My numerical keypad acts weird and generates differing output?
146
147Some Debian GNUL/Linux users seem to have this problem, although no
148specific details were reported so far. It is possible that this is caused
149by the wrong C<TERM> setting, although the details of wether and how
150this can happen are unknown, as C<TERM=rxvt> should offer a compatible
151keymap. See the answer to the previous question, and please report if that
152helped.
153
101=item Rxvt-unicode does not seem to understand the selected encoding? 154=item Rxvt-unicode does not seem to understand the selected encoding?
102 155
103=item Unicode does not seem to work? 156=item Unicode does not seem to work?
104 157
105If you encounter strange problems like typing an accented character but 158If you encounter strange problems like typing an accented character but
107subtly garbled, then you should check your locale settings. 160subtly garbled, then you should check your locale settings.
108 161
109Rxvt-unicode must be started with the same C<LC_CTYPE> setting as the 162Rxvt-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 163programs. Often rxvt-unicode is started in the C<C> locale, while the
111login script running within the rxvt-unicode window changes the locale to 164login 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. 165something else, e.g. C<en_GB.UTF-8>. Needless to say, this is not going to work.
113 166
114The best thing is to fix your startup environment, as you will likely run 167The 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. 168into other problems. If nothing works you can try this in your .profile.
116 169
117 printf '\e]701;%s\007' "$LC_CTYPE" 170 printf '\e]701;%s\007' "$LC_CTYPE"
118 171
119If this doesn't work, then maybe you use a C<LC_CTYPE> specification not 172If 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 173supported on your systems. Some systems have a C<locale> command which
121displays this. If it displays sth. like: 174displays this (also, C<perl -e0> can be used to check locale settings, as
175it will complain loudly if it cannot set the locale). If it displays something
176like:
122 177
123 locale: Cannot set LC_CTYPE to default locale: ... 178 locale: Cannot set LC_CTYPE to default locale: ...
124 179
125Then the locale you specified is not supported on your system. 180Then the locale you specified is not supported on your system.
126 181
137your system/os) have specified does not cover all the characters you want 192your system/os) have specified does not cover all the characters you want
138to display. 193to display.
139 194
140B<rxvt-unicode> makes a best-effort try at finding a replacement 195B<rxvt-unicode> makes a best-effort try at finding a replacement
141font. Often the result is fine, but sometimes the chosen font looks 196font. Often the result is fine, but sometimes the chosen font looks
142bad. Many fonts have totally strange characters that don't resemble the 197bad/ugly/wrong. Some fonts have totally strange characters that don't
143correct glyph at all, and rxvt-unicode lacks the artificial intelligence 198resemble 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 199intelligence to detect that a specific glyph is wrong: it has to believe
145the characters it contains indeed look correct. 200the font that the characters it claims to contain indeed look correct.
146 201
147In that case, select a font of your taste and add it to the font list, 202In that case, select a font of your taste and add it to the font list,
148e.g.: 203e.g.:
149 204
150 @@RXVT_NAME@@ -fn basefont,font2,font3... 205 @@RXVT_NAME@@ -fn basefont,font2,font3...
152When rxvt-unicode sees a character, it will first look at the base 207When 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 208font. 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 209next 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. 210search and use less resources within rxvt-unicode and the X-server.
156 211
157The only limitation is that all the fonts must not be larger than the base 212The 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 213font, as the base font defines the terminal character cell size, which
159same due to the way terminals work. 214must be the same due to the way terminals work.
160 215
161=item Why do some chinese characters look so different than others? 216=item Why do some chinese characters look so different than others?
162 217
163This is because there is a difference between script and language -- 218This is because there is a difference between script and language --
164rxvt-unicode does not know which language the text that is output 219rxvt-unicode does not know which language the text that is output is,
165is, as it only knows the unicode character codes. If rxvt-unicode 220as it only knows the unicode character codes. If rxvt-unicode first
166first sees a japanese character, it might choose a japanese font for 221sees a japanese/chinese character, it might choose a japanese font for
167it. Subsequent japanese characters will take that font. Now, many chinese 222display. Subsequent japanese characters will use that font. Now, many
168characters aren't represented in japanese fonts, so when the first 223chinese characters aren't represented in japanese fonts, so when the first
169non-japanese character comes up, rxvt-unicode will look for a chinese font 224non-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 225-- unfortunately at this point, it will still use the japanese font for
171japanese characters that are also chinese. 226chinese characters that are also in the japanese font.
172 227
173The workaround is easy: just tag a chinese font at the end of your font 228The 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 229list (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 230a preference list: If you expect more japanese, list a japanese font
176first. If you expect more chinese, put a chinese font first. 231first. If you expect more chinese, put a chinese font first.
177 232
178In the future it might be possible to switch preferences at runtime (the 233In the future it might be possible to switch language preferences at
179internal data structure has no problem with using different fonts for 234runtime (the internal data structure has no problem with using different
180the same character at the same time, but no interface for this has been 235fonts for the same character at the same time, but no interface for this
181designed yet). 236has been designed yet).
237
238Until then, you might get away with switching fonts at runtime (see L<Can
239I switch the fonts at runtime?> later in this document).
182 240
183=item Why does rxvt-unicode sometimes leave pixel droppings? 241=item Why does rxvt-unicode sometimes leave pixel droppings?
184 242
185Most fonts were not designed for terminal use, which means that character 243Most 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 244size 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 280codes, too, such as C<Ctrl-Shift-1-d> to type the default telnet escape
223character and so on. 281character and so on.
224 282
225=item How can I keep rxvt-unicode from using reverse video so much? 283=item How can I keep rxvt-unicode from using reverse video so much?
226 284
227First of all, make sure you are running with the right terminfo 285First 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 286(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 287make sure you have specified colours for italic and bold, as otherwise
230might use reverse video to simulate the effect: 288rxvt-unicode might use reverse video to simulate the effect:
231 289
232 URxvt*colorBD: white 290 URxvt.colorBD: white
233 URxvt*colorIT: green 291 URxvt.colorIT: green
234 292
235=item Some programs assume totally weird colours (red instead of blue), how can I fix that? 293=item Some programs assume totally weird colours (red instead of blue), how can I fix that?
236 294
237For some unexplainable reason, some programs (i.e. irssi) assume a very 295For some unexplainable reason, some rare programs assume a very weird
238weird colour palette when confronted with a terminal with more than the 296colour palette when confronted with a terminal with more than the standard
239standard 8 colours (rxvt-unicode supports 88). The right fix is, of 2978 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 298these programs not to assume non-ISO colours without very good reasons.
241good reasons.
242 299
243In the meantime, you can either edit your C<urxvt> terminfo definition to 300In 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 301definition to only claim 8 colour support or use C<TERM=rxvt>, which will
245but keep you from using other rxvt-unicode features. 302fix colours but keep you from using other rxvt-unicode features.
246 303
247=item I am on FreeBSD and rxvt-unicode does not seem to work at all. 304=item I am on FreeBSD and rxvt-unicode does not seem to work at all.
248 305
249Rxvt-unicode requires the symbol C<__STDC_ISO_10646__> to be defined 306Rxvt-unicode requires the symbol C<__STDC_ISO_10646__> to be defined
250in your compile environment, or an implementation that implements it, 307in your compile environment, or an implementation that implements it,
251wether it defines the symbol or not. C<__STDC_ISO_10646__> requires that 308wether it defines the symbol or not. C<__STDC_ISO_10646__> requires that
252B<wchar_t> is represented as unicode. 309B<wchar_t> is represented as unicode.
253 310
254As you might have guessed, FreeBSD does neither define this symobl nor 311As you might have guessed, FreeBSD does neither define this symobl nor
255does it support it. Instead, it uses it's own internal representation of 312does it support it. Instead, it uses it's own internal representation of
256B<wchar_t>. This is, of course, completely legal. 313B<wchar_t>. This is, of course, completely fine with respect to standards.
257 314
258However, C<__STDC_ISO_10646__> is the only sane way to support 315However, C<__STDC_ISO_10646__> is the only sane way to support
259multi-language apps in an OS, as using a locale-dependent (and 316multi-language apps in an OS, as using a locale-dependent (and
260non-standardized) representation of B<wchar_t> makes it impossible to 317non-standardized) representation of B<wchar_t> makes it impossible to
261convert between B<wchar_t> (as used by X11 and your applications) and any 318convert between B<wchar_t> (as used by X11 and your applications) and any
269conversions (which is slow and unreliable in case the OS implements 326conversions (which is slow and unreliable in case the OS implements
270encodings slightly different than the terminal emulator). 327encodings slightly different than the terminal emulator).
271 328
272The rxvt-unicode author insists that the right way to fix this is in the 329The 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 330system libraries once and for all, instead of forcing every app to carry
274complete replacements. 331complete replacements for them :)
275 332
276=item How does rxvt-unicode determine the encoding to use? 333=item How does rxvt-unicode determine the encoding to use?
277 334
278=item Is there an option to switch encodings? 335=item Is there an option to switch encodings?
279 336
281specific "utf-8" mode, such as xterm. In fact, it doesn't even know about 338specific "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. 339UTF-8 or any other encodings with respect to terminal I/O.
283 340
284The reasons is that there exists a perfectly fine mechanism for selecting 341The reasons is that there exists a perfectly fine mechanism for selecting
285the encoding, doing I/O and (most important) communicating this to all 342the encoding, doing I/O and (most important) communicating this to all
286applications so everybody agrees on character properties such as width and 343applications so everybody agrees on character properties such as width
287code number. This mechanism is the I<locale>. 344and code number. This mechanism is the I<locale>. Applications not using
345that info will have problems (for example, C<xterm> gets the width of
346characters wrong as it uses it's own, locale-independent table under all
347locales).
288 348
289Rxvt-unicode uses the C<LC_CTYPE> locale category to select encoding. All 349Rxvt-unicode uses the C<LC_CTYPE> locale category to select encoding. All
290programs doing the same (that is, most) will automatically agree in the 350programs doing the same (that is, most) will automatically agree in the
291interpretation of characters. 351interpretation of characters.
292 352
299C<ja_JP.EUC-JP>, i.e. C<language_country.encoding>, but other forms 359C<ja_JP.EUC-JP>, i.e. C<language_country.encoding>, but other forms
300(i.e. C<de> or C<german>) are also common. 360(i.e. C<de> or C<german>) are also common.
301 361
302Rxvt-unicode ignores all other locale categories, and except for 362Rxvt-unicode ignores all other locale categories, and except for
303the encoding, ignores country or language-specific settings, 363the 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. 364i.e. C<de_DE.UTF-8> and C<ja_JP.UTF-8> are the normally same to
365rxvt-unicode.
305 366
306If you want to use a specific encoding you have to make sure you start 367If you want to use a specific encoding you have to make sure you start
307rxvt-unicode with the correct C<LC_CTYPE> category. 368rxvt-unicode with the correct C<LC_CTYPE> category.
308 369
309=item Can I switch locales at runtime? 370=item Can I switch locales at runtime?
310 371
311Yes, using an escape sequence. Try sth. like this, which sets 372Yes, using an escape sequence. Try something like this, which sets
312rxvt-unicode's idea of C<LC_CTYPE>. 373rxvt-unicode's idea of C<LC_CTYPE>.
313 374
314 printf '\e]701;%s\007' ja_JP.SJIS 375 printf '\e]701;%s\007' ja_JP.SJIS
315 376
316See also the previous question. 377See also the previous answer.
317 378
318Sometimes this capability is rather handy when you want to work in one 379Sometimes 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 380one 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 381(e.g. UTF-8). For example, I use this script to start C<xjdic>, which
321locale supported by xjdic and back later: 382first switches to a locale supported by xjdic and back later:
322 383
323 printf '\e]701;%s\007' ja_JP.SJIS 384 printf '\e]701;%s\007' ja_JP.SJIS
324 xjdic -js 385 xjdic -js
325 printf '\e]701;%s\007' de_DE.UTF-8 386 printf '\e]701;%s\007' de_DE.UTF-8
326 387
388You can also use xterm's C<luit> program, which usually works fine, except
389for some locales where character width differs between program- and
390rxvt-unicode-locales.
391
327=item Can I switch the fonts at runtime? 392=item Can I switch the fonts at runtime?
328 393
329Yes, using an escape sequence. Try sth. like this, which has the same 394Yes, using an escape sequence. Try something like this, which has the same
330effect as using the C<-fn> switch, and takes effect immediately: 395effect as using the C<-fn> switch, and takes effect immediately:
331 396
332 printf '\e]50;%s\007' "9x15bold,xft:Kochi Gothic" 397 printf '\e]50;%s\007' "9x15bold,xft:Kochi Gothic"
333 398
334This is useful if you e.g. work primarily with japanese (and prefer a 399This is useful if you e.g. work primarily with japanese (and prefer a
339 404
340=item Why do italic characters look as if clipped? 405=item Why do italic characters look as if clipped?
341 406
342Many fonts have difficulties with italic characters and hinting. For 407Many fonts have difficulties with italic characters and hinting. For
343example, the otherwise very nicely hinted font C<xft:Bitstream Vera Sans 408example, the otherwise very nicely hinted font C<xft:Bitstream Vera Sans
344Mono> completely fails in it's italic face. A workaround is to enable 409Mono> completely fails in it's italic face. A workaround might be to
345freetype autohinting, i.e. like this: 410enable freetype autohinting, i.e. like this:
346 411
347 URxvt*italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true 412 URxvt.italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true
348 URxvt*boldItalicFont: xft:Bitstream Vera Sans Mono:bold:italic:autohint=true 413 URxvt.boldItalicFont: xft:Bitstream Vera Sans Mono:bold:italic:autohint=true
349 414
350=item My input method wants <some encoding> but I want UTF-8, what can I do? 415=item My input method wants <some encoding> but I want UTF-8, what can I do?
351 416
352You can specify separate locales for the input method and the rest of the 417You can specify separate locales for the input method and the rest of the
353terminal, using the resource C<imlocale>: 418terminal, using the resource C<imlocale>:
357Now you can start your terminal with C<LC_CTYPE=ja_JP.UTF-8> and still 422Now 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 423use 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 424input characters outside C<EUC-JP> in a normal way then, as your input
360method limits you. 425method limits you.
361 426
427=item Rxvt-unicode crashes when the X Input Method changes or exits.
428
429Unfortunately, this is unavoidable, as the XIM protocol is racy by
430design. Applications can avoid some crashes at the expense of memory
431leaks, and Input Methods can avoid some crashes by careful ordering at
432exit time. B<kinput2> (and derived input methods) generally succeeds,
433while B<SCIM> (or similar input methods) fails. In the end, however,
434crashes cannot be completely avoided even if both sides cooperate.
435
436So the only workaround is not to kill your Input Method Servers.
437
362=item Rxvt-unicode uses gobs of memory, how can I reduce that? 438=item Rxvt-unicode uses gobs of memory, how can I reduce that?
363 439
364Rxvt-unicode tries to obey the rule of not charging you for sth. you 440Rxvt-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 441don'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, 442you 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 443when used. Compiling it out ensures that no Xft font will be loaded
368accidentally when rxvt-unicode tries to find a font for your characters. 444accidentally when rxvt-unicode tries to find a font for your characters.
369 445
422resources (or as long-options). 498resources (or as long-options).
423 499
424Here are values that are supposed to resemble a VGA screen, 500Here are values that are supposed to resemble a VGA screen,
425including the murky brown that passes for low-intensity yellow: 501including the murky brown that passes for low-intensity yellow:
426 502
427 URxvt*color0: #000000 503 URxvt.color0: #000000
428 URxvt*color1: #A80000 504 URxvt.color1: #A80000
429 URxvt*color2: #00A800 505 URxvt.color2: #00A800
430 URxvt*color3: #A8A800 506 URxvt.color3: #A8A800
431 URxvt*color4: #0000A8 507 URxvt.color4: #0000A8
432 URxvt*color5: #A800A8 508 URxvt.color5: #A800A8
433 URxvt*color6: #00A8A8 509 URxvt.color6: #00A8A8
434 URxvt*color7: #A8A8A8 510 URxvt.color7: #A8A8A8
435 511
436 URxvt*color8: #000054 512 URxvt.color8: #000054
437 URxvt*color9: #FF0054 513 URxvt.color9: #FF0054
438 URxvt*color10: #00FF54 514 URxvt.color10: #00FF54
439 URxvt*color11: #FFFF54 515 URxvt.color11: #FFFF54
440 URxvt*color12: #0000FF 516 URxvt.color12: #0000FF
441 URxvt*color13: #FF00FF 517 URxvt.color13: #FF00FF
442 URxvt*color14: #00FFFF 518 URxvt.color14: #00FFFF
443 URxvt*color15: #FFFFFF 519 URxvt.color15: #FFFFFF
444 520
445And here is a more complete set of non-standard colors described as 521And here is a more complete set of non-standard colors described (not by
446"pretty girly": 522me) as "pretty girly".
447 523
448 URxvt.cursorColor: #dc74d1 524 URxvt.cursorColor: #dc74d1
449 URxvt.pointerColor: #dc74d1 525 URxvt.pointerColor: #dc74d1
450 URxvt.background: #0e0e0e 526 URxvt.background: #0e0e0e
451 URxvt.foreground: #4ad5e1 527 URxvt.foreground: #4ad5e1
462 URxvt.color6: #73f7ff 538 URxvt.color6: #73f7ff
463 URxvt.color14: #73f7ff 539 URxvt.color14: #73f7ff
464 URxvt.color7: #e1dddd 540 URxvt.color7: #e1dddd
465 URxvt.color15: #e1dddd 541 URxvt.color15: #e1dddd
466 542
543=item How can I start @@RXVT_NAME@@d in a race-free way?
544
545Despite it's name, @@RXVT_NAME@@d is not a real daemon, but more like a
546server that answers @@RXVT_NAME@@c's requests, so it doesn't background
547itself.
548
549To ensure @@RXVT_NAME@@d is listening on it's socket, you can use the
550following method to wait for the startup message before continuing:
551
552 { @@RXVT_NAME@@d & } | read
553
467=item What's with the strange Backspace/Delete key behaviour? 554=item What's with the strange Backspace/Delete key behaviour?
468 555
469Assuming that the physical Backspace key corresponds to the 556Assuming that the physical Backspace key corresponds to the
470BackSpace keysym (not likely for Linux ... see the following 557BackSpace keysym (not likely for Linux ... see the following
471question) there are two standard values that can be used for 558question) there are two standard values that can be used for
489 576
490 # use Backspace = ^? 577 # use Backspace = ^?
491 $ stty erase ^? 578 $ stty erase ^?
492 $ @@RXVT_NAME@@ 579 $ @@RXVT_NAME@@
493 580
494Toggle with "ESC[36h" / "ESC[36l" as documented in @@RXVT_NAME@@(7). 581Toggle with C<ESC [ 36 h> / C<ESC [ 36 l> as documented in @@RXVT_NAME@@(7).
495 582
496For an existing rxvt-unicode: 583For an existing rxvt-unicode:
497 584
498 # use Backspace = ^H 585 # use Backspace = ^H
499 $ stty erase ^H 586 $ stty erase ^H
508properly reflects that. 595properly reflects that.
509 596
510The Delete key is a another casualty of the ill-defined Backspace problem. 597The Delete key is a another casualty of the ill-defined Backspace problem.
511To avoid confusion between the Backspace and Delete keys, the Delete 598To avoid confusion between the Backspace and Delete keys, the Delete
512key has been assigned an escape sequence to match the vt100 for Execute 599key has been assigned an escape sequence to match the vt100 for Execute
513(ESC[3~) and is in the supplied termcap/terminfo. 600(C<ESC [ 3 ~>) and is in the supplied termcap/terminfo.
514 601
515Some other Backspace problems: 602Some other Backspace problems:
516 603
517some editors use termcap/terminfo, 604some editors use termcap/terminfo,
518some editors (vim I'm told) expect Backspace = ^H, 605some editors (vim I'm told) expect Backspace = ^H,
524 611
525There are some compile-time selections available via configure. Unless 612There are some compile-time selections available via configure. Unless
526you have run "configure" with the C<--disable-resources> option you can 613you have run "configure" with the C<--disable-resources> option you can
527use the `keysym' resource to alter the keystrings associated with keysyms. 614use the `keysym' resource to alter the keystrings associated with keysyms.
528 615
529Here's an example for a URxvt session started using `@@RXVT_NAME@@ -name URxvt' 616Here's an example for a URxvt session started using C<@@RXVT_NAME@@ -name URxvt>
530 617
531 URxvt*keysym.Home: \e[1~ 618 URxvt.keysym.Home: \033[1~
532 URxvt*keysym.End: \e[4~ 619 URxvt.keysym.End: \033[4~
533 URxvt*keysym.C-apostrophe: \e<C-'> 620 URxvt.keysym.C-apostrophe: \033<C-'>
534 URxvt*keysym.C-slash: \e<C-/> 621 URxvt.keysym.C-slash: \033<C-/>
535 URxvt*keysym.C-semicolon: \e<C-;> 622 URxvt.keysym.C-semicolon: \033<C-;>
536 URxvt*keysym.C-grave: \e<C-`> 623 URxvt.keysym.C-grave: \033<C-`>
537 URxvt*keysym.C-comma: \e<C-,> 624 URxvt.keysym.C-comma: \033<C-,>
538 URxvt*keysym.C-period: \e<C-.> 625 URxvt.keysym.C-period: \033<C-.>
539 URxvt*keysym.C-0x60: \e<C-`> 626 URxvt.keysym.C-0x60: \033<C-`>
540 URxvt*keysym.C-Tab: \e<C-Tab> 627 URxvt.keysym.C-Tab: \033<C-Tab>
541 URxvt*keysym.C-Return: \e<C-Return> 628 URxvt.keysym.C-Return: \033<C-Return>
542 URxvt*keysym.S-Return: \e<S-Return> 629 URxvt.keysym.S-Return: \033<S-Return>
543 URxvt*keysym.S-space: \e<S-Space> 630 URxvt.keysym.S-space: \033<S-Space>
544 URxvt*keysym.M-Up: \e<M-Up> 631 URxvt.keysym.M-Up: \033<M-Up>
545 URxvt*keysym.M-Down: \e<M-Down> 632 URxvt.keysym.M-Down: \033<M-Down>
546 URxvt*keysym.M-Left: \e<M-Left> 633 URxvt.keysym.M-Left: \033<M-Left>
547 URxvt*keysym.M-Right: \e<M-Right> 634 URxvt.keysym.M-Right: \033<M-Right>
548 URxvt*keysym.M-C-0: list.0123456789.\e<M-C-.> 635 URxvt.keysym.M-C-0: list \033<M-C- 0123456789 >
549 URxvt*keysym.M-C-a: list.abcdefghijklmnopqrstuvwxyz.\033<M-C-.> 636 URxvt.keysym.M-C-a: list \033<M-C- abcdefghijklmnopqrstuvwxyz >
550 URxvt*keysym.F12: proto:\033]701;zh_CN.GBK\007 637 URxvt.keysym.F12: command:\033]701;zh_CN.GBK\007
638
639See some more examples in the documentation for the B<keysym> resource.
551 640
552=item I'm using keyboard model XXX that has extra Prior/Next/Insert keys. 641=item I'm using keyboard model XXX that has extra Prior/Next/Insert keys.
553How do I make use of them? For example, the Sun Keyboard type 4 642How do I make use of them? For example, the Sun Keyboard type 4
554has the following mappings that rxvt-unicode doesn't recognize. 643has the following mappings that rxvt-unicode doesn't recognize.
555 644
558 F27 == Home 647 F27 == Home
559 F29 == Prior 648 F29 == Prior
560 F33 == End 649 F33 == End
561 F35 == Next 650 F35 == Next
562 651
563Rather than have rxvt-unicode try to accommodate all the various possible keyboard 652Rather than have rxvt-unicode try to accommodate all the various possible
564mappings, it is better to use `xmodmap' to remap the keys as required for 653keyboard mappings, it is better to use `xmodmap' to remap the keys as
565your particular machine. 654required for your particular machine.
566 655
567=item How do I distinguish if I'm running rxvt-unicode or a regular xterm? 656=item How do I distinguish wether I'm running rxvt-unicode or a regular xterm?
568I need this to decide about setting colors etc. 657I need this to decide about setting colors etc.
569 658
570rxvt and rxvt-unicode always export the variable "COLORTERM", so you can 659rxvt and rxvt-unicode always export the variable "COLORTERM", so you can
571check and see if that is set. Note that several programs, JED, slrn, 660check and see if that is set. Note that several programs, JED, slrn,
572Midnight Commander automatically check this variable to decide whether or 661Midnight Commander automatically check this variable to decide whether or
609channel C<#rxvt-unicode> has some rxvt-unicode enthusiasts that might be 698channel C<#rxvt-unicode> has some rxvt-unicode enthusiasts that might be
610interested in learning about new and exciting problems (but not FAQs :). 699interested in learning about new and exciting problems (but not FAQs :).
611 700
612=back 701=back
613 702
614=head1 SYNOPSIS 703=head1 RXVT TECHNICAL REFERENCE
615
616 # set a new font set
617 printf '\33]50;%s\007' 9x15,xft:Kochi" Mincho"
618
619 # change the locale and tell rxvt-unicode about it
620 export LC_CTYPE=ja_JP.EUC-JP; printf "\33]701;$LC_CTYPE\007"
621
622 # set window title
623 printf '\33]2;%s\007' "new window title"
624 704
625=head1 DESCRIPTION 705=head1 DESCRIPTION
626 706
627The rest of this document describes various technical aspects of 707The rest of this document describes various technical aspects of
628B<rxvt-unicode>. First the description of supported command sequences, 708B<rxvt-unicode>. First the description of supported command sequences,
629followed by menu and pixmap support and last by a description of all 709followed by menu and pixmap support and last by a description of all
630features selectable at C<configure> time. 710features selectable at C<configure> time.
631 711
632=head1 RXVT TECHNICAL REFERENCE
633
634=head1 Definitions 712=head1 Definitions
635 713
636=over 4 714=over 4
637 715
638=item B<< C<c> >> 716=item B<< C<c> >>
766Single Shift Select of G3 Character Set (SS3): affects next character 844Single Shift Select of G3 Character Set (SS3): affects next character
767only I<unimplemented> 845only I<unimplemented>
768 846
769=item B<< C<ESC Z> >> 847=item B<< C<ESC Z> >>
770 848
771Obsolete form of returns: B<< C<ESC[?1;2C> >> I<rxvt-unicode compile-time option> 849Obsolete form of returns: B<< C<ESC [ ? 1 ; 2 C> >> I<rxvt-unicode compile-time option>
772 850
773=item B<< C<ESC c> >> 851=item B<< C<ESC c> >>
774 852
775Full reset (RIS) 853Full reset (RIS)
776 854
780 858
781=item B<< C<ESC o> >> 859=item B<< C<ESC o> >>
782 860
783Invoke the G3 Character Set (LS3) 861Invoke the G3 Character Set (LS3)
784 862
785=item B<< C<ESC> ( C> >> 863=item B<< C<ESC ( C> >>
786 864
787Designate G0 Character Set (ISO 2022), see below for values of C<C>. 865Designate G0 Character Set (ISO 2022), see below for values of C<C>.
788 866
789=item B<< C<ESC> ) C> >> 867=item B<< C<ESC ) C> >>
790 868
791Designate G1 Character Set (ISO 2022), see below for values of C<C>. 869Designate G1 Character Set (ISO 2022), see below for values of C<C>.
792 870
793=item B<< C<ESC * C> >> 871=item B<< C<ESC * C> >>
794 872
935 1013
936=item B<< C<ESC [ Ps c> >> 1014=item B<< C<ESC [ Ps c> >>
937 1015
938Send Device Attributes (DA) 1016Send Device Attributes (DA)
939B<< C<Ps = 0> >> (or omitted): request attributes from terminal 1017B<< C<Ps = 0> >> (or omitted): request attributes from terminal
940returns: B<< C<ESC[?1;2c> >> (``I am a VT100 with Advanced Video 1018returns: B<< C<ESC [ ? 1 ; 2 c> >> (``I am a VT100 with Advanced Video
941Option'') 1019Option'')
942 1020
943=item B<< C<ESC [ Ps d> >> 1021=item B<< C<ESC [ Ps d> >>
944 1022
945Cursor to Line B<< C<Ps> >> (VPA) 1023Cursor to Line B<< C<Ps> >> (VPA)
1061 1139
1062=item B<< C<ESC [ s> >> 1140=item B<< C<ESC [ s> >>
1063 1141
1064Save Cursor (SC) 1142Save Cursor (SC)
1065 1143
1144=item B<< C<ESC [ Ps;Pt t> >>
1145
1146Window Operations
1147
1148=begin table
1149
1150 B<< C<Ps = 1> >> Deiconify (map) window
1151 B<< C<Ps = 2> >> Iconify window
1152 B<< C<Ps = 3> >> B<< C<ESC [ 3 ; X ; Y t> >> Move window to (X|Y)
1153 B<< C<Ps = 4> >> B<< C<ESC [ 4 ; H ; W t> >> Resize to WxH pixels
1154 B<< C<Ps = 5> >> Raise window
1155 B<< C<Ps = 6> >> Lower window
1156 B<< C<Ps = 7> >> Refresh screen once
1157 B<< C<Ps = 8> >> B<< C<ESC [ 8 ; R ; C t> >> Resize to R rows and C columns
1158 B<< C<Ps = 11> >> Report window state (responds with C<Ps = 1> or C<Ps = 2>)
1159 B<< C<Ps = 13> >> Report window position (responds with C<Ps = 3>)
1160 B<< C<Ps = 14> >> Report window pixel size (responds with C<Ps = 4>)
1161 B<< C<Ps = 18> >> Report window text size (responds with C<Ps = 7>)
1162 B<< C<Ps = 19> >> Currently the same as C<Ps = 18>, but responds with C<Ps = 9>
1163 B<< C<Ps = 20> >> Reports icon label (B<< C<ESC ] L NAME \234> >>)
1164 B<< C<Ps = 21> >> Reports window title (B<< C<ESC ] l NAME \234> >>)
1165 B<< C<Ps = 24..> >> Set window height to C<Ps> rows
1166
1167=end table
1168
1169=item B<< C<ESC [ u> >>
1170
1171Restore Cursor
1172
1066=item B<< C<ESC [ Ps x> >> 1173=item B<< C<ESC [ Ps x> >>
1067 1174
1068Request Terminal Parameters (DECREQTPARM) 1175Request Terminal Parameters (DECREQTPARM)
1069
1070=item B<< C<ESC [ u> >>
1071
1072Restore Cursor
1073 1176
1074=back 1177=back
1075 1178
1076X<PrivateModes> 1179X<PrivateModes>
1077 1180
1446 1549
1447=item B<< [title:+I<string>] >> 1550=item B<< [title:+I<string>] >>
1448 1551
1449set the current menuBar's title to I<string>, which may contain the 1552set the current menuBar's title to I<string>, which may contain the
1450following format specifiers: 1553following format specifiers:
1451B<%%> : literal B<%> character 1554
1452B<%n> : rxvt name (as per the B<-name> command-line option) 1555 B<%n> rxvt name (as per the B<-name> command-line option)
1453B<%v> : rxvt version 1556 B<%v> rxvt version
1557 B<%%> literal B<%> character
1454 1558
1455=item B<[done]> 1559=item B<[done]>
1456 1560
1457set menuBar access as B<readonly>. 1561set menuBar access as B<readonly>.
1458End-of-file tag for B<< [read:+I<file>] >> operations. 1562End-of-file tag for B<< [read:+I<file>] >> operations.
1604 1708
1605As a convenience for the many Emacs-type editors, I<action> may start 1709As a convenience for the many Emacs-type editors, I<action> may start
1606with B<M-> (eg, B<M-$> is equivalent to B<\E$>) and a B<CR> will be 1710with B<M-> (eg, B<M-$> is equivalent to B<\E$>) and a B<CR> will be
1607appended if missed from B<M-x> commands. 1711appended if missed from B<M-x> commands.
1608 1712
1609As a convenience for issuing XTerm B<ESC]> sequences from a menubar (or 1713As a convenience for issuing XTerm B<ESC ]> sequences from a menubar (or
1610quick arrow), a B<BEL> (B<^G>) will be appended if needed. 1714quick arrow), a B<BEL> (B<^G>) will be appended if needed.
1611 1715
1612=over 4 1716=over 4
1613 1717
1614=item For example, 1718=item For example,
2123composite characters. This is required for proper viewing of text 2227composite characters. This is required for proper viewing of text
2124where accents are encoded as seperate unicode characters. This is 2228where accents are encoded as seperate unicode characters. This is
2125done by using precomposited characters when available or creating 2229done by using precomposited characters when available or creating
2126new pseudo-characters when no precomposed form exists. 2230new pseudo-characters when no precomposed form exists.
2127 2231
2128Without --enable-unicode3, the number of additional precomposed 2232Without --enable-unicode3, the number of additional precomposed characters
2129characters is rather limited (2048, if this is full, rxvt will use the 2233is rather limited (2048, if this is full, rxvt-unicode will use the
2130private use area, extending the number of combinations to 8448). With 2234private use area, extending the number of combinations to 8448). With
2131--enable-unicode3, no practical limit exists. This will also enable 2235--enable-unicode3, no practical limit exists.
2132storage of characters >65535. 2236
2237This option will also enable storage (but not display) of characters
2238beyond plane 0 (>65535) when --enable-unicode3 was not specified.
2133 2239
2134The combining table also contains entries for arabic presentation forms, 2240The combining table also contains entries for arabic presentation forms,
2135but these are not currently used. Bug me if you want these to be used. 2241but these are not currently used. Bug me if you want these to be used (and
2242tell me how these are to be used...).
2136 2243
2137=item --enable-fallback(=CLASS) 2244=item --enable-fallback(=CLASS)
2138 2245
2139When reading resource settings, also read settings for class CLASS 2246When reading resource settings, also read settings for class CLASS
2140(default: Rxvt). To disable resource fallback use --disable-fallback. 2247(default: Rxvt). To disable resource fallback use --disable-fallback.
2232Remove all resources checking. 2339Remove all resources checking.
2233 2340
2234=item --enable-xgetdefault 2341=item --enable-xgetdefault
2235 2342
2236Make resources checking via XGetDefault() instead of our small 2343Make resources checking via XGetDefault() instead of our small
2237version which only checks ~/.Xdefaults, or if that doesn't exist 2344version which only checks ~/.Xdefaults, or if that doesn't exist then
2238then ~/.Xresources. 2345~/.Xresources.
2346
2347Please note that nowadays, things like XIM will automatically pull in and
2348use the full X resource manager, so the overhead of using it might be very
2349small, if nonexistant.
2239 2350
2240=item --enable-strings 2351=item --enable-strings
2241 2352
2242Add support for our possibly faster memset() function and other 2353Add support for our possibly faster memset() function and other
2243various routines, overriding your system's versions which may 2354various routines, overriding your system's versions which may
2266 iso-14755-2 and -3, and visual feedback 2377 iso-14755-2 and -3, and visual feedback
2267 backindex and forwardindex escape sequence 2378 backindex and forwardindex escape sequence
2268 window op and locale change escape sequences 2379 window op and locale change escape sequences
2269 tripleclickwords 2380 tripleclickwords
2270 settable insecure mode 2381 settable insecure mode
2382 keysym remapping support
2271 2383
2272=item --enable-iso14755 2384=item --enable-iso14755
2273 2385
2274Enable extended ISO 14755 support (see @@RXVT_NAME@@(1), or 2386Enable extended ISO 14755 support (see @@RXVT_NAME@@(1), or
2275F<doc/rxvt.1.txt>). Basic support (section 5.1) is enabled by 2387F<doc/rxvt.1.txt>). Basic support (section 5.1) is enabled by

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines