1 | =head1 NAME |
1 | =head1 NAME |
2 | |
2 | |
3 | RXVT TECHNICAL REFERENCE - command sequences and background information |
3 | RXVT REFERENCE - FAQ, command sequences and other background information |
|
|
4 | |
|
|
5 | =head1 FREQUENTLY ASKED QUESTIONS |
|
|
6 | |
|
|
7 | =over 4 |
|
|
8 | |
|
|
9 | =item How do I know which rxvt-unicode version I'm using? |
|
|
10 | |
|
|
11 | The version number is displayed with the usage (-h). Also the escape |
|
|
12 | sequence C<ESC[8n> sets the window title to the version number. |
|
|
13 | |
|
|
14 | =item When I log-in to another system it tells me about missing terminfo data? |
|
|
15 | |
|
|
16 | The terminal description used by rxvt-unicode is not as widely available |
|
|
17 | as that for xterm, or even rxvt (for which the same problem often arises). |
|
|
18 | |
|
|
19 | The correct solution for this problem is to install the terminfo, this can |
|
|
20 | be done like this (with ncurses' infocmp): |
|
|
21 | |
|
|
22 | REMOTE=remotesystem.domain |
|
|
23 | infocmp rxvt-unicode | ssh $REMOTE "cat >/tmp/ti && tic /tmp/ti" |
|
|
24 | |
|
|
25 | ... or by installing rxvt-unicode normally on the remote system, |
|
|
26 | |
|
|
27 | If you cannot or do not want to do this, then you can simply set |
|
|
28 | C<TERM=rxvt> or even C<TERM=xterm>, and live with the small number of |
|
|
29 | problems arising, which includes wrong keymapping, less and different |
|
|
30 | colours and some refresh errors in fullscreen applications. It's a nice |
|
|
31 | quick-and-dirty workaround for rare cases, though. |
|
|
32 | |
|
|
33 | If you always want to do this you can either recompile rxvt-unicode with |
|
|
34 | the desired TERM value or use a resource to set it: |
|
|
35 | |
|
|
36 | URxvt.termName: rxvt |
|
|
37 | |
|
|
38 | If you don't plan to use B<rxvt> (quite common...) you could also replace |
|
|
39 | the rxvt terminfo file with the rxvt-unicode one. |
|
|
40 | |
|
|
41 | =item I need a termcap file entry. |
|
|
42 | |
|
|
43 | You could use rxvt's termcap entry with resonable results in many cases. |
|
|
44 | You can also create a termcap entry by using terminfo's infocmp program |
|
|
45 | like this: |
|
|
46 | |
|
|
47 | infocmp -C rxvt-unicode |
|
|
48 | |
|
|
49 | OR you could this termcap entry: |
|
|
50 | |
|
|
51 | rxvt-unicode|rxvt-unicode terminal (X Window System):\ |
|
|
52 | :am:bw:eo:km:mi:ms:xn:xo:\ |
|
|
53 | :co#80:it#8:li#24:\ |
|
|
54 | :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:\ |
|
|
56 | :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ae=^O:al=\E[L:\ |
|
|
57 | :as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:\ |
|
|
58 | :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:\ |
|
|
59 | :ec=\E[%dX:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:ic=\E[@:\ |
|
|
60 | :im=\E[4h:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ |
|
|
61 | :k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\ |
|
|
62 | :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ |
|
|
63 | :kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:\ |
|
|
64 | :ke=\E[?1l\E>:kh=\E[7~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ |
|
|
65 | :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:\ |
|
|
66 | :nd=\E[C:rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:\ |
|
|
67 | :st=\EH:ta=^I:te=\E[r\E[?1049l:ti=\E[?1049h:ue=\E[24m:\ |
|
|
68 | :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:\ |
|
|
69 | :vs=\E[?25h: |
|
|
70 | |
|
|
71 | =item How can I configure rxvt-unicode so that it looks similar to the original rxvt? |
|
|
72 | |
|
|
73 | Felix von Leitner says that these two lines, in your F<.Xdefaults>, will make rxvt-unicode |
|
|
74 | behave similar to the original rxvt: |
|
|
75 | |
|
|
76 | URxvt.font: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1 |
|
|
77 | URxvt.boldFont: -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-1 |
|
|
78 | |
|
|
79 | =item Rxvt-unicode does not seem to understand the selected encoding? |
|
|
80 | |
|
|
81 | =item Unicode does not seem to work? |
|
|
82 | |
|
|
83 | If you encounter strange problems like typing an accented character but |
|
|
84 | getting two unrelated other characters or similar, or if program output is |
|
|
85 | subtly garbled, then you should check your locale settings. |
|
|
86 | |
|
|
87 | Rxvt-unicode must be started with the same C<LC_CTYPE> setting as the |
|
|
88 | programs. Often rxvt-unicode is started in the C<C> locale, while the |
|
|
89 | login script running within the rxvt-unicode window changes the locale to |
|
|
90 | sth. else, e.h. C<en_GB.UTF-8>. Needless to say, this is not going to work. |
|
|
91 | |
|
|
92 | The best thing is to fix your startup environment, as you will likely run |
|
|
93 | into other problems. If nothing works you can try this in your .profile. |
|
|
94 | |
|
|
95 | printf '\e]701;%s\007' "$LC_CTYPE" |
|
|
96 | |
|
|
97 | If this doesn't work, then maybe you use a C<LC_CTYPE> specification not |
|
|
98 | supported on your systems. Some systems have a C<locale> command which |
|
|
99 | displays this. If it displays sth. like: |
|
|
100 | |
|
|
101 | locale: Cannot set LC_CTYPE to default locale: ... |
|
|
102 | |
|
|
103 | Then the locale you specified is not supported on your system. |
|
|
104 | |
|
|
105 | If nothing works and you are sure that everything is set correctly then |
|
|
106 | you will need to remember a little known fact: Some programs just don't |
|
|
107 | support locales :( |
|
|
108 | |
|
|
109 | =item Why do some characters look so much different than others? |
|
|
110 | |
|
|
111 | =item How does rxvt-unicode choose fonts? |
|
|
112 | |
|
|
113 | Most fonts do not contain the full range of Unicode, which is |
|
|
114 | fine. Chances are that the font you (or the admin/package maintainer of |
|
|
115 | your system/os) have specified does not cover all the characters you want |
|
|
116 | to display. |
|
|
117 | |
|
|
118 | B<rxvt-unicode> makes a best-effort try at finding a replacement |
|
|
119 | font. Often the result is fine, but sometimes the chosen font looks |
|
|
120 | bad. Many fonts have totally strange characters that don't resemble the |
|
|
121 | correct glyph at all, and rxvt-unicode lacks the artificial intelligence |
|
|
122 | to detect that a specific glyph is wrong: it has to believe the font that |
|
|
123 | the characters it contains indeed look correct. |
|
|
124 | |
|
|
125 | In that case, select a font of your taste and add it to the font list, |
|
|
126 | e.g.: |
|
|
127 | |
|
|
128 | @@RXVT_NAME@@ -fn basefont,font2,font3... |
|
|
129 | |
|
|
130 | When rxvt-unicode sees a character, it will first look at the base |
|
|
131 | font. If the base font does not contain the character, it will go to the |
|
|
132 | next font, and so on. Specifying your own fonts will also speed up this |
|
|
133 | search and use less resources within rxvt-unicode and the X-server. |
|
|
134 | |
|
|
135 | The only limitation is that all the fonts must not be larger than the base |
|
|
136 | font, as the base font defines the principal cell size, which must be the |
|
|
137 | same due to the way terminals work. |
|
|
138 | |
|
|
139 | =item Why do some chinese characters look so different than others? |
|
|
140 | |
|
|
141 | This is because there is a difference between script and language -- |
|
|
142 | rxvt-unicode does not know which language the text that is output |
|
|
143 | is, as it only knows the unicode character codes. If rxvt-unicode |
|
|
144 | first sees a japanese character, it might choose a japanese font for |
|
|
145 | it. Subsequent japanese characters will take that font. Now, many chinese |
|
|
146 | characters aren't represented in japanese fonts, so when the first |
|
|
147 | non-japanese character comes up, rxvt-unicode will look for a chinese font |
|
|
148 | -- unfortunately at this point, it will still use the japanese font for |
|
|
149 | japanese characters that are also chinese. |
|
|
150 | |
|
|
151 | The workaround is easy: just tag a chinese font at the end of your font |
|
|
152 | list (see the previous question). The key is to view the font list as |
|
|
153 | a preference list: If you expect more japanese, list a japanese font |
|
|
154 | first. If you expect more chinese, put a chinese font first. |
|
|
155 | |
|
|
156 | In the future it might be possible to switch preferences at runtime (the |
|
|
157 | internal data structure has no problem with using different fonts for |
|
|
158 | the same character at the same time, but no interface for this has been |
|
|
159 | designed yet). |
|
|
160 | |
|
|
161 | =item Why does rxvt-unicode sometimes leave pixel droppings? |
|
|
162 | |
|
|
163 | Most fonts were not designed for terminal use, which means that character |
|
|
164 | size varies a lot. A font that is otherwise fine for terminal use might |
|
|
165 | contain some characters that are simply too wide. Rxvt-unicode will avoid |
|
|
166 | these characters. For characters that are just "a bit" too wide a special |
|
|
167 | "careful" rendering mode is used that redraws adjacent characters. |
|
|
168 | |
|
|
169 | All of this requires that fonts do not lie about character sizes, |
|
|
170 | however: Xft fonts often draw glyphs larger than their acclaimed bounding |
|
|
171 | box, and rxvt-unicode has no way of detecting this (the correct way is to |
|
|
172 | ask for the character bounding box, which unfortunately is wrong in these |
|
|
173 | cases). |
|
|
174 | |
|
|
175 | It's not clear (to me at least), wether this is a bug in Xft, freetype, or |
|
|
176 | the respective font. If you encounter this problem there is no way to work |
|
|
177 | around this except by using a different font. |
|
|
178 | |
|
|
179 | All of this is not a problem when using X11 core fonts, as their bounding |
|
|
180 | box data is correct. |
|
|
181 | |
|
|
182 | =item My Compose (Multi_key) key is no longer working. |
|
|
183 | |
|
|
184 | The most common causes for this are that either your locale is not set |
|
|
185 | correctly, or you specified a B<preeditStyle> that is not supported by |
|
|
186 | your input method. For example, if you specified B<OverTheSpot> and |
|
|
187 | your input method (e.g. the default input method handling Compose keys) |
|
|
188 | does not support this (for instance because it is not visual), then |
|
|
189 | rxvt-unicode will continue without an input method. |
|
|
190 | |
|
|
191 | In this case either do not specify a B<preeditStyle> or specify more than |
|
|
192 | one pre-edit style, such as B<OverTheSpot,Root,None>. |
|
|
193 | |
|
|
194 | =item How can I keep rxvt-unicode from using reverse video so much? |
|
|
195 | |
|
|
196 | First of all, make sure you are running with the right terminfo |
|
|
197 | (C<urxvt>), which will get rid of most of these effects. Then make sure |
|
|
198 | you have specified colours for italic and bold, as otherwise rxvt-unicode |
|
|
199 | might use reverse video to simulate the effect: |
|
|
200 | |
|
|
201 | URxvt*colorBD: white |
|
|
202 | URxvt*colorIT: green |
|
|
203 | |
|
|
204 | =item Some programs assume totally weird colours (red instead of blue), how can I fix that? |
|
|
205 | |
|
|
206 | For some unexplainable reason, some programs (i.e. irssi) assume a very |
|
|
207 | weird colour palette when confronted with a terminal with more than the |
|
|
208 | standard 8 colours (rxvt-unicode supports 88). The right fix is, of |
|
|
209 | course, to fix these programs not to assume non-ISO colours without very |
|
|
210 | good reasons. |
|
|
211 | |
|
|
212 | In the meantime, you can either edit your C<urxvt> terminfo definition to |
|
|
213 | only claim 8 colour support or use C<TERM=rxvt>, which will fix colours |
|
|
214 | but keep you from using other rxvt-unicode features. |
|
|
215 | |
|
|
216 | =item I am on FreeBSD and rxvt-unicode does not seem to work at all. |
|
|
217 | |
|
|
218 | Rxvt-unicode requires the symbol C<__STDC_ISO_10646__> to be defined |
|
|
219 | in your compile environment, or an implementation that implements it, |
|
|
220 | wether it defines the symbol or not. C<__STDC_ISO_10646__> requires that |
|
|
221 | B<wchar_t> is represented as unicode. |
|
|
222 | |
|
|
223 | As you might have guessed, FreeBSD does neither define this symobl nor |
|
|
224 | does it support it. Instead, it uses it's own internal representation of |
|
|
225 | B<wchar_t>. This is, of course, completely legal. |
|
|
226 | |
|
|
227 | However, C<__STDC_ISO_10646__> is the only sane way to support |
|
|
228 | multi-language apps in an OS, as using a locale-dependent (and |
|
|
229 | non-standardized) representation of B<wchar_t> makes it impossible to |
|
|
230 | convert between B<wchar_t> (as used by X11 and your applications) and any |
|
|
231 | other encoding without implementing OS-specific-wrappers for each and |
|
|
232 | every locale. There simply are no APIs to convert B<wchar_t> into anything |
|
|
233 | except the current locale encoding. |
|
|
234 | |
|
|
235 | Some applications (such as the formidable B<mlterm>) work around this |
|
|
236 | by carrying their own replacement functions for character set handling |
|
|
237 | with them, and either implementing OS-dependent hacks or doing multiple |
|
|
238 | conversions (which is slow and unreliable in case the OS implements |
|
|
239 | encodings slightly different than the terminal emulator). |
|
|
240 | |
|
|
241 | The rxvt-unicode author insists that the right way to fix this is in the |
|
|
242 | system libraries once and for all, instead of forcing every app to carry |
|
|
243 | complete replacements. |
|
|
244 | |
|
|
245 | =item How does rxvt-unicode determine the encoding to use? |
|
|
246 | |
|
|
247 | =item Is there an option to switch encodings? |
|
|
248 | |
|
|
249 | Unlike some other terminals, rxvt-unicode has no encoding switch, and no |
|
|
250 | specific "utf-8" mode, such as xterm. In fact, it doesn't even know about |
|
|
251 | UTF-8 or any other encodings with respect to terminal I/O. |
|
|
252 | |
|
|
253 | The reasons is that there exists a perfectly fine mechanism for selecting |
|
|
254 | the encoding, doing I/O and (most important) communicating this to all |
|
|
255 | applications so everybody agrees on character properties such as width and |
|
|
256 | code number. This mechanism is the I<locale>. |
|
|
257 | |
|
|
258 | Rxvt-unicode uses the C<LC_CTYPE> locale category to select encoding. All |
|
|
259 | programs doing the same (that is, most) will automatically agree in the |
|
|
260 | interpretation of characters. |
|
|
261 | |
|
|
262 | Unfortunately, there is no system-independent way to select locales, nor |
|
|
263 | is there a standard on how locale specifiers will look like. |
|
|
264 | |
|
|
265 | On most systems, the content of the C<LC_CTYPE> environment variable |
|
|
266 | contains an arbitrary string which corresponds to an already-installed |
|
|
267 | locale. Common names for locales are C<en_US.UTF-8>, C<de_DE.ISO-8859-15>, |
|
|
268 | C<ja_JP.EUC-JP>, i.e. C<language_country.encoding>, but other forms |
|
|
269 | (i.e. C<de> or C<german>) are also common. |
|
|
270 | |
|
|
271 | Rxvt-unicode ignores all other locale categories, and except for |
|
|
272 | the encoding, ignores country or language-specific settings, |
|
|
273 | i.e. C<de_DE.UTF-8> and C<ja_JP.UTF-8> are the same for rxvt-unicode. |
|
|
274 | |
|
|
275 | If you want to use a specific encoding you have to make sure you start |
|
|
276 | rxvt-unicode with the correct C<LC_CTYPE> category. |
|
|
277 | |
|
|
278 | =item Can I switch locales at runtime? |
|
|
279 | |
|
|
280 | Yes, using an escape sequence. Try sth. like this, which sets |
|
|
281 | rxvt-unicode's idea of C<LC_CTYPE>. |
|
|
282 | |
|
|
283 | printf '\e]701;%s\007' ja_JP.SJIS |
|
|
284 | |
|
|
285 | See also the previous question. |
|
|
286 | |
|
|
287 | Sometimes this capability is rather handy when you want to work in one |
|
|
288 | locale (e.g. C<de_DE.UTF-8>) but some programs don't support UTF-8. For |
|
|
289 | example, I use this script to start C<xjdic>, which first switches to a |
|
|
290 | locale supported by xjdic and back later: |
|
|
291 | |
|
|
292 | printf '\e]701;%s\007' ja_JP.SJIS |
|
|
293 | xjdic -js |
|
|
294 | printf '\e]701;%s\007' de_DE.UTF-8 |
|
|
295 | |
|
|
296 | =item Can I switch the fonts at runtime? |
|
|
297 | |
|
|
298 | Yes, using an escape sequence. Try sth. like this, which has the same |
|
|
299 | effect as using the C<-fn> switch, and takes effect immediately: |
|
|
300 | |
|
|
301 | printf '\e]50;%s\007' "9x15bold,xft:Kochi Gothic" |
|
|
302 | |
|
|
303 | This is useful if you e.g. work primarily with japanese (and prefer a |
|
|
304 | japanese font), but you have to switch to chinese temporarily, where |
|
|
305 | japanese fonts would only be in your way. |
|
|
306 | |
|
|
307 | You can think of this as a kind of manual ISO-2022 switching. |
|
|
308 | |
|
|
309 | =item Why do italic characters look as if clipped? |
|
|
310 | |
|
|
311 | Many fonts have difficulties with italic characters and hinting. For |
|
|
312 | example, the otherwise very nicely hinted font C<xft:Bitstream Vera Sans |
|
|
313 | Mono> completely fails in it's italic face. A workaround is to enable |
|
|
314 | freetype autohinting, i.e. like this: |
|
|
315 | |
|
|
316 | URxvt*italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true |
|
|
317 | URxvt*boldItalicFont: xft:Bitstream Vera Sans Mono:bold:italic:autohint=true |
|
|
318 | |
|
|
319 | =item My input method wants <some encoding> but I want UTF-8, what can I do? |
|
|
320 | |
|
|
321 | You can specify separate locales for the input method and the rest of the |
|
|
322 | terminal, using the resource C<imlocale>: |
|
|
323 | |
|
|
324 | URxvt*imlocale: ja_JP.EUC-JP |
|
|
325 | |
|
|
326 | Now you can start your terminal with C<LC_CTYPE=ja_JP.UTF-8> and still |
|
|
327 | use your input method. Please note, however, that you will not be able to |
|
|
328 | input characters outside C<EUC-JP> in a normal way then, as your input |
|
|
329 | method limits you. |
|
|
330 | |
|
|
331 | =item Rxvt-unicode uses gobs of memory, how can I reduce that? |
|
|
332 | |
|
|
333 | Rxvt-unicode tries to obey the rule of not charging you for sth. you |
|
|
334 | don't use. One thing you should try is to configure out all settings that |
|
|
335 | you don't need, for example, Xft support is a resource hog by design, |
|
|
336 | when used. Compiling it out ensures that no Xft font will be loaded |
|
|
337 | accidentally when rxvt-unicode tries to find a font for your characters. |
|
|
338 | |
|
|
339 | Also, many people (me included) like large windows and even larger |
|
|
340 | scrollback buffers: Without C<--enable-unicode3>, rxvt-unicode will use |
|
|
341 | 6 bytes per screen cell. For a 160x?? window this amounts to almost a |
|
|
342 | kilobyte per line. A scrollback buffer of 10000 lines will then (if full) |
|
|
343 | use 10 Megabytes of memory. With C<--enable-unicode3> it gets worse, as |
|
|
344 | rxvt-unicode then uses 8 bytes per screen cell. |
|
|
345 | |
|
|
346 | =item Can I speed up Xft rendering somehow? |
|
|
347 | |
|
|
348 | Yes, the most obvious way to speed it up is to avoid Xft entirely, as |
|
|
349 | it is simply slow. If you still want Xft fonts you might try to disable |
|
|
350 | antialiasing (by appending C<:antialiasing=false>), which saves lots of |
|
|
351 | memory and also speeds up rendering considerably. |
|
|
352 | |
|
|
353 | =item Rxvt-unicode doesn't seem to anti-alias its fonts, what is wrong? |
|
|
354 | |
|
|
355 | Rxvt-unicode will use whatever you specify as a font. If it needs to |
|
|
356 | fall back to it's default font search list it will prefer X11 core |
|
|
357 | fonts, because they are small and fast, and then use Xft fonts. It has |
|
|
358 | antialiasing disabled for most of them, because the author thinks they |
|
|
359 | look best that way. |
|
|
360 | |
|
|
361 | If you want antialiasing, you have to specify the fonts manually. |
|
|
362 | |
|
|
363 | =item Mouse cut/paste suddenly no longer works. |
|
|
364 | |
|
|
365 | Make sure that mouse reporting is actually turned off since killing |
|
|
366 | some editors prematurely may leave the mouse in mouse report mode. I've |
|
|
367 | heard that tcsh may use mouse reporting unless it otherwise specified. A |
|
|
368 | quick check is to see if cut/paste works when the Alt or Shift keys are |
|
|
369 | depressed. See @@RXVT_NAME@@(7) |
|
|
370 | |
|
|
371 | =item What's with this bold/blink stuff? |
|
|
372 | |
|
|
373 | If no bold colour is set via C<colorBD:>, bold will invert text using the |
|
|
374 | standard foreground colour. |
|
|
375 | |
|
|
376 | For the standard background colour, blinking will actually make the |
|
|
377 | text blink when compiled with C<--enable-blinking>. with standard |
|
|
378 | colours. Without C<--enable-blinking>, the blink attribute will be |
|
|
379 | ignored. |
|
|
380 | |
|
|
381 | On ANSI colours, bold/blink attributes are used to set high-intensity |
|
|
382 | foreground/background colors. |
|
|
383 | |
|
|
384 | color0-7 are the low-intensity colors. |
|
|
385 | |
|
|
386 | color8-15 are the corresponding high-intensity colors. |
|
|
387 | |
|
|
388 | =item I don't like the screen colors. How do I change them? |
|
|
389 | |
|
|
390 | You can change the screen colors at run-time using F<~/.Xdefaults> |
|
|
391 | resources (or as long-options). |
|
|
392 | |
|
|
393 | Here are values that are supposed to resemble a VGA screen, |
|
|
394 | including the murky brown that passes for low-intensity yellow: |
|
|
395 | |
|
|
396 | Rxvt*color0: #000000 |
|
|
397 | Rxvt*color1: #A80000 |
|
|
398 | Rxvt*color2: #00A800 |
|
|
399 | Rxvt*color3: #A8A800 |
|
|
400 | Rxvt*color4: #0000A8 |
|
|
401 | Rxvt*color5: #A800A8 |
|
|
402 | Rxvt*color6: #00A8A8 |
|
|
403 | Rxvt*color7: #A8A8A8 |
|
|
404 | |
|
|
405 | Rxvt*color8: #000054 |
|
|
406 | Rxvt*color9: #FF0054 |
|
|
407 | Rxvt*color10: #00FF54 |
|
|
408 | Rxvt*color11: #FFFF54 |
|
|
409 | Rxvt*color12: #0000FF |
|
|
410 | Rxvt*color13: #FF00FF |
|
|
411 | Rxvt*color14: #00FFFF |
|
|
412 | Rxvt*color15: #FFFFFF |
|
|
413 | |
|
|
414 | =item What's with the strange Backspace/Delete key behaviour? |
|
|
415 | |
|
|
416 | Assuming that the physical Backspace key corresponds to the |
|
|
417 | BackSpace keysym (not likely for Linux ... see the following |
|
|
418 | question) there are two standard values that can be used for |
|
|
419 | Backspace: C<^H> and C<^?>. |
|
|
420 | |
|
|
421 | Historically, either value is correct, but rxvt-unicode adopts the debian |
|
|
422 | policy of using C<^?> when unsure, because it's the one only only correct |
|
|
423 | choice :). |
|
|
424 | |
|
|
425 | Rxvt-unicode tries to inherit the current stty settings and uses the value |
|
|
426 | of `erase' to guess the value for backspace. If rxvt-unicode wasn't |
|
|
427 | started from a terminal (say, from a menu or by remote shell), then the |
|
|
428 | system value of `erase', which corresponds to CERASE in <termios.h>, will |
|
|
429 | be used (which may not be the same as your stty setting). |
|
|
430 | |
|
|
431 | For starting a new rxvt-unicode: |
|
|
432 | |
|
|
433 | # use Backspace = ^H |
|
|
434 | $ stty erase ^H |
|
|
435 | $ @@RXVT_NAME@@ |
|
|
436 | |
|
|
437 | # use Backspace = ^? |
|
|
438 | $ stty erase ^? |
|
|
439 | $ @@RXVT_NAME@@ |
|
|
440 | |
|
|
441 | Toggle with "ESC[36h" / "ESC[36l" as documented in @@RXVT_NAME@@(7). |
|
|
442 | |
|
|
443 | For an existing rxvt-unicode: |
|
|
444 | |
|
|
445 | # use Backspace = ^H |
|
|
446 | $ stty erase ^H |
|
|
447 | $ echo -n "^[[36h" |
|
|
448 | |
|
|
449 | # use Backspace = ^? |
|
|
450 | $ stty erase ^? |
|
|
451 | $ echo -n "^[[36l" |
|
|
452 | |
|
|
453 | This helps satisfy some of the Backspace discrepancies that occur, but |
|
|
454 | if you use Backspace = C<^H>, make sure that the termcap/terminfo value |
|
|
455 | properly reflects that. |
|
|
456 | |
|
|
457 | The Delete key is a another casualty of the ill-defined Backspace problem. |
|
|
458 | To avoid confusion between the Backspace and Delete keys, the Delete |
|
|
459 | key has been assigned an escape sequence to match the vt100 for Execute |
|
|
460 | (ESC[3~) and is in the supplied termcap/terminfo. |
|
|
461 | |
|
|
462 | Some other Backspace problems: |
|
|
463 | |
|
|
464 | some editors use termcap/terminfo, |
|
|
465 | some editors (vim I'm told) expect Backspace = ^H, |
|
|
466 | GNU Emacs (and Emacs-like editors) use ^H for help. |
|
|
467 | |
|
|
468 | Perhaps someday this will all be resolved in a consistent manner. |
|
|
469 | |
|
|
470 | =item I don't like the key-bindings. How do I change them? |
|
|
471 | |
|
|
472 | There are some compile-time selections available via configure. Unless |
|
|
473 | you have run "configure" with the C<--disable-resources> option you can |
|
|
474 | use the `keysym' resource to alter the keystrings associated with keysym |
|
|
475 | 0xFF00 - 0xFFFF (function, cursor keys, etc). |
|
|
476 | |
|
|
477 | Here's an example for a tn3270 session started using `@@RXVT_NAME@@ -name tn3270' |
|
|
478 | |
|
|
479 | !# ----- special uses ------: |
|
|
480 | ! tn3270 login, remap function and arrow keys. |
|
|
481 | tn3270*font: *clean-bold-*-*--15-* |
|
|
482 | |
|
|
483 | ! keysym - used by rxvt only |
|
|
484 | ! Delete - ^D |
|
|
485 | tn3270*keysym.0xFFFF: \004 |
|
|
486 | |
|
|
487 | ! Home - ^A |
|
|
488 | tn3270*keysym.0xFF50: \001 |
|
|
489 | ! Left - ^B |
|
|
490 | tn3270*keysym.0xFF51: \002 |
|
|
491 | ! Up - ^P |
|
|
492 | tn3270*keysym.0xFF52: \020 |
|
|
493 | ! Right - ^F |
|
|
494 | tn3270*keysym.0xFF53: \006 |
|
|
495 | ! Down - ^N |
|
|
496 | tn3270*keysym.0xFF54: \016 |
|
|
497 | ! End - ^E |
|
|
498 | tn3270*keysym.0xFF57: \005 |
|
|
499 | |
|
|
500 | ! F1 - F12 |
|
|
501 | tn3270*keysym.0xFFBE: \e1 |
|
|
502 | tn3270*keysym.0xFFBF: \e2 |
|
|
503 | tn3270*keysym.0xFFC0: \e3 |
|
|
504 | tn3270*keysym.0xFFC1: \e4 |
|
|
505 | tn3270*keysym.0xFFC2: \e5 |
|
|
506 | tn3270*keysym.0xFFC3: \e6 |
|
|
507 | tn3270*keysym.0xFFC4: \e7 |
|
|
508 | tn3270*keysym.0xFFC5: \e8 |
|
|
509 | tn3270*keysym.0xFFC6: \e9 |
|
|
510 | tn3270*keysym.0xFFC7: \e0 |
|
|
511 | tn3270*keysym.0xFFC8: \e- |
|
|
512 | tn3270*keysym.0xFFC9: \e= |
|
|
513 | |
|
|
514 | ! map Prior/Next to F7/F8 |
|
|
515 | tn3270*keysym.0xFF55: \e7 |
|
|
516 | tn3270*keysym.0xFF56: \e8 |
|
|
517 | |
|
|
518 | =item I'm using keyboard model XXX that has extra Prior/Next/Insert keys. |
|
|
519 | How do I make use of them? For example, the Sun Keyboard type 4 |
|
|
520 | has the following mappings that rxvt-unicode doesn't recognize. |
|
|
521 | |
|
|
522 | KP_Insert == Insert |
|
|
523 | F22 == Print |
|
|
524 | F27 == Home |
|
|
525 | F29 == Prior |
|
|
526 | F33 == End |
|
|
527 | F35 == Next |
|
|
528 | |
|
|
529 | Rather than have rxvt-unicode try to accommodate all the various possible keyboard |
|
|
530 | mappings, it is better to use `xmodmap' to remap the keys as required for |
|
|
531 | your particular machine. |
|
|
532 | |
|
|
533 | =item How do I distinguish if I'm running rxvt-unicode or a regular xterm? |
|
|
534 | I need this to decide about setting colors etc. |
|
|
535 | |
|
|
536 | rxvt and rxvt-unicode always export the variable "COLORTERM", so you can |
|
|
537 | check and see if that is set. Note that several programs, JED, slrn, |
|
|
538 | Midnight Commander automatically check this variable to decide whether or |
|
|
539 | not to use color. |
|
|
540 | |
|
|
541 | =item How do I set the correct, full IP address for the DISPLAY variable? |
|
|
542 | |
|
|
543 | If you've compiled rxvt-unicode with DISPLAY_IS_IP and have enabled |
|
|
544 | insecure mode then it is possible to use the following shell script |
|
|
545 | snippets to correctly set the display. If your version of rxvt-unicode |
|
|
546 | wasn't also compiled with ESCZ_ANSWER (as assumed in these snippets) then |
|
|
547 | the COLORTERM variable can be used to distinguish rxvt-unicode from a |
|
|
548 | regular xterm. |
|
|
549 | |
|
|
550 | Courtesy of Chuck Blake <cblake@BBN.COM> with the following shell script |
|
|
551 | snippets: |
|
|
552 | |
|
|
553 | # Bourne/Korn/POSIX family of shells: |
|
|
554 | [ ${TERM:-foo} = foo ] && TERM=xterm # assume an xterm if we don't know |
|
|
555 | if [ ${TERM:-foo} = xterm ]; then |
|
|
556 | stty -icanon -echo min 0 time 15 # see if enhanced rxvt or not |
|
|
557 | echo -n '^[Z' |
|
|
558 | read term_id |
|
|
559 | stty icanon echo |
|
|
560 | if [ ""${term_id} = '^[[?1;2C' -a ${DISPLAY:-foo} = foo ]; then |
|
|
561 | echo -n '^[[7n' # query the rxvt we are in for the DISPLAY string |
|
|
562 | read DISPLAY # set it in our local shell |
|
|
563 | fi |
|
|
564 | fi |
|
|
565 | |
|
|
566 | =item How do I compile the manual pages for myself? |
|
|
567 | |
|
|
568 | You need to have a recent version of perl installed as F</usr/bin/perl>, |
|
|
569 | one that comes with F<pod2man>, F<pod2text> and F<pod2html>. Then go to |
|
|
570 | the doc subdirectory and enter C<make alldoc>. |
|
|
571 | |
|
|
572 | =back |
4 | |
573 | |
5 | =head1 SYNOPSIS |
574 | =head1 SYNOPSIS |
6 | |
575 | |
7 | # set a new font set |
576 | # set a new font set |
8 | printf '\33]50;%s\007' 9x15,xft:Kochi" Mincho" |
577 | printf '\33]50;%s\007' 9x15,xft:Kochi" Mincho" |