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

Comparing rxvt-unicode/doc/rxvt.7.txt (file contents):
Revision 1.1 by root, Tue Jan 11 02:24:59 2005 UTC vs.
Revision 1.25 by root, Tue Nov 8 17:35:28 2005 UTC

1NAME 1NAME
2 RXVT REFERENCE - FAQ, command sequences and other background information 2 RXVT REFERENCE - FAQ, command sequences and other background information
3
4SYNOPSIS
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
14DESCRIPTION
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>.
3 21
4FREQUENTLY ASKED QUESTIONS 22FREQUENTLY ASKED QUESTIONS
5 How do I know which rxvt-unicode version I'm using? 23 How do I know which rxvt-unicode version I'm using?
6 The version number is displayed with the usage (-h). Also the escape 24 The version number is displayed with the usage (-h). Also the escape
7 sequence "ESC[8n" sets the window title to the version number. 25 sequence "ESC [ 8 n" sets the window title to the version number.
26
27 I am using Debian GNU/Linux and have a problem...
28 The Debian GNU/Linux package of rxvt-unicode in sarge contains large
29 patches that considerably change the behaviour of rxvt-unicode.
30 Before reporting a bug to the original rxvt-unicode author please
31 download and install the genuine version
32 (<http://software.schmorp.de#rxvt-unicode>) and try to reproduce the
33 problem. If you cannot, chances are that the problems are specific
34 to Debian GNU/Linux, in which case it should be reported via the
35 Debian Bug Tracking System (use "reportbug" to report the bug).
36
37 For other problems that also affect the Debian package, you can and
38 probably should use the Debian BTS, too, because, after all, it's
39 also a bug in the Debian version and it serves as a reminder for
40 other users that might encounter the same issue.
8 41
9 When I log-in to another system it tells me about missing terminfo data? 42 When I log-in to another system it tells me about missing terminfo data?
10 The terminal description used by rxvt-unicode is not as widely 43 The terminal description used by rxvt-unicode is not as widely
11 available as that for xterm, or even rxvt (for which the same 44 available as that for xterm, or even rxvt (for which the same
12 problem often arises). 45 problem often arises).
24 problems arising, which includes wrong keymapping, less and 57 problems arising, which includes wrong keymapping, less and
25 different colours and some refresh errors in fullscreen 58 different colours and some refresh errors in fullscreen
26 applications. It's a nice quick-and-dirty workaround for rare cases, 59 applications. It's a nice quick-and-dirty workaround for rare cases,
27 though. 60 though.
28 61
29 If you always want to do this you can either recompile rxvt-unicode 62 If you always want to do this (and are fine with the consequences)
30 with the desired TERM value or use a resource to set it: 63 you can either recompile rxvt-unicode with the desired TERM value or
64 use a resource to set it:
31 65
32 URxvt.termName: rxvt 66 URxvt.termName: rxvt
33 67
34 If you don't plan to use rxvt (quite common...) you could also 68 If you don't plan to use rxvt (quite common...) you could also
35 replace the rxvt terminfo file with the rxvt-unicode one. 69 replace the rxvt terminfo file with the rxvt-unicode one.
36 70
71 "tic" outputs some error when compiling the terminfo entry.
72 Most likely it's the empty definition for "enacs=". Just replace it
73 by "enacs=\E[0@" and try again.
74
75 "bash"'s readline does not work correctly under urxvt.
37 I need a termcap file entry. 76 I need a termcap file entry.
77 One reason you might want this is that some distributions or
78 operating systems still compile some programs using the
79 long-obsoleted termcap library (Fedora Core's bash is one example)
80 and rely on a termcap entry for "rxvt-unicode".
81
38 You could use rxvt's termcap entry with resonable results in many 82 You could use rxvt's termcap entry with resonable results in many
39 cases. You can also create a termcap entry by using terminfo's 83 cases. You can also create a termcap entry by using terminfo's
40 infocmp program like this: 84 infocmp program like this:
41 85
42 infocmp -C rxvt-unicode 86 infocmp -C rxvt-unicode
43 87
44 OR you could this termcap entry: 88 Or you could use this termcap entry, generated by the command above:
45 89
46 rxvt-unicode|rxvt-unicode terminal (X Window System):\ 90 rxvt-unicode|rxvt-unicode terminal (X Window System):\
47 :am:bw:eo:km:mi:ms:xn:xo:\ 91 :am:bw:eo:km:mi:ms:xn:xo:\
48 :co#80:it#8:li#24:\ 92 :co#80:it#8:li#24:lm#0:\
49 :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ 93 :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\
50 :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\ 94 :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\
51 :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ae=^O:al=\E[L:\ 95 :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ae=\E(B:al=\E[L:\
52 :as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:\ 96 :as=\E(0:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\
53 :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:\ 97 :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\
54 :ec=\E[%dX:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:ic=\E[@:\ 98 :dl=\E[M:do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:\
99 :i1=\E[?47l\E=\E[?1l:ic=\E[@:im=\E[4h:\
55 :im=\E[4h:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ 100 :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\
56 :k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\ 101 :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\
57 :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ 102 :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:kD=\E[3~:\
58 :kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:\ 103 :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:\
59 :ke=\E[?1l\E>:kh=\E[7~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ 104 :kh=\E[7~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\
60 :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:\ 105 :mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:rc=\E8:\
61 :nd=\E[C:rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:\ 106 :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
62 :st=\EH:ta=^I:te=\E[r\E[?1049l:ti=\E[?1049h:ue=\E[24m:\ 107 :te=\E[r\E[?1049l:ti=\E[?1049h:ue=\E[24m:up=\E[A:\
63 :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:\ 108 :us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:\
64 :vs=\E[?25h: 109 :vs=\E[?25h:
65 110
66 Why does "ls" no longer have coloured output? 111 Why does "ls" no longer have coloured output?
67 The "ls" in the GNU coreutils unfortunately doesn't use terminfo to 112 The "ls" in the GNU coreutils unfortunately doesn't use terminfo to
68 decide wether a terminal has colour, but uses it's own configuration 113 decide wether a terminal has colour, but uses it's own configuration
87 furthermore fail to even install the "rxvt-unicode" terminfo file, 132 furthermore fail to even install the "rxvt-unicode" terminfo file,
88 so you will need to install it on your own (See the question When I 133 so you will need to install it on your own (See the question When I
89 log-in to another system it tells me about missing terminfo data? on 134 log-in to another system it tells me about missing terminfo data? on
90 how to do this). 135 how to do this).
91 136
137 My numerical keypad acts weird and generates differing output?
138 Some Debian GNUL/Linux users seem to have this problem, although no
139 specific details were reported so far. It is possible that this is
140 caused by the wrong "TERM" setting, although the details of wether
141 and how this can happen are unknown, as "TERM=rxvt" should offer a
142 compatible keymap. See the answer to the previous question, and
143 please report if that helped.
144
92 Rxvt-unicode does not seem to understand the selected encoding? 145 Rxvt-unicode does not seem to understand the selected encoding?
93 Unicode does not seem to work? 146 Unicode does not seem to work?
94 If you encounter strange problems like typing an accented character 147 If you encounter strange problems like typing an accented character
95 but getting two unrelated other characters or similar, or if program 148 but getting two unrelated other characters or similar, or if program
96 output is subtly garbled, then you should check your locale 149 output is subtly garbled, then you should check your locale
97 settings. 150 settings.
98 151
99 Rxvt-unicode must be started with the same "LC_CTYPE" setting as the 152 Rxvt-unicode must be started with the same "LC_CTYPE" setting as the
100 programs. Often rxvt-unicode is started in the "C" locale, while the 153 programs. Often rxvt-unicode is started in the "C" locale, while the
101 login script running within the rxvt-unicode window changes the 154 login script running within the rxvt-unicode window changes the
102 locale to sth. else, e.h. "en_GB.UTF-8". Needless to say, this is 155 locale to something else, e.g. "en_GB.UTF-8". Needless to say, this
103 not going to work. 156 is not going to work.
104 157
105 The best thing is to fix your startup environment, as you will 158 The best thing is to fix your startup environment, as you will
106 likely run into other problems. If nothing works you can try this in 159 likely run into other problems. If nothing works you can try this in
107 your .profile. 160 your .profile.
108 161
109 printf '\e]701;%s\007' "$LC_CTYPE" 162 printf '\e]701;%s\007' "$LC_CTYPE"
110 163
111 If this doesn't work, then maybe you use a "LC_CTYPE" specification 164 If this doesn't work, then maybe you use a "LC_CTYPE" specification
112 not supported on your systems. Some systems have a "locale" command 165 not supported on your systems. Some systems have a "locale" command
113 which displays this. If it displays sth. like: 166 which displays this (also, "perl -e0" can be used to check locale
167 settings, as it will complain loudly if it cannot set the locale).
168 If it displays something like:
114 169
115 locale: Cannot set LC_CTYPE to default locale: ... 170 locale: Cannot set LC_CTYPE to default locale: ...
116 171
117 Then the locale you specified is not supported on your system. 172 Then the locale you specified is not supported on your system.
118 173
126 Chances are that the font you (or the admin/package maintainer of 181 Chances are that the font you (or the admin/package maintainer of
127 your system/os) have specified does not cover all the characters you 182 your system/os) have specified does not cover all the characters you
128 want to display. 183 want to display.
129 184
130 rxvt-unicode makes a best-effort try at finding a replacement font. 185 rxvt-unicode makes a best-effort try at finding a replacement font.
131 Often the result is fine, but sometimes the chosen font looks bad. 186 Often the result is fine, but sometimes the chosen font looks
132 Many fonts have totally strange characters that don't resemble the 187 bad/ugly/wrong. Some fonts have totally strange characters that
133 correct glyph at all, and rxvt-unicode lacks the artificial 188 don't resemble the correct glyph at all, and rxvt-unicode lacks the
134 intelligence to detect that a specific glyph is wrong: it has to 189 artificial intelligence to detect that a specific glyph is wrong: it
135 believe the font that the characters it contains indeed look 190 has to believe the font that the characters it claims to contain
136 correct. 191 indeed look correct.
137 192
138 In that case, select a font of your taste and add it to the font 193 In that case, select a font of your taste and add it to the font
139 list, e.g.: 194 list, e.g.:
140 195
141 rxvt -fn basefont,font2,font3... 196 urxvt -fn basefont,font2,font3...
142 197
143 When rxvt-unicode sees a character, it will first look at the base 198 When rxvt-unicode sees a character, it will first look at the base
144 font. If the base font does not contain the character, it will go to 199 font. If the base font does not contain the character, it will go to
145 the next font, and so on. Specifying your own fonts will also speed 200 the next font, and so on. Specifying your own fonts will also speed
146 up this search and use less resources within rxvt-unicode and the 201 up this search and use less resources within rxvt-unicode and the
147 X-server. 202 X-server.
148 203
149 The only limitation is that all the fonts must not be larger than 204 The only limitation is that none of the fonts may be larger than the
150 the base font, as the base font defines the principal cell size, 205 base font, as the base font defines the terminal character cell
151 which must be the same due to the way terminals work. 206 size, which must be the same due to the way terminals work.
152 207
153 Why do some chinese characters look so different than others? 208 Why do some chinese characters look so different than others?
154 This is because there is a difference between script and language -- 209 This is because there is a difference between script and language --
155 rxvt-unicode does not know which language the text that is output 210 rxvt-unicode does not know which language the text that is output
156 is, as it only knows the unicode character codes. If rxvt-unicode 211 is, as it only knows the unicode character codes. If rxvt-unicode
157 first sees a japanese character, it might choose a japanese font for 212 first sees a japanese/chinese character, it might choose a japanese
158 it. Subsequent japanese characters will take that font. Now, many 213 font for display. Subsequent japanese characters will use that font.
159 chinese characters aren't represented in japanese fonts, so when the 214 Now, many chinese characters aren't represented in japanese fonts,
160 first non-japanese character comes up, rxvt-unicode will look for a 215 so when the first non-japanese character comes up, rxvt-unicode will
161 chinese font -- unfortunately at this point, it will still use the 216 look for a chinese font -- unfortunately at this point, it will
162 japanese font for japanese characters that are also chinese. 217 still use the japanese font for chinese characters that are also in
218 the japanese font.
163 219
164 The workaround is easy: just tag a chinese font at the end of your 220 The workaround is easy: just tag a chinese font at the end of your
165 font list (see the previous question). The key is to view the font 221 font list (see the previous question). The key is to view the font
166 list as a preference list: If you expect more japanese, list a 222 list as a preference list: If you expect more japanese, list a
167 japanese font first. If you expect more chinese, put a chinese font 223 japanese font first. If you expect more chinese, put a chinese font
168 first. 224 first.
169 225
170 In the future it might be possible to switch preferences at runtime 226 In the future it might be possible to switch language preferences at
171 (the internal data structure has no problem with using different 227 runtime (the internal data structure has no problem with using
172 fonts for the same character at the same time, but no interface for 228 different fonts for the same character at the same time, but no
173 this has been designed yet). 229 interface for this has been designed yet).
230
231 Until then, you might get away with switching fonts at runtime (see
232 "Can I switch the fonts at runtime?" later in this document).
174 233
175 Why does rxvt-unicode sometimes leave pixel droppings? 234 Why does rxvt-unicode sometimes leave pixel droppings?
176 Most fonts were not designed for terminal use, which means that 235 Most fonts were not designed for terminal use, which means that
177 character size varies a lot. A font that is otherwise fine for 236 character size varies a lot. A font that is otherwise fine for
178 terminal use might contain some characters that are simply too wide. 237 terminal use might contain some characters that are simply too wide.
192 that doesn't work, you might be forced to use a different font. 251 that doesn't work, you might be forced to use a different font.
193 252
194 All of this is not a problem when using X11 core fonts, as their 253 All of this is not a problem when using X11 core fonts, as their
195 bounding box data is correct. 254 bounding box data is correct.
196 255
256 On Solaris 9, many line-drawing characters are too wide.
257 Seems to be a known bug, read
258 <http://nixdoc.net/files/forum/about34198.html>. Some people use the
259 following ugly workaround to get non-double-wide-characters working:
260
261 #define wcwidth(x) wcwidth(x) > 1 ? 1 : wcwidth(x)
262
197 My Compose (Multi_key) key is no longer working. 263 My Compose (Multi_key) key is no longer working.
198 The most common causes for this are that either your locale is not 264 The most common causes for this are that either your locale is not
199 set correctly, or you specified a preeditStyle that is not supported 265 set correctly, or you specified a preeditStyle that is not supported
200 by your input method. For example, if you specified OverTheSpot and 266 by your input method. For example, if you specified OverTheSpot and
201 your input method (e.g. the default input method handling Compose 267 your input method (e.g. the default input method handling Compose
212 advantage, typing <Ctrl-Shift-0> to get a ASCII NUL. This works for 278 advantage, typing <Ctrl-Shift-0> to get a ASCII NUL. This works for
213 other codes, too, such as "Ctrl-Shift-1-d" to type the default 279 other codes, too, such as "Ctrl-Shift-1-d" to type the default
214 telnet escape character and so on. 280 telnet escape character and so on.
215 281
216 How can I keep rxvt-unicode from using reverse video so much? 282 How can I keep rxvt-unicode from using reverse video so much?
217 First of all, make sure you are running with the right terminfo 283 First of all, make sure you are running with the right terminal
218 ("urxvt"), which will get rid of most of these effects. Then make 284 settings ("TERM=rxvt-unicode"), which will get rid of most of these
219 sure you have specified colours for italic and bold, as otherwise 285 effects. Then make sure you have specified colours for italic and
220 rxvt-unicode might use reverse video to simulate the effect: 286 bold, as otherwise rxvt-unicode might use reverse video to simulate
287 the effect:
221 288
222 URxvt*colorBD: white 289 URxvt.colorBD: white
223 URxvt*colorIT: green 290 URxvt.colorIT: green
224 291
225 Some programs assume totally weird colours (red instead of blue), how 292 Some programs assume totally weird colours (red instead of blue), how
226 can I fix that? 293 can I fix that?
227 For some unexplainable reason, some programs (i.e. irssi) assume a 294 For some unexplainable reason, some rare programs assume a very
228 very weird colour palette when confronted with a terminal with more 295 weird colour palette when confronted with a terminal with more than
229 than the standard 8 colours (rxvt-unicode supports 88). The right 296 the standard 8 colours (rxvt-unicode supports 88). The right fix is,
230 fix is, of course, to fix these programs not to assume non-ISO 297 of course, to fix these programs not to assume non-ISO colours
231 colours without very good reasons. 298 without very good reasons.
232 299
233 In the meantime, you can either edit your "urxvt" terminfo 300 In the meantime, you can either edit your "rxvt-unicode" terminfo
234 definition to only claim 8 colour support or use "TERM=rxvt", which 301 definition to only claim 8 colour support or use "TERM=rxvt", which
235 will fix colours but keep you from using other rxvt-unicode 302 will fix colours but keep you from using other rxvt-unicode
236 features. 303 features.
237 304
238 I am on FreeBSD and rxvt-unicode does not seem to work at all. 305 I am on FreeBSD and rxvt-unicode does not seem to work at all.
241 it, wether it defines the symbol or not. "__STDC_ISO_10646__" 308 it, wether it defines the symbol or not. "__STDC_ISO_10646__"
242 requires that wchar_t is represented as unicode. 309 requires that wchar_t is represented as unicode.
243 310
244 As you might have guessed, FreeBSD does neither define this symobl 311 As you might have guessed, FreeBSD does neither define this symobl
245 nor does it support it. Instead, it uses it's own internal 312 nor does it support it. Instead, it uses it's own internal
246 representation of wchar_t. This is, of course, completely legal. 313 representation of wchar_t. This is, of course, completely fine with
314 respect to standards.
247 315
316 However, that means rxvt-unicode only works in "POSIX", "ISO-8859-1"
317 and "UTF-8" locales under FreeBSD (which all use Unicode as wchar_t.
318
248 However, "__STDC_ISO_10646__" is the only sane way to support 319 "__STDC_ISO_10646__" is the only sane way to support multi-language
249 multi-language apps in an OS, as using a locale-dependent (and 320 apps in an OS, as using a locale-dependent (and non-standardized)
250 non-standardized) representation of wchar_t makes it impossible to 321 representation of wchar_t makes it impossible to convert between
251 convert between wchar_t (as used by X11 and your applications) and 322 wchar_t (as used by X11 and your applications) and any other
252 any other encoding without implementing OS-specific-wrappers for 323 encoding without implementing OS-specific-wrappers for each and
253 each and every locale. There simply are no APIs to convert wchar_t 324 every locale. There simply are no APIs to convert wchar_t into
254 into anything except the current locale encoding. 325 anything except the current locale encoding.
255 326
256 Some applications (such as the formidable mlterm) work around this 327 Some applications (such as the formidable mlterm) work around this
257 by carrying their own replacement functions for character set 328 by carrying their own replacement functions for character set
258 handling with them, and either implementing OS-dependent hacks or 329 handling with them, and either implementing OS-dependent hacks or
259 doing multiple conversions (which is slow and unreliable in case the 330 doing multiple conversions (which is slow and unreliable in case the
260 OS implements encodings slightly different than the terminal 331 OS implements encodings slightly different than the terminal
261 emulator). 332 emulator).
262 333
263 The rxvt-unicode author insists that the right way to fix this is in 334 The rxvt-unicode author insists that the right way to fix this is in
264 the system libraries once and for all, instead of forcing every app 335 the system libraries once and for all, instead of forcing every app
265 to carry complete replacements. 336 to carry complete replacements for them :)
337
338 I use Solaris 9 and it doesn't compile/work/etc.
339 Try the diff in doc/solaris9.patch as a base. It fixes the worst
340 problems with "wcwidth" and a compile problem.
341
342 How can I use rxvt-unicode under cygwin?
343 rxvt-unicode should compile and run out of the box on cygwin, using
344 the X11 libraries that come with cygwin. libW11 emulation is no
345 longer supported (and makes no sense, either, as it only supported a
346 single font). I recommend starting the X-server in "-multiwindow" or
347 "-rootless" mode instead, which will result in similar look&feel as
348 the old libW11 emulation.
349
350 At the time of this writing, cygwin didn't seem to support any
351 multi-byte encodings (you might try "LC_CTYPE=C-UTF-8"), so you are
352 likely limited to 8-bit encodings.
266 353
267 How does rxvt-unicode determine the encoding to use? 354 How does rxvt-unicode determine the encoding to use?
268 Is there an option to switch encodings? 355 Is there an option to switch encodings?
269 Unlike some other terminals, rxvt-unicode has no encoding switch, 356 Unlike some other terminals, rxvt-unicode has no encoding switch,
270 and no specific "utf-8" mode, such as xterm. In fact, it doesn't 357 and no specific "utf-8" mode, such as xterm. In fact, it doesn't
273 360
274 The reasons is that there exists a perfectly fine mechanism for 361 The reasons is that there exists a perfectly fine mechanism for
275 selecting the encoding, doing I/O and (most important) communicating 362 selecting the encoding, doing I/O and (most important) communicating
276 this to all applications so everybody agrees on character properties 363 this to all applications so everybody agrees on character properties
277 such as width and code number. This mechanism is the *locale*. 364 such as width and code number. This mechanism is the *locale*.
365 Applications not using that info will have problems (for example,
366 "xterm" gets the width of characters wrong as it uses it's own,
367 locale-independent table under all locales).
278 368
279 Rxvt-unicode uses the "LC_CTYPE" locale category to select encoding. 369 Rxvt-unicode uses the "LC_CTYPE" locale category to select encoding.
280 All programs doing the same (that is, most) will automatically agree 370 All programs doing the same (that is, most) will automatically agree
281 in the interpretation of characters. 371 in the interpretation of characters.
282 372
290 "language_country.encoding", but other forms (i.e. "de" or "german") 380 "language_country.encoding", but other forms (i.e. "de" or "german")
291 are also common. 381 are also common.
292 382
293 Rxvt-unicode ignores all other locale categories, and except for the 383 Rxvt-unicode ignores all other locale categories, and except for the
294 encoding, ignores country or language-specific settings, i.e. 384 encoding, ignores country or language-specific settings, i.e.
295 "de_DE.UTF-8" and "ja_JP.UTF-8" are the same for rxvt-unicode. 385 "de_DE.UTF-8" and "ja_JP.UTF-8" are the normally same to
386 rxvt-unicode.
296 387
297 If you want to use a specific encoding you have to make sure you 388 If you want to use a specific encoding you have to make sure you
298 start rxvt-unicode with the correct "LC_CTYPE" category. 389 start rxvt-unicode with the correct "LC_CTYPE" category.
299 390
300 Can I switch locales at runtime? 391 Can I switch locales at runtime?
301 Yes, using an escape sequence. Try sth. like this, which sets 392 Yes, using an escape sequence. Try something like this, which sets
302 rxvt-unicode's idea of "LC_CTYPE". 393 rxvt-unicode's idea of "LC_CTYPE".
303 394
304 printf '\e]701;%s\007' ja_JP.SJIS 395 printf '\e]701;%s\007' ja_JP.SJIS
305 396
306 See also the previous question. 397 See also the previous answer.
307 398
308 Sometimes this capability is rather handy when you want to work in 399 Sometimes this capability is rather handy when you want to work in
309 one locale (e.g. "de_DE.UTF-8") but some programs don't support 400 one locale (e.g. "de_DE.UTF-8") but some programs don't support it
310 UTF-8. For example, I use this script to start "xjdic", which first 401 (e.g. UTF-8). For example, I use this script to start "xjdic", which
311 switches to a locale supported by xjdic and back later: 402 first switches to a locale supported by xjdic and back later:
312 403
313 printf '\e]701;%s\007' ja_JP.SJIS 404 printf '\e]701;%s\007' ja_JP.SJIS
314 xjdic -js 405 xjdic -js
315 printf '\e]701;%s\007' de_DE.UTF-8 406 printf '\e]701;%s\007' de_DE.UTF-8
316 407
408 You can also use xterm's "luit" program, which usually works fine,
409 except for some locales where character width differs between
410 program- and rxvt-unicode-locales.
411
317 Can I switch the fonts at runtime? 412 Can I switch the fonts at runtime?
318 Yes, using an escape sequence. Try sth. like this, which has the 413 Yes, using an escape sequence. Try something like this, which has
319 same effect as using the "-fn" switch, and takes effect immediately: 414 the same effect as using the "-fn" switch, and takes effect
415 immediately:
320 416
321 printf '\e]50;%s\007' "9x15bold,xft:Kochi Gothic" 417 printf '\e]50;%s\007' "9x15bold,xft:Kochi Gothic"
322 418
323 This is useful if you e.g. work primarily with japanese (and prefer 419 This is useful if you e.g. work primarily with japanese (and prefer
324 a japanese font), but you have to switch to chinese temporarily, 420 a japanese font), but you have to switch to chinese temporarily,
327 You can think of this as a kind of manual ISO-2022 switching. 423 You can think of this as a kind of manual ISO-2022 switching.
328 424
329 Why do italic characters look as if clipped? 425 Why do italic characters look as if clipped?
330 Many fonts have difficulties with italic characters and hinting. For 426 Many fonts have difficulties with italic characters and hinting. For
331 example, the otherwise very nicely hinted font "xft:Bitstream Vera 427 example, the otherwise very nicely hinted font "xft:Bitstream Vera
332 Sans Mono" completely fails in it's italic face. A workaround is to 428 Sans Mono" completely fails in it's italic face. A workaround might
333 enable freetype autohinting, i.e. like this: 429 be to enable freetype autohinting, i.e. like this:
334 430
335 URxvt*italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true 431 URxvt.italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true
336 URxvt*boldItalicFont: xft:Bitstream Vera Sans Mono:bold:italic:autohint=true 432 URxvt.boldItalicFont: xft:Bitstream Vera Sans Mono:bold:italic:autohint=true
337 433
338 My input method wants <some encoding> but I want UTF-8, what can I do? 434 My input method wants <some encoding> but I want UTF-8, what can I do?
339 You can specify separate locales for the input method and the rest 435 You can specify separate locales for the input method and the rest
340 of the terminal, using the resource "imlocale": 436 of the terminal, using the resource "imlocale":
341 437
344 Now you can start your terminal with "LC_CTYPE=ja_JP.UTF-8" and 440 Now you can start your terminal with "LC_CTYPE=ja_JP.UTF-8" and
345 still use your input method. Please note, however, that you will not 441 still use your input method. Please note, however, that you will not
346 be able to input characters outside "EUC-JP" in a normal way then, 442 be able to input characters outside "EUC-JP" in a normal way then,
347 as your input method limits you. 443 as your input method limits you.
348 444
445 Rxvt-unicode crashes when the X Input Method changes or exits.
446 Unfortunately, this is unavoidable, as the XIM protocol is racy by
447 design. Applications can avoid some crashes at the expense of memory
448 leaks, and Input Methods can avoid some crashes by careful ordering
449 at exit time. kinput2 (and derived input methods) generally
450 succeeds, while SCIM (or similar input methods) fails. In the end,
451 however, crashes cannot be completely avoided even if both sides
452 cooperate.
453
454 So the only workaround is not to kill your Input Method Servers.
455
349 Rxvt-unicode uses gobs of memory, how can I reduce that? 456 Rxvt-unicode uses gobs of memory, how can I reduce that?
350 Rxvt-unicode tries to obey the rule of not charging you for sth. you 457 Rxvt-unicode tries to obey the rule of not charging you for
351 don't use. One thing you should try is to configure out all settings 458 something you don't use. One thing you should try is to configure
352 that you don't need, for example, Xft support is a resource hog by 459 out all settings that you don't need, for example, Xft support is a
353 design, when used. Compiling it out ensures that no Xft font will be 460 resource hog by design, when used. Compiling it out ensures that no
354 loaded accidentally when rxvt-unicode tries to find a font for your 461 Xft font will be loaded accidentally when rxvt-unicode tries to find
355 characters. 462 a font for your characters.
356 463
357 Also, many people (me included) like large windows and even larger 464 Also, many people (me included) like large windows and even larger
358 scrollback buffers: Without "--enable-unicode3", rxvt-unicode will 465 scrollback buffers: Without "--enable-unicode3", rxvt-unicode will
359 use 6 bytes per screen cell. For a 160x?? window this amounts to 466 use 6 bytes per screen cell. For a 160x?? window this amounts to
360 almost a kilobyte per line. A scrollback buffer of 10000 lines will 467 almost a kilobyte per line. A scrollback buffer of 10000 lines will
362 it gets worse, as rxvt-unicode then uses 8 bytes per screen cell. 469 it gets worse, as rxvt-unicode then uses 8 bytes per screen cell.
363 470
364 Can I speed up Xft rendering somehow? 471 Can I speed up Xft rendering somehow?
365 Yes, the most obvious way to speed it up is to avoid Xft entirely, 472 Yes, the most obvious way to speed it up is to avoid Xft entirely,
366 as it is simply slow. If you still want Xft fonts you might try to 473 as it is simply slow. If you still want Xft fonts you might try to
367 disable antialiasing (by appending ":antialiasing=false"), which 474 disable antialiasing (by appending ":antialias=false"), which saves
368 saves lots of memory and also speeds up rendering considerably. 475 lots of memory and also speeds up rendering considerably.
369 476
370 Rxvt-unicode doesn't seem to anti-alias its fonts, what is wrong? 477 Rxvt-unicode doesn't seem to anti-alias its fonts, what is wrong?
371 Rxvt-unicode will use whatever you specify as a font. If it needs to 478 Rxvt-unicode will use whatever you specify as a font. If it needs to
372 fall back to it's default font search list it will prefer X11 core 479 fall back to it's default font search list it will prefer X11 core
373 fonts, because they are small and fast, and then use Xft fonts. It 480 fonts, because they are small and fast, and then use Xft fonts. It
379 Mouse cut/paste suddenly no longer works. 486 Mouse cut/paste suddenly no longer works.
380 Make sure that mouse reporting is actually turned off since killing 487 Make sure that mouse reporting is actually turned off since killing
381 some editors prematurely may leave the mouse in mouse report mode. 488 some editors prematurely may leave the mouse in mouse report mode.
382 I've heard that tcsh may use mouse reporting unless it otherwise 489 I've heard that tcsh may use mouse reporting unless it otherwise
383 specified. A quick check is to see if cut/paste works when the Alt 490 specified. A quick check is to see if cut/paste works when the Alt
384 or Shift keys are depressed. See rxvt(7) 491 or Shift keys are depressed. See urxvt(7)
385 492
386 What's with this bold/blink stuff? 493 What's with this bold/blink stuff?
387 If no bold colour is set via "colorBD:", bold will invert text using 494 If no bold colour is set via "colorBD:", bold will invert text using
388 the standard foreground colour. 495 the standard foreground colour.
389 496
404 resources (or as long-options). 511 resources (or as long-options).
405 512
406 Here are values that are supposed to resemble a VGA screen, 513 Here are values that are supposed to resemble a VGA screen,
407 including the murky brown that passes for low-intensity yellow: 514 including the murky brown that passes for low-intensity yellow:
408 515
409 URxvt*color0: #000000 516 URxvt.color0: #000000
410 URxvt*color1: #A80000 517 URxvt.color1: #A80000
411 URxvt*color2: #00A800 518 URxvt.color2: #00A800
412 URxvt*color3: #A8A800 519 URxvt.color3: #A8A800
413 URxvt*color4: #0000A8 520 URxvt.color4: #0000A8
414 URxvt*color5: #A800A8 521 URxvt.color5: #A800A8
415 URxvt*color6: #00A8A8 522 URxvt.color6: #00A8A8
416 URxvt*color7: #A8A8A8 523 URxvt.color7: #A8A8A8
417 524
418 URxvt*color8: #000054 525 URxvt.color8: #000054
419 URxvt*color9: #FF0054 526 URxvt.color9: #FF0054
420 URxvt*color10: #00FF54 527 URxvt.color10: #00FF54
421 URxvt*color11: #FFFF54 528 URxvt.color11: #FFFF54
422 URxvt*color12: #0000FF 529 URxvt.color12: #0000FF
423 URxvt*color13: #FF00FF 530 URxvt.color13: #FF00FF
424 URxvt*color14: #00FFFF 531 URxvt.color14: #00FFFF
425 URxvt*color15: #FFFFFF 532 URxvt.color15: #FFFFFF
426 533
427 And here is a more complete set of non-standard colors described as 534 And here is a more complete set of non-standard colors described
428 "pretty girly": 535 (not by me) as "pretty girly".
429 536
430 URxvt.cursorColor: #dc74d1 537 URxvt.cursorColor: #dc74d1
431 URxvt.pointerColor: #dc74d1 538 URxvt.pointerColor: #dc74d1
432 URxvt.background: #0e0e0e 539 URxvt.background: #0e0e0e
433 URxvt.foreground: #4ad5e1 540 URxvt.foreground: #4ad5e1
444 URxvt.color6: #73f7ff 551 URxvt.color6: #73f7ff
445 URxvt.color14: #73f7ff 552 URxvt.color14: #73f7ff
446 URxvt.color7: #e1dddd 553 URxvt.color7: #e1dddd
447 URxvt.color15: #e1dddd 554 URxvt.color15: #e1dddd
448 555
556 How can I start urxvtd in a race-free way?
557 Try "urxvtd -f -o", which tells urxvtd to open the display, create
558 the listening socket and then fork.
559
449 What's with the strange Backspace/Delete key behaviour? 560 What's with the strange Backspace/Delete key behaviour?
450 Assuming that the physical Backspace key corresponds to the 561 Assuming that the physical Backspace key corresponds to the
451 BackSpace keysym (not likely for Linux ... see the following 562 BackSpace keysym (not likely for Linux ... see the following
452 question) there are two standard values that can be used for 563 question) there are two standard values that can be used for
453 Backspace: "^H" and "^?". 564 Backspace: "^H" and "^?".
465 576
466 For starting a new rxvt-unicode: 577 For starting a new rxvt-unicode:
467 578
468 # use Backspace = ^H 579 # use Backspace = ^H
469 $ stty erase ^H 580 $ stty erase ^H
470 $ rxvt 581 $ urxvt
471 582
472 # use Backspace = ^? 583 # use Backspace = ^?
473 $ stty erase ^? 584 $ stty erase ^?
474 $ rxvt 585 $ urxvt
475 586
476 Toggle with "ESC[36h" / "ESC[36l" as documented in rxvt(7). 587 Toggle with "ESC [ 36 h" / "ESC [ 36 l" as documented in urxvt(7).
477 588
478 For an existing rxvt-unicode: 589 For an existing rxvt-unicode:
479 590
480 # use Backspace = ^H 591 # use Backspace = ^H
481 $ stty erase ^H 592 $ stty erase ^H
490 value properly reflects that. 601 value properly reflects that.
491 602
492 The Delete key is a another casualty of the ill-defined Backspace 603 The Delete key is a another casualty of the ill-defined Backspace
493 problem. To avoid confusion between the Backspace and Delete keys, 604 problem. To avoid confusion between the Backspace and Delete keys,
494 the Delete key has been assigned an escape sequence to match the 605 the Delete key has been assigned an escape sequence to match the
495 vt100 for Execute (ESC[3~) and is in the supplied termcap/terminfo. 606 vt100 for Execute ("ESC [ 3 ~") and is in the supplied
607 termcap/terminfo.
496 608
497 Some other Backspace problems: 609 Some other Backspace problems:
498 610
499 some editors use termcap/terminfo, some editors (vim I'm told) 611 some editors use termcap/terminfo, some editors (vim I'm told)
500 expect Backspace = ^H, GNU Emacs (and Emacs-like editors) use ^H for 612 expect Backspace = ^H, GNU Emacs (and Emacs-like editors) use ^H for
504 616
505 I don't like the key-bindings. How do I change them? 617 I don't like the key-bindings. How do I change them?
506 There are some compile-time selections available via configure. 618 There are some compile-time selections available via configure.
507 Unless you have run "configure" with the "--disable-resources" 619 Unless you have run "configure" with the "--disable-resources"
508 option you can use the `keysym' resource to alter the keystrings 620 option you can use the `keysym' resource to alter the keystrings
509 associated with keysym 0xFF00 - 0xFFFF (function, cursor keys, etc). 621 associated with keysyms.
510 622
511 Here's an example for a tn3270 session started using `rxvt -name 623 Here's an example for a URxvt session started using "urxvt -name
512 tn3270' 624 URxvt"
513 625
514 !# ----- special uses ------: 626 URxvt.keysym.Home: \033[1~
515 ! tn3270 login, remap function and arrow keys. 627 URxvt.keysym.End: \033[4~
516 tn3270*font: *clean-bold-*-*--15-* 628 URxvt.keysym.C-apostrophe: \033<C-'>
629 URxvt.keysym.C-slash: \033<C-/>
630 URxvt.keysym.C-semicolon: \033<C-;>
631 URxvt.keysym.C-grave: \033<C-`>
632 URxvt.keysym.C-comma: \033<C-,>
633 URxvt.keysym.C-period: \033<C-.>
634 URxvt.keysym.C-0x60: \033<C-`>
635 URxvt.keysym.C-Tab: \033<C-Tab>
636 URxvt.keysym.C-Return: \033<C-Return>
637 URxvt.keysym.S-Return: \033<S-Return>
638 URxvt.keysym.S-space: \033<S-Space>
639 URxvt.keysym.M-Up: \033<M-Up>
640 URxvt.keysym.M-Down: \033<M-Down>
641 URxvt.keysym.M-Left: \033<M-Left>
642 URxvt.keysym.M-Right: \033<M-Right>
643 URxvt.keysym.M-C-0: list \033<M-C- 0123456789 >
644 URxvt.keysym.M-C-a: list \033<M-C- abcdefghijklmnopqrstuvwxyz >
645 URxvt.keysym.F12: command:\033]701;zh_CN.GBK\007
517 646
518 ! keysym - used by rxvt only 647 See some more examples in the documentation for the keysym resource.
519 ! Delete - ^D
520 tn3270*keysym.0xFFFF: \004
521
522 ! Home - ^A
523 tn3270*keysym.0xFF50: \001
524 ! Left - ^B
525 tn3270*keysym.0xFF51: \002
526 ! Up - ^P
527 tn3270*keysym.0xFF52: \020
528 ! Right - ^F
529 tn3270*keysym.0xFF53: \006
530 ! Down - ^N
531 tn3270*keysym.0xFF54: \016
532 ! End - ^E
533 tn3270*keysym.0xFF57: \005
534
535 ! F1 - F12
536 tn3270*keysym.0xFFBE: \e1
537 tn3270*keysym.0xFFBF: \e2
538 tn3270*keysym.0xFFC0: \e3
539 tn3270*keysym.0xFFC1: \e4
540 tn3270*keysym.0xFFC2: \e5
541 tn3270*keysym.0xFFC3: \e6
542 tn3270*keysym.0xFFC4: \e7
543 tn3270*keysym.0xFFC5: \e8
544 tn3270*keysym.0xFFC6: \e9
545 tn3270*keysym.0xFFC7: \e0
546 tn3270*keysym.0xFFC8: \e-
547 tn3270*keysym.0xFFC9: \e=
548
549 ! map Prior/Next to F7/F8
550 tn3270*keysym.0xFF55: \e7
551 tn3270*keysym.0xFF56: \e8
552 648
553 I'm using keyboard model XXX that has extra Prior/Next/Insert keys. How 649 I'm using keyboard model XXX that has extra Prior/Next/Insert keys. How
554 do I make use of them? For example, the Sun Keyboard type 4 has the 650 do I make use of them? For example, the Sun Keyboard type 4 has the
555 following mappings that rxvt-unicode doesn't recognize. 651 following mappings that rxvt-unicode doesn't recognize.
556 KP_Insert == Insert 652 KP_Insert == Insert
562 658
563 Rather than have rxvt-unicode try to accommodate all the various 659 Rather than have rxvt-unicode try to accommodate all the various
564 possible keyboard mappings, it is better to use `xmodmap' to remap 660 possible keyboard mappings, it is better to use `xmodmap' to remap
565 the keys as required for your particular machine. 661 the keys as required for your particular machine.
566 662
567 How do I distinguish if I'm running rxvt-unicode or a regular xterm? I 663 How do I distinguish wether I'm running rxvt-unicode or a regular xterm?
568 need this to decide about setting colors etc. 664 I need this to decide about setting colors etc.
569 rxvt and rxvt-unicode always export the variable "COLORTERM", so you 665 rxvt and rxvt-unicode always export the variable "COLORTERM", so you
570 can check and see if that is set. Note that several programs, JED, 666 can check and see if that is set. Note that several programs, JED,
571 slrn, Midnight Commander automatically check this variable to decide 667 slrn, Midnight Commander automatically check this variable to decide
572 whether or not to use color. 668 whether or not to use color.
573 669
604 Before sending me mail, you could go to IRC: "irc.freenode.net", 700 Before sending me mail, you could go to IRC: "irc.freenode.net",
605 channel "#rxvt-unicode" has some rxvt-unicode enthusiasts that might 701 channel "#rxvt-unicode" has some rxvt-unicode enthusiasts that might
606 be interested in learning about new and exciting problems (but not 702 be interested in learning about new and exciting problems (but not
607 FAQs :). 703 FAQs :).
608 704
609SYNOPSIS 705RXVT TECHNICAL REFERENCE
610 # set a new font set
611 printf '\33]50;%s\007' 9x15,xft:Kochi" Mincho"
612
613 # change the locale and tell rxvt-unicode about it
614 export LC_CTYPE=ja_JP.EUC-JP; printf "\33]701;$LC_CTYPE\007"
615
616 # set window title
617 printf '\33]2;%s\007' "new window title"
618
619DESCRIPTION 706DESCRIPTION
620 The rest of this document describes various technical aspects of 707 The rest of this document describes various technical aspects of
621 rxvt-unicode. First the description of supported command sequences, 708 rxvt-unicode. First the description of supported command sequences,
622 followed by menu and pixmap support and last by a description of all 709 followed by menu and pixmap support and last by a description of all
623 features selectable at "configure" time. 710 features selectable at "configure" time.
624 711
625RXVT TECHNICAL REFERENCE
626Definitions 712Definitions
627 "c" The literal character c. 713 "c" The literal character c.
628 714
629 "C" A single (required) character. 715 "C" A single (required) character.
630 716
715 "ESC O" 801 "ESC O"
716 Single Shift Select of G3 Character Set (SS3): affects next 802 Single Shift Select of G3 Character Set (SS3): affects next
717 character only *unimplemented* 803 character only *unimplemented*
718 804
719 "ESC Z" 805 "ESC Z"
720 Obsolete form of returns: "ESC[?1;2C" *rxvt-unicode compile-time 806 Obsolete form of returns: "ESC [ ? 1 ; 2 C" *rxvt-unicode
721 option* 807 compile-time option*
722 808
723 "ESC c" 809 "ESC c"
724 Full reset (RIS) 810 Full reset (RIS)
725 811
726 "ESC n" 812 "ESC n"
727 Invoke the G2 Character Set (LS2) 813 Invoke the G2 Character Set (LS2)
728 814
729 "ESC o" 815 "ESC o"
730 Invoke the G3 Character Set (LS3) 816 Invoke the G3 Character Set (LS3)
731 817
732 "ESC" ( C> 818 "ESC ( C"
733 Designate G0 Character Set (ISO 2022), see below for values of "C". 819 Designate G0 Character Set (ISO 2022), see below for values of "C".
734 820
735 "ESC" ) C> 821 "ESC ) C"
736 Designate G1 Character Set (ISO 2022), see below for values of "C". 822 Designate G1 Character Set (ISO 2022), see below for values of "C".
737 823
738 "ESC * C" 824 "ESC * C"
739 Designate G2 Character Set (ISO 2022), see below for values of "C". 825 Designate G2 Character Set (ISO 2022), see below for values of "C".
740 826
833 "ESC [ Ps a" 919 "ESC [ Ps a"
834 See "ESC [ Ps C" 920 See "ESC [ Ps C"
835 921
836 "ESC [ Ps c" 922 "ESC [ Ps c"
837 Send Device Attributes (DA) "Ps = 0" (or omitted): request 923 Send Device Attributes (DA) "Ps = 0" (or omitted): request
838 attributes from terminal returns: "ESC[?1;2c" (``I am a VT100 with 924 attributes from terminal returns: "ESC [ ? 1 ; 2 c" (``I am a VT100
839 Advanced Video Option'') 925 with Advanced Video Option'')
840 926
841 "ESC [ Ps d" 927 "ESC [ Ps d"
842 Cursor to Line "Ps" (VPA) 928 Cursor to Line "Ps" (VPA)
843 929
844 "ESC [ Ps e" 930 "ESC [ Ps e"
918 (CSR) 1004 (CSR)
919 1005
920 "ESC [ s" 1006 "ESC [ s"
921 Save Cursor (SC) 1007 Save Cursor (SC)
922 1008
1009 "ESC [ Ps;Pt t"
1010 Window Operations
1011
1012 Ps = 1 Deiconify (map) window
1013 Ps = 2 Iconify window
1014 Ps = 3 ESC [ 3 ; X ; Y t Move window to (X|Y)
1015 Ps = 4 ESC [ 4 ; H ; W t Resize to WxH pixels
1016 Ps = 5 Raise window
1017 Ps = 6 Lower window
1018 Ps = 7 Refresh screen once
1019 Ps = 8 ESC [ 8 ; R ; C t Resize to R rows and C columns
1020 Ps = 11 Report window state (responds with Ps = 1 or Ps = 2)
1021 Ps = 13 Report window position (responds with Ps = 3)
1022 Ps = 14 Report window pixel size (responds with Ps = 4)
1023 Ps = 18 Report window text size (responds with Ps = 7)
1024 Ps = 19 Currently the same as Ps = 18, but responds with Ps = 9
1025 Ps = 20 Reports icon label (ESC ] L NAME \234)
1026 Ps = 21 Reports window title (ESC ] l NAME \234)
1027 Ps = 24.. Set window height to Ps rows
1028
1029 "ESC [ u"
1030 Restore Cursor
1031
923 "ESC [ Ps x" 1032 "ESC [ Ps x"
924 Request Terminal Parameters (DECREQTPARM) 1033 Request Terminal Parameters (DECREQTPARM)
925
926 "ESC [ u"
927 Restore Cursor
928 1034
929 1035
930 1036
931DEC Private Modes 1037DEC Private Modes
932 "ESC [ ? Pm h" 1038 "ESC [ ? Pm h"
1074 Ps = 13 Change colour of mouse foreground to Pt 1180 Ps = 13 Change colour of mouse foreground to Pt
1075 Ps = 17 Change colour of highlight characters to Pt 1181 Ps = 17 Change colour of highlight characters to Pt
1076 Ps = 18 Change colour of bold characters to Pt 1182 Ps = 18 Change colour of bold characters to Pt
1077 Ps = 19 Change colour of underlined characters to Pt 1183 Ps = 19 Change colour of underlined characters to Pt
1078 Ps = 20 Change default background to Pt 1184 Ps = 20 Change default background to Pt
1079 Ps = 39 Change default foreground colour to Pt rxvt compile-time option 1185 Ps = 39 Change default foreground colour to Pt.
1080 Ps = 46 Change Log File to Pt unimplemented 1186 Ps = 46 Change Log File to Pt unimplemented
1081 Ps = 49 Change default background colour to Pt rxvt compile-time option 1187 Ps = 49 Change default background colour to Pt.
1082 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 1188 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
1083 Ps = 55 Log all scrollback buffer and all of screen to Pt 1189 Ps = 55 Log all scrollback buffer and all of screen to Pt
1084 Ps = 701 Change current locale to Pt, or, if Pt is ?, return the current locale (rxvt extension) 1190 Ps = 701 Change current locale to Pt, or, if Pt is ?, return the current locale (Compile frills).
1085 Ps = 703 Menubar command Pt rxvt compile-time option (rxvt-unicode extension) 1191 Ps = 703 Menubar command Pt (Compile menubar).
1086 Ps = 704 Change colour of italic characters to Pt 1192 Ps = 704 Change colour of italic characters to Pt
1087 Ps = 705 Change background pixmap tint colour to Pt 1193 Ps = 705 Change background pixmap tint colour to Pt (Compile transparency).
1088 Ps = 710 Set normal fontset to Pt. Same as Ps = 50. 1194 Ps = 710 Set normal fontset to Pt. Same as Ps = 50.
1089 Ps = 711 Set bold fontset to Pt. Similar to Ps = 50. 1195 Ps = 711 Set bold fontset to Pt. Similar to Ps = 50 (Compile styles).
1090 Ps = 712 Set italic fontset to Pt. Similar to Ps = 50. 1196 Ps = 712 Set italic fontset to Pt. Similar to Ps = 50 (Compile styles).
1091 Ps = 713 Set bold-italic fontset to Pt. Similar to Ps = 50. 1197 Ps = 713 Set bold-italic fontset to Pt. Similar to Ps = 50 (Compile styles).
1198 Ps = 720 Move viewing window up by Pt lines, or clear scrollback buffer if Pt = 0 (Compile frills).
1199 Ps = 721 Move viewing window down by Pt lines, or clear scrollback buffer if Pt = 0 (Compile frills).
1092 1200
1093 1201
1094 1202
1095menuBar 1203menuBar
1096 The exact syntax used is *almost* solidified. In the menus, DON'T try to 1204 The exact syntax used is *almost* solidified. In the menus, DON'T try to
1133 [menu] 1241 [menu]
1134 access the current menuBar for alteration 1242 access the current menuBar for alteration
1135 1243
1136 [title:+*string*] 1244 [title:+*string*]
1137 set the current menuBar's title to *string*, which may contain the 1245 set the current menuBar's title to *string*, which may contain the
1138 following format specifiers: %% : literal % character %n : rxvt name 1246 following format specifiers:
1139 (as per the -name command-line option) %v : rxvt version 1247
1248 B<%n> rxvt name (as per the B<-name> command-line option)
1249 B<%v> rxvt version
1250 B<%%> literal B<%> character
1140 1251
1141 [done] 1252 [done]
1142 set menuBar access as readonly. End-of-file tag for [read:+*file*] 1253 set menuBar access as readonly. End-of-file tag for [read:+*file*]
1143 operations. 1254 operations.
1144 1255
1248 1359
1249 As a convenience for the many Emacs-type editors, *action* may start 1360 As a convenience for the many Emacs-type editors, *action* may start
1250 with M- (eg, M-$ is equivalent to \E$) and a CR will be appended if 1361 with M- (eg, M-$ is equivalent to \E$) and a CR will be appended if
1251 missed from M-x commands. 1362 missed from M-x commands.
1252 1363
1253 As a convenience for issuing XTerm ESC] sequences from a menubar (or 1364 As a convenience for issuing XTerm ESC ] sequences from a menubar (or
1254 quick arrow), a BEL (^G) will be appended if needed. 1365 quick arrow), a BEL (^G) will be appended if needed.
1255 1366
1256 For example, 1367 For example,
1257 M-xapropos is equivalent to \Exapropos\r 1368 M-xapropos is equivalent to \Exapropos\r
1258 1369
1558 XK_KP_8 8 ESC O x 1669 XK_KP_8 8 ESC O x
1559 XK_KP_9 9 ESC O y 1670 XK_KP_9 9 ESC O y
1560 1671
1561CONFIGURE OPTIONS 1672CONFIGURE OPTIONS
1562 General hint: if you get compile errors, then likely your configuration 1673 General hint: if you get compile errors, then likely your configuration
1563 hasn't been tested well. Either try with --enable-everything or use the 1674 hasn't been tested well. Either try with "--enable-everything" or use
1564 ./reconf script as a base for experiments. ./reconf is used by myself, 1675 the ./reconf script as a base for experiments. ./reconf is used by
1565 so it should generally be a working config. Of course, you should always 1676 myself, so it should generally be a working config. Of course, you
1566 report when a combination doesn't work, so it can be fixed. Marc Lehmann 1677 should always report when a combination doesn't work, so it can be
1567 <rxvt@schmorp.de>. 1678 fixed. Marc Lehmann <rxvt@schmorp.de>.
1679
1680 All
1568 1681
1569 --enable-everything 1682 --enable-everything
1570 Add support for all non-multichoice options listed in "./configure 1683 Add (or remove) support for all non-multichoice options listed in
1571 --help". Note that unlike other enable options this is order 1684 "./configure --help".
1572 dependant. You can specify this and then disable options which this
1573 enables by *following* this with the appropriate commands.
1574 1685
1575 --enable-xft 1686 You can specify this and then disable options you do not like by
1687 *following* this with the appropriate "--disable-..." arguments, or
1688 you can start with a minimal configuration by specifying
1689 "--disable-everything" and than adding just the "--enable-..."
1690 arguments you want.
1691
1692 --enable-xft (default: enabled)
1576 Add support for Xft (anti-aliases, among others) fonts. Xft fonts 1693 Add support for Xft (anti-aliases, among others) fonts. Xft fonts
1577 are slower and require lots of memory, but as long as you don't use 1694 are slower and require lots of memory, but as long as you don't use
1578 them, you don't pay for them. 1695 them, you don't pay for them.
1579 1696
1580 --enable-font-styles 1697 --enable-font-styles (default: on)
1581 Add support for bold, *italic* and *bold italic* font styles. The 1698 Add support for bold, *italic* and *bold italic* font styles. The
1582 fonts can be set manually or automatically. 1699 fonts can be set manually or automatically.
1583 1700
1584 --with-codesets=NAME,... 1701 --with-codesets=NAME,... (default: all)
1585 Compile in support for additional codeset (encoding) groups (eu, vn 1702 Compile in support for additional codeset (encoding) groups ("eu",
1586 are always compiled in, which includes most 8-bit character sets). 1703 "vn" are always compiled in, which includes most 8-bit character
1587 These codeset tables are currently only used for driving X11 core 1704 sets). These codeset tables are used for driving X11 core fonts,
1588 fonts, they are not required for Xft fonts. Compiling them in will 1705 they are not required for Xft fonts, although having them compiled
1589 make your binary bigger (together about 700kB), but it doesn't 1706 in lets rxvt-unicode choose replacement fonts more intelligently.
1590 increase memory usage unless you use an X11 font requiring one of 1707 Compiling them in will make your binary bigger (all of together cost
1591 these encodings. 1708 about 700kB), but it doesn't increase memory usage unless you use a
1709 font requiring one of these encodings.
1592 1710
1593 all all available codeset groups 1711 all all available codeset groups
1594 zh common chinese encodings 1712 zh common chinese encodings
1595 zh_ext rarely used but very big chinese encodigs 1713 zh_ext rarely used but very big chinese encodigs
1596 jp common japanese encodings 1714 jp common japanese encodings
1597 jp_ext rarely used but big japanese encodings 1715 jp_ext rarely used but big japanese encodings
1598 kr korean encodings 1716 kr korean encodings
1599 1717
1600 --enable-xim 1718 --enable-xim (default: on)
1601 Add support for XIM (X Input Method) protocol. This allows using 1719 Add support for XIM (X Input Method) protocol. This allows using
1602 alternative input methods (e.g. kinput2) and will also correctly set 1720 alternative input methods (e.g. kinput2) and will also correctly set
1603 up the input for people using dead keys or compose keys. 1721 up the input for people using dead keys or compose keys.
1604 1722
1605 --enable-unicode3 1723 --enable-unicode3 (default: off)
1606 Enable direct support for displaying unicode codepoints above 65535 1724 Enable direct support for displaying unicode codepoints above 65535
1607 (the basic multilingual page). This increases storage requirements 1725 (the basic multilingual page). This increases storage requirements
1608 per character from 2 to 4 bytes. X11 fonts do not yet support these 1726 per character from 2 to 4 bytes. X11 fonts do not yet support these
1609 extra characters, but Xft does. 1727 extra characters, but Xft does.
1610 1728
1612 even without this flag, but the number of such characters is limited 1730 even without this flag, but the number of such characters is limited
1613 to a view thousand (shared with combining characters, see next 1731 to a view thousand (shared with combining characters, see next
1614 switch), and right now rxvt-unicode cannot display them 1732 switch), and right now rxvt-unicode cannot display them
1615 (input/output and cut&paste still work, though). 1733 (input/output and cut&paste still work, though).
1616 1734
1617 --enable-combining 1735 --enable-combining (default: on)
1618 Enable automatic composition of combining characters into composite 1736 Enable automatic composition of combining characters into composite
1619 characters. This is required for proper viewing of text where 1737 characters. This is required for proper viewing of text where
1620 accents are encoded as seperate unicode characters. This is done by 1738 accents are encoded as seperate unicode characters. This is done by
1621 using precomposited characters when available or creating new 1739 using precomposited characters when available or creating new
1622 pseudo-characters when no precomposed form exists. 1740 pseudo-characters when no precomposed form exists.
1623 1741
1624 Without --enable-unicode3, the number of additional precomposed 1742 Without --enable-unicode3, the number of additional precomposed
1625 characters is rather limited (2048, if this is full, rxvt will use 1743 characters is rather limited (2048, if this is full, rxvt-unicode
1626 the private use area, extending the number of combinations to 8448). 1744 will use the private use area, extending the number of combinations
1627 With --enable-unicode3, no practical limit exists. This will also 1745 to 8448). With --enable-unicode3, no practical limit exists.
1628 enable storage of characters >65535. 1746
1747 This option will also enable storage (but not display) of characters
1748 beyond plane 0 (>65535) when --enable-unicode3 was not specified.
1629 1749
1630 The combining table also contains entries for arabic presentation 1750 The combining table also contains entries for arabic presentation
1631 forms, but these are not currently used. Bug me if you want these to 1751 forms, but these are not currently used. Bug me if you want these to
1632 be used. 1752 be used (and tell me how these are to be used...).
1633 1753
1634 --enable-fallback(=CLASS) 1754 --enable-fallback(=CLASS) (default: Rxvt)
1635 When reading resource settings, also read settings for class CLASS 1755 When reading resource settings, also read settings for class CLASS.
1636 (default: Rxvt). To disable resource fallback use 1756 To disable resource fallback use --disable-fallback.
1637 --disable-fallback.
1638 1757
1639 --with-res-name=NAME 1758 --with-res-name=NAME (default: urxvt)
1640 Use the given name (default: urxvt) as default application name when 1759 Use the given name as default application name when reading
1641 reading resources. Specify --with-res-name=rxvt to replace rxvt. 1760 resources. Specify --with-res-name=rxvt to replace rxvt.
1642 1761
1643 --with-res-class=CLASS 1762 --with-res-class=CLASS /default: URxvt)
1644 Use the given class (default: URxvt) as default application class 1763 Use the given class as default application class when reading
1645 when reading resources. Specify --with-res-class=Rxvt to replace 1764 resources. Specify --with-res-class=Rxvt to replace rxvt.
1646 rxvt.
1647 1765
1648 --enable-utmp 1766 --enable-utmp (default: on)
1649 Write user and tty to utmp file (used by programs like w) at start 1767 Write user and tty to utmp file (used by programs like w) at start
1650 of rxvt execution and delete information when rxvt exits. 1768 of rxvt execution and delete information when rxvt exits.
1651 1769
1652 --enable-wtmp 1770 --enable-wtmp (default: on)
1653 Write user and tty to wtmp file (used by programs like last) at 1771 Write user and tty to wtmp file (used by programs like last) at
1654 start of rxvt execution and write logout when rxvt exits. This 1772 start of rxvt execution and write logout when rxvt exits. This
1655 option requires --enable-utmp to also be specified. 1773 option requires --enable-utmp to also be specified.
1656 1774
1657 --enable-lastlog 1775 --enable-lastlog (default: on)
1658 Write user and tty to lastlog file (used by programs like lastlogin) 1776 Write user and tty to lastlog file (used by programs like lastlogin)
1659 at start of rxvt execution. This option requires --enable-utmp to 1777 at start of rxvt execution. This option requires --enable-utmp to
1660 also be specified. 1778 also be specified.
1661 1779
1662 --enable-xpm-background 1780 --enable-xpm-background (default: off)
1663 Add support for XPM background pixmaps. 1781 Add support for XPM background pixmaps.
1664 1782
1665 --enable-transparency 1783 --enable-transparency (default: off)
1666 Add support for inheriting parent backgrounds thus giving a fake 1784 Add support for inheriting parent backgrounds thus giving a fake
1667 transparency to the term. 1785 transparency to the term.
1668 1786
1669 --enable-fading 1787 --enable-fading (default: on)
1670 Add support for fading the text when focus is lost. 1788 Add support for fading the text when focus is lost (requires
1789 "--enable-transparency").
1671 1790
1672 --enable-tinting 1791 --enable-tinting (default: on)
1673 Add support for tinting of transparent backgrounds. 1792 Add support for tinting of transparent backgrounds (requires
1793 "--enable-transparency").
1674 1794
1675 --enable-menubar 1795 --enable-menubar (default: off)
1676 Add support for our menu bar system (this interacts badly with 1796 Add support for our menu bar system (this interacts badly with
1677 dynamic locale switching currently). 1797 dynamic locale switching currently).
1678 1798
1679 --enable-rxvt-scroll 1799 --enable-rxvt-scroll (default: on)
1680 Add support for the original rxvt scrollbar. 1800 Add support for the original rxvt scrollbar.
1681 1801
1682 --enable-next-scroll 1802 --enable-next-scroll (default: on)
1683 Add support for a NeXT-like scrollbar. 1803 Add support for a NeXT-like scrollbar.
1684 1804
1685 --enable-xterm-scroll 1805 --enable-xterm-scroll (default: on)
1686 Add support for an Xterm-like scrollbar. 1806 Add support for an Xterm-like scrollbar.
1687 1807
1688 --enable-plain-scroll 1808 --enable-plain-scroll (default: on)
1689 Add support for a very unobtrusive, plain-looking scrollbar that is 1809 Add support for a very unobtrusive, plain-looking scrollbar that is
1690 the favourite of the rxvt-unicode author, having used it for many 1810 the favourite of the rxvt-unicode author, having used it for many
1691 years. 1811 years.
1692 1812
1693 --enable-half-shadow 1813 --enable-half-shadow (default: off)
1694 Make shadows on the scrollbar only half the normal width & height. 1814 Make shadows on the scrollbar only half the normal width & height.
1695 only applicable to rxvt scrollbars. 1815 only applicable to rxvt scrollbars.
1696 1816
1697 --enable-ttygid 1817 --enable-ttygid (default: off)
1698 Change tty device setting to group "tty" - only use this if your 1818 Change tty device setting to group "tty" - only use this if your
1699 system uses this type of security. 1819 system uses this type of security.
1700 1820
1701 --disable-backspace-key 1821 --disable-backspace-key
1702 Disable any handling of the backspace key by us - let the X server 1822 Removes any handling of the backspace key by us - let the X server
1703 do it. 1823 do it.
1704 1824
1705 --disable-delete-key 1825 --disable-delete-key
1706 Disable any handling of the delete key by us - let the X server do 1826 Removes any handling of the delete key by us - let the X server do
1707 it. 1827 it.
1708 1828
1709 --disable-resources 1829 --disable-resources
1710 Remove all resources checking. 1830 Removes any support for resource checking.
1711 1831
1712 --enable-xgetdefault 1832 --enable-xgetdefault
1713 Make resources checking via XGetDefault() instead of our small 1833 Make resources checking via XGetDefault() instead of our small
1714 version which only checks ~/.Xdefaults, or if that doesn't exist 1834 version which only checks ~/.Xdefaults, or if that doesn't exist
1715 then ~/.Xresources. 1835 then ~/.Xresources.
1716 1836
1717 --enable-strings 1837 Please note that nowadays, things like XIM will automatically pull
1838 in and use the full X resource manager, so the overhead of using it
1839 might be very small, if nonexistant.
1840
1841 --enable-strings (default: off)
1718 Add support for our possibly faster memset() function and other 1842 Add support for our possibly faster memset() function and other
1719 various routines, overriding your system's versions which may have 1843 various routines, overriding your system's versions which may have
1720 been hand-crafted in assembly or may require extra libraries to link 1844 been hand-crafted in assembly or may require extra libraries to link
1721 in. (this breaks ANSI-C rules and has problems on many GNU/Linux 1845 in. (this breaks ANSI-C rules and has problems on many GNU/Linux
1722 systems). 1846 systems).
1723 1847
1724 --disable-swapscreen 1848 --disable-swapscreen
1725 Remove support for swap screen. 1849 Remove support for secondary/swap screen.
1726 1850
1727 --enable-frills 1851 --enable-frills (default: on)
1728 Add support for many small features that are not essential but nice 1852 Add support for many small features that are not essential but nice
1729 to have. Normally you want this, but for very small binaries you may 1853 to have. Normally you want this, but for very small binaries you may
1730 want to disable this. 1854 want to disable this.
1731 1855
1856 A non-exhaustive list of features enabled by "--enable-frills"
1857 (possibly in combination with other switches) is:
1858
1859 MWM-hints
1860 EWMH-hints (pid, utf8 names) and protocols (ping)
1861 seperate underline colour
1862 settable border widths and borderless switch
1863 settable extra linespacing
1864 iso-14755-2 and -3, and visual feedback
1865 backindex and forwardindex escape sequence
1866 window op and some xterm/OSC escape sequences
1867 tripleclickwords
1868 settable insecure mode
1869 keysym remapping support
1870 cursor blinking and underline cursor
1871 -embed and -pty-fd options
1872
1732 --enable-iso14755 1873 --enable-iso14755 (default: on)
1733 Enable extended ISO 14755 support (see rxvt(1), or doc/rxvt.1.txt). 1874 Enable extended ISO 14755 support (see urxvt(1), or doc/rxvt.1.txt).
1734 Basic support (section 5.1) is enabled by "--enable-frills", while 1875 Basic support (section 5.1) is enabled by "--enable-frills", while
1735 support for 5.2, 5.3 and 5.4 is enabled with this switch. 1876 support for 5.2, 5.3 and 5.4 is enabled with this switch.
1736 1877
1737 --enable-keepscrolling 1878 --enable-keepscrolling (default: on)
1738 Add support for continual scrolling of the display when you hold the 1879 Add support for continual scrolling of the display when you hold the
1739 mouse button down on a scrollbar arrow. 1880 mouse button down on a scrollbar arrow.
1740 1881
1741 --enable-mousewheel 1882 --enable-mousewheel (default: on)
1742 Add support for scrolling via mouse wheel or buttons 4 & 5. 1883 Add support for scrolling via mouse wheel or buttons 4 & 5.
1743 1884
1744 --enable-slipwheeling 1885 --enable-slipwheeling (default: on)
1745 Add support for continual scrolling (using the mouse wheel as an 1886 Add support for continual scrolling (using the mouse wheel as an
1746 accelerator) while the control key is held down. This option 1887 accelerator) while the control key is held down. This option
1747 requires --enable-mousewheel to also be specified. 1888 requires --enable-mousewheel to also be specified.
1748 1889
1749 --disable-new-selection 1890 --disable-new-selection
1750 Remove support for mouse selection style like that of xterm. 1891 Remove support for mouse selection style like that of xterm.
1751 1892
1752 --enable-dmalloc 1893 --enable-dmalloc (default: off)
1753 Use Gray Watson's malloc - which is good for debugging See 1894 Use Gray Watson's malloc - which is good for debugging See
1754 http://www.letters.com/dmalloc/ for details If you use either this 1895 http://www.letters.com/dmalloc/ for details If you use either this
1755 or the next option, you may need to edit src/Makefile after 1896 or the next option, you may need to edit src/Makefile after
1756 compiling to point DINCLUDE and DLIB to the right places. 1897 compiling to point DINCLUDE and DLIB to the right places.
1757 1898
1758 You can only use either this option and the following (should you 1899 You can only use either this option and the following (should you
1759 use either) . 1900 use either) .
1760 1901
1761 --enable-dlmalloc 1902 --enable-dlmalloc (default: off)
1762 Use Doug Lea's malloc - which is good for a production version See 1903 Use Doug Lea's malloc - which is good for a production version See
1763 <http://g.oswego.edu/dl/html/malloc.html> for details. 1904 <http://g.oswego.edu/dl/html/malloc.html> for details.
1764 1905
1765 --enable-smart-resize 1906 --enable-smart-resize (default: on)
1766 Add smart growth/shrink behaviour when changing font size via from 1907 Add smart growth/shrink behaviour when changing font size via hot
1767 hot keys. This should keep in a fixed position the rxvt corner which 1908 keys. This should keep in a fixed position the urxvt corner which is
1768 is closest to a corner of the screen. 1909 closest to a corner of the screen.
1769 1910
1770 --enable-cursor-blink
1771 Add support for a blinking cursor.
1772
1773 --enable-pointer-blank 1911 --enable-pointer-blank (default: on)
1774 Add support to have the pointer disappear when typing or inactive. 1912 Add support to have the pointer disappear when typing or inactive.
1775 1913
1776 --with-name=NAME 1914 --with-name=NAME (default: urxvt)
1777 Set the basename for the installed binaries (default: urxvt, 1915 Set the basename for the installed binaries, resulting in "urxvt",
1778 resulting in urxvt, urxvtd etc.). Specify --with-name=rxvt to 1916 "urxvtd" etc.). Specify "--with-name=rxvt" to replace with "rxvt".
1779 replace rxvt.
1780 1917
1781 --with-term=NAME 1918 --with-term=NAME (default: rxvt-unicode)
1782 Change the environmental variable for the terminal to NAME (default 1919 Change the environmental variable for the terminal to NAME.
1783 "rxvt")
1784 1920
1785 --with-terminfo=PATH 1921 --with-terminfo=PATH
1786 Change the environmental variable for the path to the terminfo tree 1922 Change the environmental variable for the path to the terminfo tree
1787 to PATH. 1923 to PATH.
1788 1924

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines