… | |
… | |
155 | .PP |
155 | .PP |
156 | The newest version of this document is also available on the World Wide Web at |
156 | The newest version of this document is also available on the World Wide Web at |
157 | <http://cvs.schmorp.de/browse/*checkout*/rxvt\-unicode/doc/rxvt.7.html>. |
157 | <http://cvs.schmorp.de/browse/*checkout*/rxvt\-unicode/doc/rxvt.7.html>. |
158 | .SH "FREQUENTLY ASKED QUESTIONS" |
158 | .SH "FREQUENTLY ASKED QUESTIONS" |
159 | .IX Header "FREQUENTLY ASKED QUESTIONS" |
159 | .IX Header "FREQUENTLY ASKED QUESTIONS" |
160 | .IP "The new selection selects pieces that are too big, how can I select single words?" 4 |
160 | .Sh "The new selection selects pieces that are too big, how can I select single words?" |
161 | .IX Item "The new selection selects pieces that are too big, how can I select single words?" |
161 | .IX Subsection "The new selection selects pieces that are too big, how can I select single words?" |
162 | Yes. For example, if you want to select alphanumeric words, you can use |
162 | If you want to select e.g. alphanumeric words, you can use the following |
163 | the following resource: |
163 | setting: |
164 | .Sp |
164 | .PP |
165 | .Vb 1 |
165 | .Vb 1 |
166 | \& URxvt.selection.pattern-0: ([[:word:]]+) |
166 | \& URxvt.selection.pattern-0: ([[:word:]]+) |
167 | .Ve |
167 | .Ve |
168 | .Sp |
168 | .PP |
169 | If you click more than twice, the selection will be extended |
169 | If you click more than twice, the selection will be extended |
170 | more and more. |
170 | more and more. |
171 | .Sp |
171 | .PP |
172 | To get a selection that is very similar to the old code, try this pattern: |
172 | To get a selection that is very similar to the old code, try this pattern: |
173 | .Sp |
173 | .PP |
174 | .Vb 1 |
174 | .Vb 1 |
175 | \& URxvt.selection.pattern-0: ([^"&'()*,;<=>?@[\e\e\e\e]^`{|})]+) |
175 | \& URxvt.selection.pattern-0: ([^"&'()*,;<=>?@[\e\e\e\e]^`{|})]+) |
176 | .Ve |
176 | .Ve |
177 | .Sp |
177 | .PP |
178 | Please also note that the \fILeftClick Shift-LeftClik\fR combination also |
178 | Please also note that the \fILeftClick Shift-LeftClik\fR combination also |
179 | selects words like the old code. |
179 | selects words like the old code. |
180 | .IP "I don't like the new selection/popups/hotkeys/perl, how do I change/disable it?" 4 |
180 | .Sh "I don't like the new selection/popups/hotkeys/perl, how do I change/disable it?" |
181 | .IX Item "I don't like the new selection/popups/hotkeys/perl, how do I change/disable it?" |
181 | .IX Subsection "I don't like the new selection/popups/hotkeys/perl, how do I change/disable it?" |
182 | You can disable the perl extension completely by setting the |
182 | You can disable the perl extension completely by setting the |
183 | \&\fBperl-ext-common\fR resource to the empty string, which also keeps |
183 | \&\fBperl-ext-common\fR resource to the empty string, which also keeps |
184 | rxvt-unicode from initialising perl, saving memory. |
184 | rxvt-unicode from initialising perl, saving memory. |
185 | .Sp |
185 | .PP |
186 | If you only want to disable specific features, you first have to |
186 | If you only want to disable specific features, you first have to |
187 | identify which perl extension is responsible. For this, read the section |
187 | identify which perl extension is responsible. For this, read the section |
188 | \&\fB\s-1PREPACKAGED\s0 \s-1EXTENSIONS\s0\fR in the @@RXVT_NAME@@\fIperl\fR\|(3) manpage. For |
188 | \&\fB\s-1PREPACKAGED\s0 \s-1EXTENSIONS\s0\fR in the @@RXVT_NAME@@\fIperl\fR\|(3) manpage. For |
189 | example, to disable the \fBselection-popup\fR and \fBoption-popup\fR, specify |
189 | example, to disable the \fBselection-popup\fR and \fBoption-popup\fR, specify |
190 | this \fBperl-ext-common\fR resource: |
190 | this \fBperl-ext-common\fR resource: |
191 | .Sp |
191 | .PP |
192 | .Vb 1 |
192 | .Vb 1 |
193 | \& URxvt.perl-ext-common: default,-selection-popup,-option-popup |
193 | \& URxvt.perl-ext-common: default,-selection-popup,-option-popup |
194 | .Ve |
194 | .Ve |
195 | .Sp |
195 | .PP |
196 | This will keep the default extensions, but disable the two popup |
196 | This will keep the default extensions, but disable the two popup |
197 | extensions. Some extensions can also be configured, for example, |
197 | extensions. Some extensions can also be configured, for example, |
198 | scrollback search mode is triggered by \fBM\-s\fR. You can move it to any |
198 | scrollback search mode is triggered by \fBM\-s\fR. You can move it to any |
199 | other combination either by setting the \fBsearchable-scrollback\fR resource: |
199 | other combination either by setting the \fBsearchable-scrollback\fR resource: |
200 | .Sp |
200 | .PP |
201 | .Vb 1 |
201 | .Vb 1 |
202 | \& URxvt.searchable-scrollback: CM-s |
202 | \& URxvt.searchable-scrollback: CM-s |
203 | .Ve |
203 | .Ve |
|
|
204 | .PP |
204 | .IP "The cursor moves when selecting text in the current input line, how do I switch this off?" 4 |
205 | \fIThe cursor moves when selecting text in the current input line, how do I switch this off?\fR |
205 | .IX Item "The cursor moves when selecting text in the current input line, how do I switch this off?" |
206 | .IX Subsection "The cursor moves when selecting text in the current input line, how do I switch this off?" |
206 | .PD 0 |
207 | .PP |
|
|
208 | See next entry. |
207 | .IP "During rlogin/ssh/telnet/etc. sessions, clicking near the cursor outputs strange escape sequences, how do I fix this?" 4 |
209 | .Sh "During rlogin/ssh/telnet/etc. sessions, clicking near the cursor outputs strange escape sequences, how do I fix this?" |
208 | .IX Item "During rlogin/ssh/telnet/etc. sessions, clicking near the cursor outputs strange escape sequences, how do I fix this?" |
210 | .IX Subsection "During rlogin/ssh/telnet/etc. sessions, clicking near the cursor outputs strange escape sequences, how do I fix this?" |
209 | .PD |
|
|
210 | These are caused by the \f(CW\*(C`readline\*(C'\fR perl extension. Under normal |
211 | These are caused by the \f(CW\*(C`readline\*(C'\fR perl extension. Under normal |
211 | circumstances, it will move your cursor around when you click into the |
212 | circumstances, it will move your cursor around when you click into the |
212 | line that contains it. It tries hard not to do this at the wrong moment, |
213 | line that contains it. It tries hard not to do this at the wrong moment, |
213 | but when running a program that doesn't parse cursor movements or in some |
214 | but when running a program that doesn't parse cursor movements or in some |
214 | cases during rlogin sessions, it fails to detect this properly. |
215 | cases during rlogin sessions, it fails to detect this properly. |
215 | .Sp |
216 | .PP |
216 | You can permamently switch this feature off by disabling the \f(CW\*(C`readline\*(C'\fR |
217 | You can permamently switch this feature off by disabling the \f(CW\*(C`readline\*(C'\fR |
217 | extension: |
218 | extension: |
218 | .Sp |
219 | .PP |
219 | .Vb 1 |
220 | .Vb 1 |
220 | \& URxvt.perl-ext-common: default,-readline |
221 | \& URxvt.perl-ext-common: default,-readline |
221 | .Ve |
222 | .Ve |
222 | .IP "Why doesn't rxvt-unicode read my resources?" 4 |
223 | .Sh "Why doesn't rxvt-unicode read my resources?" |
223 | .IX Item "Why doesn't rxvt-unicode read my resources?" |
224 | .IX Subsection "Why doesn't rxvt-unicode read my resources?" |
224 | Well, why, indeed? It does, in a way very similar to other X |
225 | Well, why, indeed? It does, in a way very similar to other X |
225 | applications. Most importantly, this means that if you or your \s-1OS\s0 loads |
226 | applications. Most importantly, this means that if you or your \s-1OS\s0 loads |
226 | resources into the X display (the right way to do it), rxvt-unicode will |
227 | resources into the X display (the right way to do it), rxvt-unicode will |
227 | ignore any resource files in your home directory. It will only read |
228 | ignore any resource files in your home directory. It will only read |
228 | \&\fI$HOME/.Xdefaults\fR when no resources are attached to the display. |
229 | \&\fI$HOME/.Xdefaults\fR when no resources are attached to the display. |
229 | .Sp |
230 | .PP |
230 | If you have or use an \fI$HOME/.Xresources\fR file, chances are that |
231 | If you have or use an \fI$HOME/.Xresources\fR file, chances are that |
231 | resources are loaded into your X\-server. In this case, you have to |
232 | resources are loaded into your X\-server. In this case, you have to |
232 | re-login after every change (or run \fIxrdb \-merge \f(CI$HOME\fI/.Xresources\fR). |
233 | re-login after every change (or run \fIxrdb \-merge \f(CI$HOME\fI/.Xresources\fR). |
233 | .Sp |
234 | .PP |
234 | Also consider the form resources have to use: |
235 | Also consider the form resources have to use: |
235 | .Sp |
236 | .PP |
236 | .Vb 1 |
237 | .Vb 1 |
237 | \& URxvt.resource: value |
238 | \& URxvt.resource: value |
238 | .Ve |
239 | .Ve |
239 | .Sp |
240 | .PP |
240 | If you want to use another form (there are lots of different ways of |
241 | If you want to use another form (there are lots of different ways of |
241 | specifying resources), make sure you understand wether and why it |
242 | specifying resources), make sure you understand wether and why it |
242 | works. If unsure, use the form above. |
243 | works. If unsure, use the form above. |
243 | .IP "I can't get transparency working, what am I doing wrong?" 4 |
244 | .Sh "I can't get transparency working, what am I doing wrong?" |
244 | .IX Item "I can't get transparency working, what am I doing wrong?" |
245 | .IX Subsection "I can't get transparency working, what am I doing wrong?" |
245 | First of all, transparency isn't officially supported in rxvt\-unicode, so |
246 | First of all, transparency isn't officially supported in rxvt\-unicode, so |
246 | you are mostly on your own. Do not bug the author about it (but you may |
247 | you are mostly on your own. Do not bug the author about it (but you may |
247 | bug everybody else). Also, if you can't get it working consider it a rite |
248 | bug everybody else). Also, if you can't get it working consider it a rite |
248 | of passage: ... and you failed. |
249 | of passage: ... and you failed. |
249 | .Sp |
250 | .PP |
250 | Here are four ways to get transparency. \fBDo\fR read the manpage and option |
251 | Here are four ways to get transparency. \fBDo\fR read the manpage and option |
251 | descriptions for the programs mentioned and rxvt\-unicode. Really, do it! |
252 | descriptions for the programs mentioned and rxvt\-unicode. Really, do it! |
252 | .Sp |
253 | .PP |
253 | 1. Use inheritPixmap: |
254 | 1. Use inheritPixmap: |
254 | .Sp |
255 | .PP |
255 | .Vb 2 |
256 | .Vb 2 |
256 | \& Esetroot wallpaper.jpg |
257 | \& Esetroot wallpaper.jpg |
257 | \& @@RXVT_NAME@@ -ip -tint red -sh 40 |
258 | \& @@RXVT_NAME@@ -ip -tint red -sh 40 |
258 | .Ve |
259 | .Ve |
259 | .Sp |
260 | .PP |
260 | That works. If you think it doesn't, you lack transparency and tinting |
261 | That works. If you think it doesn't, you lack transparency and tinting |
261 | support, or you are unable to read. |
262 | support, or you are unable to read. |
262 | .Sp |
263 | .PP |
263 | 2. Use a simple pixmap and emulate pseudo\-transparency. This enables you |
264 | 2. Use a simple pixmap and emulate pseudo\-transparency. This enables you |
264 | to use effects other than tinting and shading: Just shade/tint/whatever |
265 | to use effects other than tinting and shading: Just shade/tint/whatever |
265 | your picture with gimp: |
266 | your picture with gimp: |
266 | .Sp |
267 | .PP |
267 | .Vb 2 |
268 | .Vb 2 |
268 | \& convert wallpaper.jpg -blur 20x20 -modulate 30 background.xpm |
269 | \& convert wallpaper.jpg -blur 20x20 -modulate 30 background.xpm |
269 | \& @@RXVT_NAME@@ -pixmap background.xpm -pe automove-background |
270 | \& @@RXVT_NAME@@ -pixmap background.xpm -pe automove-background |
270 | .Ve |
271 | .Ve |
271 | .Sp |
272 | .PP |
272 | That works. If you think it doesn't, you lack \s-1XPM\s0 and Perl support, or you |
273 | That works. If you think it doesn't, you lack \s-1XPM\s0 and Perl support, or you |
273 | are unable to read. |
274 | are unable to read. |
274 | .Sp |
275 | .PP |
275 | 3. Use an \s-1ARGB\s0 visual: |
276 | 3. Use an \s-1ARGB\s0 visual: |
276 | .Sp |
277 | .PP |
277 | .Vb 1 |
278 | .Vb 1 |
278 | \& @@RXVT_NAME@@ -depth 32 -fg grey90 -bg rgba:0000/0000/4444/cccc |
279 | \& @@RXVT_NAME@@ -depth 32 -fg grey90 -bg rgba:0000/0000/4444/cccc |
279 | .Ve |
280 | .Ve |
280 | .Sp |
281 | .PP |
281 | This requires \s-1XFT\s0 support, and the support of your X\-server. If that |
282 | This requires \s-1XFT\s0 support, and the support of your X\-server. If that |
282 | doesn't work for you, blame Xorg and Keith Packard. \s-1ARGB\s0 visuals aren't |
283 | doesn't work for you, blame Xorg and Keith Packard. \s-1ARGB\s0 visuals aren't |
283 | there yet, no matter what they claim. Rxvt-Unicode contains the neccessary |
284 | there yet, no matter what they claim. Rxvt-Unicode contains the neccessary |
284 | bugfixes and workarounds for Xft and Xlib to make it work, but that |
285 | bugfixes and workarounds for Xft and Xlib to make it work, but that |
285 | doesn't mean that your \s-1WM\s0 has the required kludges in place. |
286 | doesn't mean that your \s-1WM\s0 has the required kludges in place. |
286 | .Sp |
287 | .PP |
287 | 4. Use xcompmgr and let it do the job: |
288 | 4. Use xcompmgr and let it do the job: |
288 | .Sp |
289 | .PP |
289 | .Vb 2 |
290 | .Vb 2 |
290 | \& xprop -frame -f _NET_WM_WINDOW_OPACITY 32c \e |
291 | \& xprop -frame -f _NET_WM_WINDOW_OPACITY 32c \e |
291 | \& -set _NET_WM_WINDOW_OPACITY 0xc0000000 |
292 | \& -set _NET_WM_WINDOW_OPACITY 0xc0000000 |
292 | .Ve |
293 | .Ve |
293 | .Sp |
294 | .PP |
294 | Then click on a window you want to make transparent. Replace \f(CW0xc0000000\fR |
295 | Then click on a window you want to make transparent. Replace \f(CW0xc0000000\fR |
295 | by other values to change the degree of opacity. If it doesn't work and |
296 | by other values to change the degree of opacity. If it doesn't work and |
296 | your server crashes, you got to keep the pieces. |
297 | your server crashes, you got to keep the pieces. |
297 | .IP "Isn't rxvt supposed to be small? Don't all those features bloat?" 4 |
298 | .Sh "Isn't rxvt supposed to be small? Don't all those features bloat?" |
298 | .IX Item "Isn't rxvt supposed to be small? Don't all those features bloat?" |
299 | .IX Subsection "Isn't rxvt supposed to be small? Don't all those features bloat?" |
299 | I often get asked about this, and I think, no, they didn't cause extra |
300 | I often get asked about this, and I think, no, they didn't cause extra |
300 | bloat. If you compare a minimal rxvt and a minimal urxvt, you can see |
301 | bloat. If you compare a minimal rxvt and a minimal urxvt, you can see |
301 | that the urxvt binary is larger (due to some encoding tables always being |
302 | that the urxvt binary is larger (due to some encoding tables always being |
302 | compiled in), but it actually uses less memory (\s-1RSS\s0) after startup. Even |
303 | compiled in), but it actually uses less memory (\s-1RSS\s0) after startup. Even |
303 | with \f(CW\*(C`\-\-disable\-everything\*(C'\fR, this comparison is a bit unfair, as many |
304 | with \f(CW\*(C`\-\-disable\-everything\*(C'\fR, this comparison is a bit unfair, as many |
304 | features unique to urxvt (locale, encoding conversion, iso14755 etc.) are |
305 | features unique to urxvt (locale, encoding conversion, iso14755 etc.) are |
305 | already in use in this mode. |
306 | already in use in this mode. |
306 | .Sp |
307 | .PP |
307 | .Vb 3 |
308 | .Vb 3 |
308 | \& text data bss drs rss filename |
309 | \& text data bss drs rss filename |
309 | \& 98398 1664 24 15695 1824 rxvt --disable-everything |
310 | \& 98398 1664 24 15695 1824 rxvt --disable-everything |
310 | \& 188985 9048 66616 18222 1788 urxvt --disable-everything |
311 | \& 188985 9048 66616 18222 1788 urxvt --disable-everything |
311 | .Ve |
312 | .Ve |
312 | .Sp |
313 | .PP |
313 | When you \f(CW\*(C`\-\-enable\-everything\*(C'\fR (which _is_ unfair, as this involves xft |
314 | When you \f(CW\*(C`\-\-enable\-everything\*(C'\fR (which _is_ unfair, as this involves xft |
314 | and full locale/XIM support which are quite bloaty inside libX11 and my |
315 | and full locale/XIM support which are quite bloaty inside libX11 and my |
315 | libc), the two diverge, but not unreasnobaly so. |
316 | libc), the two diverge, but not unreasnobaly so. |
316 | .Sp |
317 | .PP |
317 | .Vb 3 |
318 | .Vb 3 |
318 | \& text data bss drs rss filename |
319 | \& text data bss drs rss filename |
319 | \& 163431 2152 24 20123 2060 rxvt --enable-everything |
320 | \& 163431 2152 24 20123 2060 rxvt --enable-everything |
320 | \& 1035683 49680 66648 29096 3680 urxvt --enable-everything |
321 | \& 1035683 49680 66648 29096 3680 urxvt --enable-everything |
321 | .Ve |
322 | .Ve |
322 | .Sp |
323 | .PP |
323 | The very large size of the text section is explained by the east-asian |
324 | The very large size of the text section is explained by the east-asian |
324 | encoding tables, which, if unused, take up disk space but nothing else |
325 | encoding tables, which, if unused, take up disk space but nothing else |
325 | and can be compiled out unless you rely on X11 core fonts that use those |
326 | and can be compiled out unless you rely on X11 core fonts that use those |
326 | encodings. The \s-1BSS\s0 size comes from the 64k emergency buffer that my c++ |
327 | encodings. The \s-1BSS\s0 size comes from the 64k emergency buffer that my c++ |
327 | compiler allocates (but of course doesn't use unless you are out of |
328 | compiler allocates (but of course doesn't use unless you are out of |
328 | memory). Also, using an xft font instead of a core font immediately adds a |
329 | memory). Also, using an xft font instead of a core font immediately adds a |
329 | few megabytes of \s-1RSS\s0. Xft indeed is responsible for a lot of \s-1RSS\s0 even when |
330 | few megabytes of \s-1RSS\s0. Xft indeed is responsible for a lot of \s-1RSS\s0 even when |
330 | not used. |
331 | not used. |
331 | .Sp |
332 | .PP |
332 | Of course, due to every character using two or four bytes instead of one, |
333 | Of course, due to every character using two or four bytes instead of one, |
333 | a large scrollback buffer will ultimately make rxvt-unicode use more |
334 | a large scrollback buffer will ultimately make rxvt-unicode use more |
334 | memory. |
335 | memory. |
335 | .Sp |
336 | .PP |
336 | Compared to e.g. Eterm (5112k), aterm (3132k) and xterm (4680k), this |
337 | Compared to e.g. Eterm (5112k), aterm (3132k) and xterm (4680k), this |
337 | still fares rather well. And compared to some monsters like gnome-terminal |
338 | still fares rather well. And compared to some monsters like gnome-terminal |
338 | (21152k + extra 4204k in separate processes) or konsole (22200k + extra |
339 | (21152k + extra 4204k in separate processes) or konsole (22200k + extra |
339 | 43180k in daemons that stay around after exit, plus half a minute of |
340 | 43180k in daemons that stay around after exit, plus half a minute of |
340 | startup time, including the hundreds of warnings it spits out), it fares |
341 | startup time, including the hundreds of warnings it spits out), it fares |
341 | extremely well *g*. |
342 | extremely well *g*. |
342 | .IP "Why \*(C+, isn't that unportable/bloated/uncool?" 4 |
343 | .Sh "Why \*(C+, isn't that unportable/bloated/uncool?" |
343 | .IX Item "Why , isn't that unportable/bloated/uncool?" |
344 | .IX Subsection "Why , isn't that unportable/bloated/uncool?" |
344 | Is this a question? :) It comes up very often. The simple answer is: I had |
345 | Is this a question? :) It comes up very often. The simple answer is: I had |
345 | to write it, and \*(C+ allowed me to write and maintain it in a fraction |
346 | to write it, and \*(C+ allowed me to write and maintain it in a fraction |
346 | of the time and effort (which is a scarce resource for me). Put even |
347 | of the time and effort (which is a scarce resource for me). Put even |
347 | shorter: It simply wouldn't exist without \*(C+. |
348 | shorter: It simply wouldn't exist without \*(C+. |
348 | .Sp |
349 | .PP |
349 | My personal stance on this is that \*(C+ is less portable than C, but in |
350 | My personal stance on this is that \*(C+ is less portable than C, but in |
350 | the case of rxvt-unicode this hardly matters, as its portability limits |
351 | the case of rxvt-unicode this hardly matters, as its portability limits |
351 | are defined by things like X11, pseudo terminals, locale support and unix |
352 | are defined by things like X11, pseudo terminals, locale support and unix |
352 | domain sockets, which are all less portable than \*(C+ itself. |
353 | domain sockets, which are all less portable than \*(C+ itself. |
353 | .Sp |
354 | .PP |
354 | Regarding the bloat, see the above question: It's easy to write programs |
355 | Regarding the bloat, see the above question: It's easy to write programs |
355 | in C that use gobs of memory, an certainly possible to write programs in |
356 | in C that use gobs of memory, an certainly possible to write programs in |
356 | \&\*(C+ that don't. \*(C+ also often comes with large libraries, but this is |
357 | \&\*(C+ that don't. \*(C+ also often comes with large libraries, but this is |
357 | not necessarily the case with \s-1GCC\s0. Here is what rxvt links against on my |
358 | not necessarily the case with \s-1GCC\s0. Here is what rxvt links against on my |
358 | system with a minimal config: |
359 | system with a minimal config: |
359 | .Sp |
360 | .PP |
360 | .Vb 4 |
361 | .Vb 4 |
361 | \& libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00002aaaaabc3000) |
362 | \& libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00002aaaaabc3000) |
362 | \& libc.so.6 => /lib/libc.so.6 (0x00002aaaaadde000) |
363 | \& libc.so.6 => /lib/libc.so.6 (0x00002aaaaadde000) |
363 | \& libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab01d000) |
364 | \& libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab01d000) |
364 | \& /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000) |
365 | \& /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000) |
365 | .Ve |
366 | .Ve |
366 | .Sp |
367 | .PP |
367 | And here is rxvt\-unicode: |
368 | And here is rxvt\-unicode: |
368 | .Sp |
369 | .PP |
369 | .Vb 5 |
370 | .Vb 5 |
370 | \& libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00002aaaaabc3000) |
371 | \& libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00002aaaaabc3000) |
371 | \& libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00002aaaaada2000) |
372 | \& libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00002aaaaada2000) |
372 | \& libc.so.6 => /lib/libc.so.6 (0x00002aaaaaeb0000) |
373 | \& libc.so.6 => /lib/libc.so.6 (0x00002aaaaaeb0000) |
373 | \& libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab0ee000) |
374 | \& libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab0ee000) |
374 | \& /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000) |
375 | \& /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000) |
375 | .Ve |
376 | .Ve |
376 | .Sp |
377 | .PP |
377 | No large bloated libraries (of course, none were linked in statically), |
378 | No large bloated libraries (of course, none were linked in statically), |
378 | except maybe libX11 :) |
379 | except maybe libX11 :) |
379 | .IP "Does it support tabs, can I have a tabbed rxvt\-unicode?" 4 |
380 | .Sh "Does it support tabs, can I have a tabbed rxvt\-unicode?" |
380 | .IX Item "Does it support tabs, can I have a tabbed rxvt-unicode?" |
381 | .IX Subsection "Does it support tabs, can I have a tabbed rxvt-unicode?" |
381 | Beginning with version 7.3, there is a perl extension that implements a |
382 | Beginning with version 7.3, there is a perl extension that implements a |
382 | simple tabbed terminal. It is installed by default, so any of these should |
383 | simple tabbed terminal. It is installed by default, so any of these should |
383 | give you tabs: |
384 | give you tabs: |
384 | .Sp |
385 | .PP |
385 | .Vb 1 |
386 | .Vb 1 |
386 | \& @@RXVT_NAME@@ -pe tabbed |
387 | \& @@RXVT_NAME@@ -pe tabbed |
387 | .Ve |
388 | .Ve |
388 | .Sp |
389 | .PP |
389 | .Vb 1 |
390 | .Vb 1 |
390 | \& URxvt.perl-ext-common: default,tabbed |
391 | \& URxvt.perl-ext-common: default,tabbed |
391 | .Ve |
392 | .Ve |
392 | .Sp |
393 | .PP |
393 | It will also work fine with tabbing functionality of many window managers |
394 | It will also work fine with tabbing functionality of many window managers |
394 | or similar tabbing programs, and its embedding-features allow it to be |
395 | or similar tabbing programs, and its embedding-features allow it to be |
395 | embedded into other programs, as witnessed by \fIdoc/rxvt\-tabbed\fR or |
396 | embedded into other programs, as witnessed by \fIdoc/rxvt\-tabbed\fR or |
396 | the upcoming \f(CW\*(C`Gtk2::URxvt\*(C'\fR perl module, which features a tabbed urxvt |
397 | the upcoming \f(CW\*(C`Gtk2::URxvt\*(C'\fR perl module, which features a tabbed urxvt |
397 | (murxvt) terminal as an example embedding application. |
398 | (murxvt) terminal as an example embedding application. |
398 | .IP "How do I know which rxvt-unicode version I'm using?" 4 |
399 | .Sh "How do I know which rxvt-unicode version I'm using?" |
399 | .IX Item "How do I know which rxvt-unicode version I'm using?" |
400 | .IX Subsection "How do I know which rxvt-unicode version I'm using?" |
400 | The version number is displayed with the usage (\-h). Also the escape |
401 | The version number is displayed with the usage (\-h). Also the escape |
401 | sequence \f(CW\*(C`ESC [ 8 n\*(C'\fR sets the window title to the version number. When |
402 | sequence \f(CW\*(C`ESC [ 8 n\*(C'\fR sets the window title to the version number. When |
402 | using the @@RXVT_NAME@@c client, the version displayed is that of the |
403 | using the @@RXVT_NAME@@c client, the version displayed is that of the |
403 | daemon. |
404 | daemon. |
404 | .IP "I am using Debian GNU/Linux and have a problem..." 4 |
405 | .Sh "I am using Debian GNU/Linux and have a problem..." |
405 | .IX Item "I am using Debian GNU/Linux and have a problem..." |
406 | .IX Subsection "I am using Debian GNU/Linux and have a problem..." |
406 | The Debian GNU/Linux package of rxvt-unicode in sarge contains large |
407 | The Debian GNU/Linux package of rxvt-unicode in sarge contains large |
407 | patches that considerably change the behaviour of rxvt-unicode (but |
408 | patches that considerably change the behaviour of rxvt-unicode (but |
408 | unfortunately this notice has been removed). Before reporting a bug to |
409 | unfortunately this notice has been removed). Before reporting a bug to |
409 | the original rxvt-unicode author please download and install the genuine |
410 | the original rxvt-unicode author please download and install the genuine |
410 | version (<http://software.schmorp.de#rxvt\-unicode>) and try to reproduce |
411 | version (<http://software.schmorp.de#rxvt\-unicode>) and try to reproduce |
411 | the problem. If you cannot, chances are that the problems are specific to |
412 | the problem. If you cannot, chances are that the problems are specific to |
412 | Debian GNU/Linux, in which case it should be reported via the Debian Bug |
413 | Debian GNU/Linux, in which case it should be reported via the Debian Bug |
413 | Tracking System (use \f(CW\*(C`reportbug\*(C'\fR to report the bug). |
414 | Tracking System (use \f(CW\*(C`reportbug\*(C'\fR to report the bug). |
414 | .Sp |
415 | .PP |
415 | For other problems that also affect the Debian package, you can and |
416 | For other problems that also affect the Debian package, you can and |
416 | probably should use the Debian \s-1BTS\s0, too, because, after all, it's also a |
417 | probably should use the Debian \s-1BTS\s0, too, because, after all, it's also a |
417 | bug in the Debian version and it serves as a reminder for other users that |
418 | bug in the Debian version and it serves as a reminder for other users that |
418 | might encounter the same issue. |
419 | might encounter the same issue. |
419 | .IP "I am maintaining rxvt-unicode for distribution/OS \s-1XXX\s0, any recommendation?" 4 |
420 | .Sh "I am maintaining rxvt-unicode for distribution/OS \s-1XXX\s0, any recommendation?" |
420 | .IX Item "I am maintaining rxvt-unicode for distribution/OS XXX, any recommendation?" |
421 | .IX Subsection "I am maintaining rxvt-unicode for distribution/OS XXX, any recommendation?" |
421 | You should build one binary with the default options. \fIconfigure\fR |
422 | You should build one binary with the default options. \fIconfigure\fR |
422 | now enables most useful options, and the trend goes to making them |
423 | now enables most useful options, and the trend goes to making them |
423 | runtime\-switchable, too, so there is usually no drawback to enbaling them, |
424 | runtime\-switchable, too, so there is usually no drawback to enbaling them, |
424 | except higher disk and possibly memory usage. The perl interpreter should |
425 | except higher disk and possibly memory usage. The perl interpreter should |
425 | be enabled, as important functionality (menus, selection, likely more in |
426 | be enabled, as important functionality (menus, selection, likely more in |
426 | the future) depends on it. |
427 | the future) depends on it. |
427 | .Sp |
428 | .PP |
428 | You should not overwrite the \f(CW\*(C`perl\-ext\-common\*(C'\fR snd \f(CW\*(C`perl\-ext\*(C'\fR resources |
429 | You should not overwrite the \f(CW\*(C`perl\-ext\-common\*(C'\fR snd \f(CW\*(C`perl\-ext\*(C'\fR resources |
429 | system-wide (except maybe with \f(CW\*(C`defaults\*(C'\fR). This will result in useful |
430 | system-wide (except maybe with \f(CW\*(C`defaults\*(C'\fR). This will result in useful |
430 | behaviour. If your distribution aims at low memory, add an empty |
431 | behaviour. If your distribution aims at low memory, add an empty |
431 | \&\f(CW\*(C`perl\-ext\-common\*(C'\fR resource to the app-defaults file. This will keep the |
432 | \&\f(CW\*(C`perl\-ext\-common\*(C'\fR resource to the app-defaults file. This will keep the |
432 | perl interpreter disabled until the user enables it. |
433 | perl interpreter disabled until the user enables it. |
433 | .Sp |
434 | .PP |
434 | If you can/want build more binaries, I recommend building a minimal |
435 | If you can/want build more binaries, I recommend building a minimal |
435 | one with \f(CW\*(C`\-\-disable\-everything\*(C'\fR (very useful) and a maximal one with |
436 | one with \f(CW\*(C`\-\-disable\-everything\*(C'\fR (very useful) and a maximal one with |
436 | \&\f(CW\*(C`\-\-enable\-everything\*(C'\fR (less useful, it will be very big due to a lot of |
437 | \&\f(CW\*(C`\-\-enable\-everything\*(C'\fR (less useful, it will be very big due to a lot of |
437 | encodings built-in that increase download times and are rarely used). |
438 | encodings built-in that increase download times and are rarely used). |
438 | .IP "I need to make it setuid/setgid to support utmp/ptys on my \s-1OS\s0, is this safe?" 4 |
439 | .Sh "I need to make it setuid/setgid to support utmp/ptys on my \s-1OS\s0, is this safe?" |
439 | .IX Item "I need to make it setuid/setgid to support utmp/ptys on my OS, is this safe?" |
440 | .IX Subsection "I need to make it setuid/setgid to support utmp/ptys on my OS, is this safe?" |
440 | It should be, starting with release 7.1. You are encouraged to properly |
441 | It should be, starting with release 7.1. You are encouraged to properly |
441 | install urxvt with privileges necessary for your \s-1OS\s0 now. |
442 | install urxvt with privileges necessary for your \s-1OS\s0 now. |
442 | .Sp |
443 | .PP |
443 | When rxvt-unicode detects that it runs setuid or setgid, it will fork |
444 | When rxvt-unicode detects that it runs setuid or setgid, it will fork |
444 | into a helper process for privileged operations (pty handling on some |
445 | into a helper process for privileged operations (pty handling on some |
445 | systems, utmp/wtmp/lastlog handling on others) and drop privileges |
446 | systems, utmp/wtmp/lastlog handling on others) and drop privileges |
446 | immediately. This is much safer than most other terminals that keep |
447 | immediately. This is much safer than most other terminals that keep |
447 | privileges while running (but is more relevant to urxvt, as it contains |
448 | privileges while running (but is more relevant to urxvt, as it contains |
448 | things as perl interpreters, which might be \*(L"helpful\*(R" to attackers). |
449 | things as perl interpreters, which might be \*(L"helpful\*(R" to attackers). |
449 | .Sp |
450 | .PP |
450 | This forking is done as the very first within \fImain()\fR, which is very early |
451 | This forking is done as the very first within \fImain()\fR, which is very early |
451 | and reduces possible bugs to initialisation code run before \fImain()\fR, or |
452 | and reduces possible bugs to initialisation code run before \fImain()\fR, or |
452 | things like the dynamic loader of your system, which should result in very |
453 | things like the dynamic loader of your system, which should result in very |
453 | little risk. |
454 | little risk. |
454 | .IP "When I log-in to another system it tells me about missing terminfo data?" 4 |
455 | .Sh "When I log-in to another system it tells me about missing terminfo data?" |
455 | .IX Item "When I log-in to another system it tells me about missing terminfo data?" |
456 | .IX Subsection "When I log-in to another system it tells me about missing terminfo data?" |
456 | The terminal description used by rxvt-unicode is not as widely available |
457 | The terminal description used by rxvt-unicode is not as widely available |
457 | as that for xterm, or even rxvt (for which the same problem often arises). |
458 | as that for xterm, or even rxvt (for which the same problem often arises). |
458 | .Sp |
459 | .PP |
459 | The correct solution for this problem is to install the terminfo, this can |
460 | The correct solution for this problem is to install the terminfo, this can |
460 | be done like this (with ncurses' infocmp): |
461 | be done like this (with ncurses' infocmp): |
461 | .Sp |
462 | .PP |
462 | .Vb 2 |
463 | .Vb 2 |
463 | \& REMOTE=remotesystem.domain |
464 | \& REMOTE=remotesystem.domain |
464 | \& infocmp rxvt-unicode | ssh $REMOTE "cat >/tmp/ti && tic /tmp/ti" |
465 | \& infocmp rxvt-unicode | ssh $REMOTE "cat >/tmp/ti && tic /tmp/ti" |
465 | .Ve |
466 | .Ve |
466 | .Sp |
467 | .PP |
467 | \&... or by installing rxvt-unicode normally on the remote system, |
468 | \&... or by installing rxvt-unicode normally on the remote system, |
468 | .Sp |
469 | .PP |
469 | If you cannot or do not want to do this, then you can simply set |
470 | If you cannot or do not want to do this, then you can simply set |
470 | \&\f(CW\*(C`TERM=rxvt\*(C'\fR or even \f(CW\*(C`TERM=xterm\*(C'\fR, and live with the small number of |
471 | \&\f(CW\*(C`TERM=rxvt\*(C'\fR or even \f(CW\*(C`TERM=xterm\*(C'\fR, and live with the small number of |
471 | problems arising, which includes wrong keymapping, less and different |
472 | problems arising, which includes wrong keymapping, less and different |
472 | colours and some refresh errors in fullscreen applications. It's a nice |
473 | colours and some refresh errors in fullscreen applications. It's a nice |
473 | quick-and-dirty workaround for rare cases, though. |
474 | quick-and-dirty workaround for rare cases, though. |
474 | .Sp |
475 | .PP |
475 | If you always want to do this (and are fine with the consequences) you |
476 | If you always want to do this (and are fine with the consequences) you |
476 | can either recompile rxvt-unicode with the desired \s-1TERM\s0 value or use a |
477 | can either recompile rxvt-unicode with the desired \s-1TERM\s0 value or use a |
477 | resource to set it: |
478 | resource to set it: |
478 | .Sp |
479 | .PP |
479 | .Vb 1 |
480 | .Vb 1 |
480 | \& URxvt.termName: rxvt |
481 | \& URxvt.termName: rxvt |
481 | .Ve |
482 | .Ve |
482 | .Sp |
483 | .PP |
483 | If you don't plan to use \fBrxvt\fR (quite common...) you could also replace |
484 | If you don't plan to use \fBrxvt\fR (quite common...) you could also replace |
484 | the rxvt terminfo file with the rxvt-unicode one. |
485 | the rxvt terminfo file with the rxvt-unicode one. |
485 | .ie n .IP """tic"" outputs some error when compiling the terminfo entry." 4 |
486 | .ie n .Sh """tic"" outputs some error when compiling the terminfo entry." |
486 | .el .IP "\f(CWtic\fR outputs some error when compiling the terminfo entry." 4 |
487 | .el .Sh "\f(CWtic\fP outputs some error when compiling the terminfo entry." |
487 | .IX Item "tic outputs some error when compiling the terminfo entry." |
488 | .IX Subsection "tic outputs some error when compiling the terminfo entry." |
488 | Most likely it's the empty definition for \f(CW\*(C`enacs=\*(C'\fR. Just replace it by |
489 | Most likely it's the empty definition for \f(CW\*(C`enacs=\*(C'\fR. Just replace it by |
489 | \&\f(CW\*(C`enacs=\eE[0@\*(C'\fR and try again. |
490 | \&\f(CW\*(C`enacs=\eE[0@\*(C'\fR and try again. |
490 | .ie n .IP """bash""'s readline does not work correctly under @@RXVT_NAME@@." 4 |
491 | .ie n .Sh """bash""'s readline does not work correctly under @@RXVT_NAME@@." |
491 | .el .IP "\f(CWbash\fR's readline does not work correctly under @@RXVT_NAME@@." 4 |
492 | .el .Sh "\f(CWbash\fP's readline does not work correctly under @@RXVT_NAME@@." |
492 | .IX Item "bash's readline does not work correctly under @@RXVT_NAME@@." |
493 | .IX Subsection "bash's readline does not work correctly under @@RXVT_NAME@@." |
493 | .PD 0 |
494 | See next entry. |
494 | .IP "I need a termcap file entry." 4 |
495 | .Sh "I need a termcap file entry." |
495 | .IX Item "I need a termcap file entry." |
496 | .IX Subsection "I need a termcap file entry." |
496 | .PD |
|
|
497 | One reason you might want this is that some distributions or operating |
497 | One reason you might want this is that some distributions or operating |
498 | systems still compile some programs using the long-obsoleted termcap |
498 | systems still compile some programs using the long-obsoleted termcap |
499 | library (Fedora Core's bash is one example) and rely on a termcap entry |
499 | library (Fedora Core's bash is one example) and rely on a termcap entry |
500 | for \f(CW\*(C`rxvt\-unicode\*(C'\fR. |
500 | for \f(CW\*(C`rxvt\-unicode\*(C'\fR. |
501 | .Sp |
501 | .PP |
502 | You could use rxvt's termcap entry with resonable results in many cases. |
502 | You could use rxvt's termcap entry with resonable results in many cases. |
503 | You can also create a termcap entry by using terminfo's infocmp program |
503 | You can also create a termcap entry by using terminfo's infocmp program |
504 | like this: |
504 | like this: |
505 | .Sp |
505 | .PP |
506 | .Vb 1 |
506 | .Vb 1 |
507 | \& infocmp -C rxvt-unicode |
507 | \& infocmp -C rxvt-unicode |
508 | .Ve |
508 | .Ve |
509 | .Sp |
509 | .PP |
510 | Or you could use this termcap entry, generated by the command above: |
510 | Or you could use this termcap entry, generated by the command above: |
511 | .Sp |
511 | .PP |
512 | .Vb 20 |
512 | .Vb 20 |
513 | \& rxvt-unicode|rxvt-unicode terminal (X Window System):\e |
513 | \& rxvt-unicode|rxvt-unicode terminal (X Window System):\e |
514 | \& :am:bw:eo:km:mi:ms:xn:xo:\e |
514 | \& :am:bw:eo:km:mi:ms:xn:xo:\e |
515 | \& :co#80:it#8:li#24:lm#0:\e |
515 | \& :co#80:it#8:li#24:lm#0:\e |
516 | \& :AL=\eE[%dL:DC=\eE[%dP:DL=\eE[%dM:DO=\eE[%dB:IC=\eE[%d@:\e |
516 | \& :AL=\eE[%dL:DC=\eE[%dP:DL=\eE[%dM:DO=\eE[%dB:IC=\eE[%d@:\e |
… | |
… | |
529 | \& :sc=\eE7:se=\eE[27m:sf=^J:so=\eE[7m:sr=\eEM:st=\eEH:ta=^I:\e |
529 | \& :sc=\eE7:se=\eE[27m:sf=^J:so=\eE[7m:sr=\eEM:st=\eEH:ta=^I:\e |
530 | \& :te=\eE[r\eE[?1049l:ti=\eE[?1049h:ue=\eE[24m:up=\eE[A:\e |
530 | \& :te=\eE[r\eE[?1049l:ti=\eE[?1049h:ue=\eE[24m:up=\eE[A:\e |
531 | \& :us=\eE[4m:vb=\eE[?5h\eE[?5l:ve=\eE[?25h:vi=\eE[?25l:\e |
531 | \& :us=\eE[4m:vb=\eE[?5h\eE[?5l:ve=\eE[?25h:vi=\eE[?25l:\e |
532 | \& :vs=\eE[?25h: |
532 | \& :vs=\eE[?25h: |
533 | .Ve |
533 | .Ve |
534 | .ie n .IP "Why does ""ls"" no longer have coloured output?" 4 |
534 | .ie n .Sh "Why does ""ls"" no longer have coloured output?" |
535 | .el .IP "Why does \f(CWls\fR no longer have coloured output?" 4 |
535 | .el .Sh "Why does \f(CWls\fP no longer have coloured output?" |
536 | .IX Item "Why does ls no longer have coloured output?" |
536 | .IX Subsection "Why does ls no longer have coloured output?" |
537 | The \f(CW\*(C`ls\*(C'\fR in the \s-1GNU\s0 coreutils unfortunately doesn't use terminfo to |
537 | The \f(CW\*(C`ls\*(C'\fR in the \s-1GNU\s0 coreutils unfortunately doesn't use terminfo to |
538 | decide wether a terminal has colour, but uses it's own configuration |
538 | decide wether a terminal has colour, but uses it's own configuration |
539 | file. Needless to say, \f(CW\*(C`rxvt\-unicode\*(C'\fR is not in it's default file (among |
539 | file. Needless to say, \f(CW\*(C`rxvt\-unicode\*(C'\fR is not in it's default file (among |
540 | with most other terminals supporting colour). Either add: |
540 | with most other terminals supporting colour). Either add: |
541 | .Sp |
541 | .PP |
542 | .Vb 1 |
542 | .Vb 1 |
543 | \& TERM rxvt-unicode |
543 | \& TERM rxvt-unicode |
544 | .Ve |
544 | .Ve |
545 | .Sp |
545 | .PP |
546 | to \f(CW\*(C`/etc/DIR_COLORS\*(C'\fR or simply add: |
546 | to \f(CW\*(C`/etc/DIR_COLORS\*(C'\fR or simply add: |
547 | .Sp |
547 | .PP |
548 | .Vb 1 |
548 | .Vb 1 |
549 | \& alias ls='ls --color=auto' |
549 | \& alias ls='ls --color=auto' |
550 | .Ve |
550 | .Ve |
551 | .Sp |
551 | .PP |
552 | to your \f(CW\*(C`.profile\*(C'\fR or \f(CW\*(C`.bashrc\*(C'\fR. |
552 | to your \f(CW\*(C`.profile\*(C'\fR or \f(CW\*(C`.bashrc\*(C'\fR. |
553 | .IP "Why doesn't vim/emacs etc. use the 88 colour mode?" 4 |
553 | .Sh "Why doesn't vim/emacs etc. use the 88 colour mode?" |
554 | .IX Item "Why doesn't vim/emacs etc. use the 88 colour mode?" |
554 | .IX Subsection "Why doesn't vim/emacs etc. use the 88 colour mode?" |
555 | .PD 0 |
555 | See next entry. |
556 | .IP "Why doesn't vim/emacs etc. make use of italic?" 4 |
556 | .Sh "Why doesn't vim/emacs etc. make use of italic?" |
557 | .IX Item "Why doesn't vim/emacs etc. make use of italic?" |
557 | .IX Subsection "Why doesn't vim/emacs etc. make use of italic?" |
|
|
558 | See next entry. |
558 | .IP "Why are the secondary screen-related options not working properly?" 4 |
559 | .Sh "Why are the secondary screen-related options not working properly?" |
559 | .IX Item "Why are the secondary screen-related options not working properly?" |
560 | .IX Subsection "Why are the secondary screen-related options not working properly?" |
560 | .PD |
|
|
561 | Make sure you are using \f(CW\*(C`TERM=rxvt\-unicode\*(C'\fR. Some pre-packaged |
561 | Make sure you are using \f(CW\*(C`TERM=rxvt\-unicode\*(C'\fR. Some pre-packaged |
562 | distributions (most notably Debian GNU/Linux) break rxvt-unicode |
562 | distributions (most notably Debian GNU/Linux) break rxvt-unicode |
563 | by setting \f(CW\*(C`TERM\*(C'\fR to \f(CW\*(C`rxvt\*(C'\fR, which doesn't have these extra |
563 | by setting \f(CW\*(C`TERM\*(C'\fR to \f(CW\*(C`rxvt\*(C'\fR, which doesn't have these extra |
564 | features. Unfortunately, some of these (most notably, again, Debian |
564 | features. Unfortunately, some of these (most notably, again, Debian |
565 | GNU/Linux) furthermore fail to even install the \f(CW\*(C`rxvt\-unicode\*(C'\fR terminfo |
565 | GNU/Linux) furthermore fail to even install the \f(CW\*(C`rxvt\-unicode\*(C'\fR terminfo |
566 | file, so you will need to install it on your own (See the question \fBWhen |
566 | file, so you will need to install it on your own (See the question \fBWhen |
567 | I log-in to another system it tells me about missing terminfo data?\fR on |
567 | I log-in to another system it tells me about missing terminfo data?\fR on |
568 | how to do this). |
568 | how to do this). |
569 | .IP "My numerical keypad acts weird and generates differing output?" 4 |
569 | .Sh "My numerical keypad acts weird and generates differing output?" |
570 | .IX Item "My numerical keypad acts weird and generates differing output?" |
570 | .IX Subsection "My numerical keypad acts weird and generates differing output?" |
571 | Some Debian GNUL/Linux users seem to have this problem, although no |
571 | Some Debian GNUL/Linux users seem to have this problem, although no |
572 | specific details were reported so far. It is possible that this is caused |
572 | specific details were reported so far. It is possible that this is caused |
573 | by the wrong \f(CW\*(C`TERM\*(C'\fR setting, although the details of wether and how |
573 | by the wrong \f(CW\*(C`TERM\*(C'\fR setting, although the details of wether and how |
574 | this can happen are unknown, as \f(CW\*(C`TERM=rxvt\*(C'\fR should offer a compatible |
574 | this can happen are unknown, as \f(CW\*(C`TERM=rxvt\*(C'\fR should offer a compatible |
575 | keymap. See the answer to the previous question, and please report if that |
575 | keymap. See the answer to the previous question, and please report if that |
576 | helped. |
576 | helped. |
577 | .IP "Rxvt-unicode does not seem to understand the selected encoding?" 4 |
577 | .Sh "Rxvt-unicode does not seem to understand the selected encoding?" |
578 | .IX Item "Rxvt-unicode does not seem to understand the selected encoding?" |
578 | .IX Subsection "Rxvt-unicode does not seem to understand the selected encoding?" |
579 | .PD 0 |
579 | See next entry. |
580 | .IP "Unicode does not seem to work?" 4 |
580 | .Sh "Unicode does not seem to work?" |
581 | .IX Item "Unicode does not seem to work?" |
581 | .IX Subsection "Unicode does not seem to work?" |
582 | .PD |
|
|
583 | If you encounter strange problems like typing an accented character but |
582 | If you encounter strange problems like typing an accented character but |
584 | getting two unrelated other characters or similar, or if program output is |
583 | getting two unrelated other characters or similar, or if program output is |
585 | subtly garbled, then you should check your locale settings. |
584 | subtly garbled, then you should check your locale settings. |
586 | .Sp |
585 | .PP |
587 | Rxvt-unicode must be started with the same \f(CW\*(C`LC_CTYPE\*(C'\fR setting as the |
586 | Rxvt-unicode must be started with the same \f(CW\*(C`LC_CTYPE\*(C'\fR setting as the |
588 | programs. Often rxvt-unicode is started in the \f(CW\*(C`C\*(C'\fR locale, while the |
587 | programs. Often rxvt-unicode is started in the \f(CW\*(C`C\*(C'\fR locale, while the |
589 | login script running within the rxvt-unicode window changes the locale to |
588 | login script running within the rxvt-unicode window changes the locale to |
590 | something else, e.g. \f(CW\*(C`en_GB.UTF\-8\*(C'\fR. Needless to say, this is not going to work. |
589 | something else, e.g. \f(CW\*(C`en_GB.UTF\-8\*(C'\fR. Needless to say, this is not going to work. |
591 | .Sp |
590 | .PP |
592 | The best thing is to fix your startup environment, as you will likely run |
591 | The best thing is to fix your startup environment, as you will likely run |
593 | into other problems. If nothing works you can try this in your .profile. |
592 | into other problems. If nothing works you can try this in your .profile. |
594 | .Sp |
593 | .PP |
595 | .Vb 1 |
594 | .Vb 1 |
596 | \& printf '\ee]701;%s\e007' "$LC_CTYPE" |
595 | \& printf '\ee]701;%s\e007' "$LC_CTYPE" |
597 | .Ve |
596 | .Ve |
598 | .Sp |
597 | .PP |
599 | If this doesn't work, then maybe you use a \f(CW\*(C`LC_CTYPE\*(C'\fR specification not |
598 | If this doesn't work, then maybe you use a \f(CW\*(C`LC_CTYPE\*(C'\fR specification not |
600 | supported on your systems. Some systems have a \f(CW\*(C`locale\*(C'\fR command which |
599 | supported on your systems. Some systems have a \f(CW\*(C`locale\*(C'\fR command which |
601 | displays this (also, \f(CW\*(C`perl \-e0\*(C'\fR can be used to check locale settings, as |
600 | displays this (also, \f(CW\*(C`perl \-e0\*(C'\fR can be used to check locale settings, as |
602 | it will complain loudly if it cannot set the locale). If it displays something |
601 | it will complain loudly if it cannot set the locale). If it displays something |
603 | like: |
602 | like: |
604 | .Sp |
603 | .PP |
605 | .Vb 1 |
604 | .Vb 1 |
606 | \& locale: Cannot set LC_CTYPE to default locale: ... |
605 | \& locale: Cannot set LC_CTYPE to default locale: ... |
607 | .Ve |
606 | .Ve |
608 | .Sp |
607 | .PP |
609 | Then the locale you specified is not supported on your system. |
608 | Then the locale you specified is not supported on your system. |
610 | .Sp |
609 | .PP |
611 | If nothing works and you are sure that everything is set correctly then |
610 | If nothing works and you are sure that everything is set correctly then |
612 | you will need to remember a little known fact: Some programs just don't |
611 | you will need to remember a little known fact: Some programs just don't |
613 | support locales :( |
612 | support locales :( |
614 | .IP "Why do some characters look so much different than others?" 4 |
613 | .Sh "Why do some characters look so much different than others?" |
615 | .IX Item "Why do some characters look so much different than others?" |
614 | .IX Subsection "Why do some characters look so much different than others?" |
616 | .PD 0 |
615 | See next entry. |
617 | .IP "How does rxvt-unicode choose fonts?" 4 |
616 | .Sh "How does rxvt-unicode choose fonts?" |
618 | .IX Item "How does rxvt-unicode choose fonts?" |
617 | .IX Subsection "How does rxvt-unicode choose fonts?" |
619 | .PD |
|
|
620 | Most fonts do not contain the full range of Unicode, which is |
618 | Most fonts do not contain the full range of Unicode, which is |
621 | fine. Chances are that the font you (or the admin/package maintainer of |
619 | fine. Chances are that the font you (or the admin/package maintainer of |
622 | your system/os) have specified does not cover all the characters you want |
620 | your system/os) have specified does not cover all the characters you want |
623 | to display. |
621 | to display. |
624 | .Sp |
622 | .PP |
625 | \&\fBrxvt-unicode\fR makes a best-effort try at finding a replacement |
623 | \&\fBrxvt-unicode\fR makes a best-effort try at finding a replacement |
626 | font. Often the result is fine, but sometimes the chosen font looks |
624 | font. Often the result is fine, but sometimes the chosen font looks |
627 | bad/ugly/wrong. Some fonts have totally strange characters that don't |
625 | bad/ugly/wrong. Some fonts have totally strange characters that don't |
628 | resemble the correct glyph at all, and rxvt-unicode lacks the artificial |
626 | resemble the correct glyph at all, and rxvt-unicode lacks the artificial |
629 | intelligence to detect that a specific glyph is wrong: it has to believe |
627 | intelligence to detect that a specific glyph is wrong: it has to believe |
630 | the font that the characters it claims to contain indeed look correct. |
628 | the font that the characters it claims to contain indeed look correct. |
631 | .Sp |
629 | .PP |
632 | In that case, select a font of your taste and add it to the font list, |
630 | In that case, select a font of your taste and add it to the font list, |
633 | e.g.: |
631 | e.g.: |
634 | .Sp |
632 | .PP |
635 | .Vb 1 |
633 | .Vb 1 |
636 | \& @@RXVT_NAME@@ -fn basefont,font2,font3... |
634 | \& @@RXVT_NAME@@ -fn basefont,font2,font3... |
637 | .Ve |
635 | .Ve |
638 | .Sp |
636 | .PP |
639 | When rxvt-unicode sees a character, it will first look at the base |
637 | When rxvt-unicode sees a character, it will first look at the base |
640 | font. If the base font does not contain the character, it will go to the |
638 | font. If the base font does not contain the character, it will go to the |
641 | next font, and so on. Specifying your own fonts will also speed up this |
639 | next font, and so on. Specifying your own fonts will also speed up this |
642 | search and use less resources within rxvt-unicode and the X\-server. |
640 | search and use less resources within rxvt-unicode and the X\-server. |
643 | .Sp |
641 | .PP |
644 | The only limitation is that none of the fonts may be larger than the base |
642 | The only limitation is that none of the fonts may be larger than the base |
645 | font, as the base font defines the terminal character cell size, which |
643 | font, as the base font defines the terminal character cell size, which |
646 | must be the same due to the way terminals work. |
644 | must be the same due to the way terminals work. |
647 | .IP "Why do some chinese characters look so different than others?" 4 |
645 | .Sh "Why do some chinese characters look so different than others?" |
648 | .IX Item "Why do some chinese characters look so different than others?" |
646 | .IX Subsection "Why do some chinese characters look so different than others?" |
649 | This is because there is a difference between script and language \*(-- |
647 | This is because there is a difference between script and language \*(-- |
650 | rxvt-unicode does not know which language the text that is output is, |
648 | rxvt-unicode does not know which language the text that is output is, |
651 | as it only knows the unicode character codes. If rxvt-unicode first |
649 | as it only knows the unicode character codes. If rxvt-unicode first |
652 | sees a japanese/chinese character, it might choose a japanese font for |
650 | sees a japanese/chinese character, it might choose a japanese font for |
653 | display. Subsequent japanese characters will use that font. Now, many |
651 | display. Subsequent japanese characters will use that font. Now, many |
654 | chinese characters aren't represented in japanese fonts, so when the first |
652 | chinese characters aren't represented in japanese fonts, so when the first |
655 | non-japanese character comes up, rxvt-unicode will look for a chinese font |
653 | non-japanese character comes up, rxvt-unicode will look for a chinese font |
656 | \&\*(-- unfortunately at this point, it will still use the japanese font for |
654 | \&\*(-- unfortunately at this point, it will still use the japanese font for |
657 | chinese characters that are also in the japanese font. |
655 | chinese characters that are also in the japanese font. |
658 | .Sp |
656 | .PP |
659 | The workaround is easy: just tag a chinese font at the end of your font |
657 | The workaround is easy: just tag a chinese font at the end of your font |
660 | list (see the previous question). The key is to view the font list as |
658 | list (see the previous question). The key is to view the font list as |
661 | a preference list: If you expect more japanese, list a japanese font |
659 | a preference list: If you expect more japanese, list a japanese font |
662 | first. If you expect more chinese, put a chinese font first. |
660 | first. If you expect more chinese, put a chinese font first. |
663 | .Sp |
661 | .PP |
664 | In the future it might be possible to switch language preferences at |
662 | In the future it might be possible to switch language preferences at |
665 | runtime (the internal data structure has no problem with using different |
663 | runtime (the internal data structure has no problem with using different |
666 | fonts for the same character at the same time, but no interface for this |
664 | fonts for the same character at the same time, but no interface for this |
667 | has been designed yet). |
665 | has been designed yet). |
668 | .Sp |
666 | .PP |
669 | Until then, you might get away with switching fonts at runtime (see \*(L"Can I switch the fonts at runtime?\*(R" later in this document). |
667 | Until then, you might get away with switching fonts at runtime (see \*(L"Can I switch the fonts at runtime?\*(R" later in this document). |
670 | .IP "Why does rxvt-unicode sometimes leave pixel droppings?" 4 |
668 | .Sh "Why does rxvt-unicode sometimes leave pixel droppings?" |
671 | .IX Item "Why does rxvt-unicode sometimes leave pixel droppings?" |
669 | .IX Subsection "Why does rxvt-unicode sometimes leave pixel droppings?" |
672 | Most fonts were not designed for terminal use, which means that character |
670 | Most fonts were not designed for terminal use, which means that character |
673 | size varies a lot. A font that is otherwise fine for terminal use might |
671 | size varies a lot. A font that is otherwise fine for terminal use might |
674 | contain some characters that are simply too wide. Rxvt-unicode will avoid |
672 | contain some characters that are simply too wide. Rxvt-unicode will avoid |
675 | these characters. For characters that are just \*(L"a bit\*(R" too wide a special |
673 | these characters. For characters that are just \*(L"a bit\*(R" too wide a special |
676 | \&\*(L"careful\*(R" rendering mode is used that redraws adjacent characters. |
674 | \&\*(L"careful\*(R" rendering mode is used that redraws adjacent characters. |
677 | .Sp |
675 | .PP |
678 | All of this requires that fonts do not lie about character sizes, |
676 | All of this requires that fonts do not lie about character sizes, |
679 | however: Xft fonts often draw glyphs larger than their acclaimed bounding |
677 | however: Xft fonts often draw glyphs larger than their acclaimed bounding |
680 | box, and rxvt-unicode has no way of detecting this (the correct way is to |
678 | box, and rxvt-unicode has no way of detecting this (the correct way is to |
681 | ask for the character bounding box, which unfortunately is wrong in these |
679 | ask for the character bounding box, which unfortunately is wrong in these |
682 | cases). |
680 | cases). |
683 | .Sp |
681 | .PP |
684 | It's not clear (to me at least), wether this is a bug in Xft, freetype, |
682 | It's not clear (to me at least), wether this is a bug in Xft, freetype, |
685 | or the respective font. If you encounter this problem you might try using |
683 | or the respective font. If you encounter this problem you might try using |
686 | the \f(CW\*(C`\-lsp\*(C'\fR option to give the font more height. If that doesn't work, you |
684 | the \f(CW\*(C`\-lsp\*(C'\fR option to give the font more height. If that doesn't work, you |
687 | might be forced to use a different font. |
685 | might be forced to use a different font. |
688 | .Sp |
686 | .PP |
689 | All of this is not a problem when using X11 core fonts, as their bounding |
687 | All of this is not a problem when using X11 core fonts, as their bounding |
690 | box data is correct. |
688 | box data is correct. |
691 | .IP "On Solaris 9, many line-drawing characters are too wide." 4 |
689 | .Sh "On Solaris 9, many line-drawing characters are too wide." |
692 | .IX Item "On Solaris 9, many line-drawing characters are too wide." |
690 | .IX Subsection "On Solaris 9, many line-drawing characters are too wide." |
693 | Seems to be a known bug, read |
691 | Seems to be a known bug, read |
694 | <http://nixdoc.net/files/forum/about34198.html>. Some people use the |
692 | <http://nixdoc.net/files/forum/about34198.html>. Some people use the |
695 | following ugly workaround to get non-double-wide-characters working: |
693 | following ugly workaround to get non-double-wide-characters working: |
696 | .Sp |
694 | .PP |
697 | .Vb 1 |
695 | .Vb 1 |
698 | \& #define wcwidth(x) wcwidth(x) > 1 ? 1 : wcwidth(x) |
696 | \& #define wcwidth(x) wcwidth(x) > 1 ? 1 : wcwidth(x) |
699 | .Ve |
697 | .Ve |
700 | .IP "My Compose (Multi_key) key is no longer working." 4 |
698 | .Sh "My Compose (Multi_key) key is no longer working." |
701 | .IX Item "My Compose (Multi_key) key is no longer working." |
699 | .IX Subsection "My Compose (Multi_key) key is no longer working." |
702 | The most common causes for this are that either your locale is not set |
700 | The most common causes for this are that either your locale is not set |
703 | correctly, or you specified a \fBpreeditStyle\fR that is not supported by |
701 | correctly, or you specified a \fBpreeditStyle\fR that is not supported by |
704 | your input method. For example, if you specified \fBOverTheSpot\fR and |
702 | your input method. For example, if you specified \fBOverTheSpot\fR and |
705 | your input method (e.g. the default input method handling Compose keys) |
703 | your input method (e.g. the default input method handling Compose keys) |
706 | does not support this (for instance because it is not visual), then |
704 | does not support this (for instance because it is not visual), then |
707 | rxvt-unicode will continue without an input method. |
705 | rxvt-unicode will continue without an input method. |
708 | .Sp |
706 | .PP |
709 | In this case either do not specify a \fBpreeditStyle\fR or specify more than |
707 | In this case either do not specify a \fBpreeditStyle\fR or specify more than |
710 | one pre-edit style, such as \fBOverTheSpot,Root,None\fR. |
708 | one pre-edit style, such as \fBOverTheSpot,Root,None\fR. |
711 | .ie n .IP "I cannot type ""Ctrl\-Shift\-2"" to get an \s-1ASCII\s0 \s-1NUL\s0 character due to \s-1ISO\s0 14755" 4 |
709 | .ie n .Sh "I cannot type ""Ctrl\-Shift\-2"" to get an \s-1ASCII\s0 \s-1NUL\s0 character due to \s-1ISO\s0 14755" |
712 | .el .IP "I cannot type \f(CWCtrl\-Shift\-2\fR to get an \s-1ASCII\s0 \s-1NUL\s0 character due to \s-1ISO\s0 14755" 4 |
710 | .el .Sh "I cannot type \f(CWCtrl\-Shift\-2\fP to get an \s-1ASCII\s0 \s-1NUL\s0 character due to \s-1ISO\s0 14755" |
713 | .IX Item "I cannot type Ctrl-Shift-2 to get an ASCII NUL character due to ISO 14755" |
711 | .IX Subsection "I cannot type Ctrl-Shift-2 to get an ASCII NUL character due to ISO 14755" |
714 | Either try \f(CW\*(C`Ctrl\-2\*(C'\fR alone (it often is mapped to \s-1ASCII\s0 \s-1NUL\s0 even on |
712 | Either try \f(CW\*(C`Ctrl\-2\*(C'\fR alone (it often is mapped to \s-1ASCII\s0 \s-1NUL\s0 even on |
715 | international keyboards) or simply use \s-1ISO\s0 14755 support to your |
713 | international keyboards) or simply use \s-1ISO\s0 14755 support to your |
716 | advantage, typing <Ctrl\-Shift\-0> to get a \s-1ASCII\s0 \s-1NUL\s0. This works for other |
714 | advantage, typing <Ctrl\-Shift\-0> to get a \s-1ASCII\s0 \s-1NUL\s0. This works for other |
717 | codes, too, such as \f(CW\*(C`Ctrl\-Shift\-1\-d\*(C'\fR to type the default telnet escape |
715 | codes, too, such as \f(CW\*(C`Ctrl\-Shift\-1\-d\*(C'\fR to type the default telnet escape |
718 | character and so on. |
716 | character and so on. |
719 | .IP "How can I keep rxvt-unicode from using reverse video so much?" 4 |
717 | .Sh "How can I keep rxvt-unicode from using reverse video so much?" |
720 | .IX Item "How can I keep rxvt-unicode from using reverse video so much?" |
718 | .IX Subsection "How can I keep rxvt-unicode from using reverse video so much?" |
721 | First of all, make sure you are running with the right terminal settings |
719 | First of all, make sure you are running with the right terminal settings |
722 | (\f(CW\*(C`TERM=rxvt\-unicode\*(C'\fR), which will get rid of most of these effects. Then |
720 | (\f(CW\*(C`TERM=rxvt\-unicode\*(C'\fR), which will get rid of most of these effects. Then |
723 | make sure you have specified colours for italic and bold, as otherwise |
721 | make sure you have specified colours for italic and bold, as otherwise |
724 | rxvt-unicode might use reverse video to simulate the effect: |
722 | rxvt-unicode might use reverse video to simulate the effect: |
725 | .Sp |
723 | .PP |
726 | .Vb 2 |
724 | .Vb 2 |
727 | \& URxvt.colorBD: white |
725 | \& URxvt.colorBD: white |
728 | \& URxvt.colorIT: green |
726 | \& URxvt.colorIT: green |
729 | .Ve |
727 | .Ve |
730 | .IP "Some programs assume totally weird colours (red instead of blue), how can I fix that?" 4 |
728 | .Sh "Some programs assume totally weird colours (red instead of blue), how can I fix that?" |
731 | .IX Item "Some programs assume totally weird colours (red instead of blue), how can I fix that?" |
729 | .IX Subsection "Some programs assume totally weird colours (red instead of blue), how can I fix that?" |
732 | For some unexplainable reason, some rare programs assume a very weird |
730 | For some unexplainable reason, some rare programs assume a very weird |
733 | colour palette when confronted with a terminal with more than the standard |
731 | colour palette when confronted with a terminal with more than the standard |
734 | 8 colours (rxvt\-unicode supports 88). The right fix is, of course, to fix |
732 | 8 colours (rxvt\-unicode supports 88). The right fix is, of course, to fix |
735 | these programs not to assume non-ISO colours without very good reasons. |
733 | these programs not to assume non-ISO colours without very good reasons. |
736 | .Sp |
734 | .PP |
737 | In the meantime, you can either edit your \f(CW\*(C`rxvt\-unicode\*(C'\fR terminfo |
735 | In the meantime, you can either edit your \f(CW\*(C`rxvt\-unicode\*(C'\fR terminfo |
738 | definition to only claim 8 colour support or use \f(CW\*(C`TERM=rxvt\*(C'\fR, which will |
736 | definition to only claim 8 colour support or use \f(CW\*(C`TERM=rxvt\*(C'\fR, which will |
739 | fix colours but keep you from using other rxvt-unicode features. |
737 | fix colours but keep you from using other rxvt-unicode features. |
740 | .IP "I am on FreeBSD and rxvt-unicode does not seem to work at all." 4 |
738 | .Sh "I am on FreeBSD and rxvt-unicode does not seem to work at all." |
741 | .IX Item "I am on FreeBSD and rxvt-unicode does not seem to work at all." |
739 | .IX Subsection "I am on FreeBSD and rxvt-unicode does not seem to work at all." |
742 | Rxvt-unicode requires the symbol \f(CW\*(C`_\|_STDC_ISO_10646_\|_\*(C'\fR to be defined |
740 | Rxvt-unicode requires the symbol \f(CW\*(C`_\|_STDC_ISO_10646_\|_\*(C'\fR to be defined |
743 | in your compile environment, or an implementation that implements it, |
741 | in your compile environment, or an implementation that implements it, |
744 | wether it defines the symbol or not. \f(CW\*(C`_\|_STDC_ISO_10646_\|_\*(C'\fR requires that |
742 | wether it defines the symbol or not. \f(CW\*(C`_\|_STDC_ISO_10646_\|_\*(C'\fR requires that |
745 | \&\fBwchar_t\fR is represented as unicode. |
743 | \&\fBwchar_t\fR is represented as unicode. |
746 | .Sp |
744 | .PP |
747 | As you might have guessed, FreeBSD does neither define this symobl nor |
745 | As you might have guessed, FreeBSD does neither define this symobl nor |
748 | does it support it. Instead, it uses it's own internal representation of |
746 | does it support it. Instead, it uses it's own internal representation of |
749 | \&\fBwchar_t\fR. This is, of course, completely fine with respect to standards. |
747 | \&\fBwchar_t\fR. This is, of course, completely fine with respect to standards. |
750 | .Sp |
748 | .PP |
751 | However, that means rxvt-unicode only works in \f(CW\*(C`POSIX\*(C'\fR, \f(CW\*(C`ISO\-8859\-1\*(C'\fR and |
749 | However, that means rxvt-unicode only works in \f(CW\*(C`POSIX\*(C'\fR, \f(CW\*(C`ISO\-8859\-1\*(C'\fR and |
752 | \&\f(CW\*(C`UTF\-8\*(C'\fR locales under FreeBSD (which all use Unicode as \fBwchar_t\fR. |
750 | \&\f(CW\*(C`UTF\-8\*(C'\fR locales under FreeBSD (which all use Unicode as \fBwchar_t\fR. |
753 | .Sp |
751 | .PP |
754 | \&\f(CW\*(C`_\|_STDC_ISO_10646_\|_\*(C'\fR is the only sane way to support multi-language |
752 | \&\f(CW\*(C`_\|_STDC_ISO_10646_\|_\*(C'\fR is the only sane way to support multi-language |
755 | apps in an \s-1OS\s0, as using a locale-dependent (and non\-standardized) |
753 | apps in an \s-1OS\s0, as using a locale-dependent (and non\-standardized) |
756 | representation of \fBwchar_t\fR makes it impossible to convert between |
754 | representation of \fBwchar_t\fR makes it impossible to convert between |
757 | \&\fBwchar_t\fR (as used by X11 and your applications) and any other encoding |
755 | \&\fBwchar_t\fR (as used by X11 and your applications) and any other encoding |
758 | without implementing OS-specific-wrappers for each and every locale. There |
756 | without implementing OS-specific-wrappers for each and every locale. There |
759 | simply are no APIs to convert \fBwchar_t\fR into anything except the current |
757 | simply are no APIs to convert \fBwchar_t\fR into anything except the current |
760 | locale encoding. |
758 | locale encoding. |
761 | .Sp |
759 | .PP |
762 | Some applications (such as the formidable \fBmlterm\fR) work around this |
760 | Some applications (such as the formidable \fBmlterm\fR) work around this |
763 | by carrying their own replacement functions for character set handling |
761 | by carrying their own replacement functions for character set handling |
764 | with them, and either implementing OS-dependent hacks or doing multiple |
762 | with them, and either implementing OS-dependent hacks or doing multiple |
765 | conversions (which is slow and unreliable in case the \s-1OS\s0 implements |
763 | conversions (which is slow and unreliable in case the \s-1OS\s0 implements |
766 | encodings slightly different than the terminal emulator). |
764 | encodings slightly different than the terminal emulator). |
767 | .Sp |
765 | .PP |
768 | The rxvt-unicode author insists that the right way to fix this is in the |
766 | The rxvt-unicode author insists that the right way to fix this is in the |
769 | system libraries once and for all, instead of forcing every app to carry |
767 | system libraries once and for all, instead of forcing every app to carry |
770 | complete replacements for them :) |
768 | complete replacements for them :) |
771 | .IP "I use Solaris 9 and it doesn't compile/work/etc." 4 |
769 | .Sh "I use Solaris 9 and it doesn't compile/work/etc." |
772 | .IX Item "I use Solaris 9 and it doesn't compile/work/etc." |
770 | .IX Subsection "I use Solaris 9 and it doesn't compile/work/etc." |
773 | Try the diff in \fIdoc/solaris9.patch\fR as a base. It fixes the worst |
771 | Try the diff in \fIdoc/solaris9.patch\fR as a base. It fixes the worst |
774 | problems with \f(CW\*(C`wcwidth\*(C'\fR and a compile problem. |
772 | problems with \f(CW\*(C`wcwidth\*(C'\fR and a compile problem. |
775 | .IP "How can I use rxvt-unicode under cygwin?" 4 |
773 | .Sh "How can I use rxvt-unicode under cygwin?" |
776 | .IX Item "How can I use rxvt-unicode under cygwin?" |
774 | .IX Subsection "How can I use rxvt-unicode under cygwin?" |
777 | rxvt-unicode should compile and run out of the box on cygwin, using |
775 | rxvt-unicode should compile and run out of the box on cygwin, using |
778 | the X11 libraries that come with cygwin. libW11 emulation is no |
776 | the X11 libraries that come with cygwin. libW11 emulation is no |
779 | longer supported (and makes no sense, either, as it only supported a |
777 | longer supported (and makes no sense, either, as it only supported a |
780 | single font). I recommend starting the X\-server in \f(CW\*(C`\-multiwindow\*(C'\fR or |
778 | single font). I recommend starting the X\-server in \f(CW\*(C`\-multiwindow\*(C'\fR or |
781 | \&\f(CW\*(C`\-rootless\*(C'\fR mode instead, which will result in similar look&feel as the |
779 | \&\f(CW\*(C`\-rootless\*(C'\fR mode instead, which will result in similar look&feel as the |
782 | old libW11 emulation. |
780 | old libW11 emulation. |
783 | .Sp |
781 | .PP |
784 | At the time of this writing, cygwin didn't seem to support any multi-byte |
782 | At the time of this writing, cygwin didn't seem to support any multi-byte |
785 | encodings (you might try \f(CW\*(C`LC_CTYPE=C\-UTF\-8\*(C'\fR), so you are likely limited |
783 | encodings (you might try \f(CW\*(C`LC_CTYPE=C\-UTF\-8\*(C'\fR), so you are likely limited |
786 | to 8\-bit encodings. |
784 | to 8\-bit encodings. |
787 | .IP "How does rxvt-unicode determine the encoding to use?" 4 |
785 | .Sh "How does rxvt-unicode determine the encoding to use?" |
788 | .IX Item "How does rxvt-unicode determine the encoding to use?" |
786 | .IX Subsection "How does rxvt-unicode determine the encoding to use?" |
789 | .PD 0 |
787 | See next entry. |
790 | .IP "Is there an option to switch encodings?" 4 |
788 | .Sh "Is there an option to switch encodings?" |
791 | .IX Item "Is there an option to switch encodings?" |
789 | .IX Subsection "Is there an option to switch encodings?" |
792 | .PD |
|
|
793 | Unlike some other terminals, rxvt-unicode has no encoding switch, and no |
790 | Unlike some other terminals, rxvt-unicode has no encoding switch, and no |
794 | specific \*(L"utf\-8\*(R" mode, such as xterm. In fact, it doesn't even know about |
791 | specific \*(L"utf\-8\*(R" mode, such as xterm. In fact, it doesn't even know about |
795 | \&\s-1UTF\-8\s0 or any other encodings with respect to terminal I/O. |
792 | \&\s-1UTF\-8\s0 or any other encodings with respect to terminal I/O. |
796 | .Sp |
793 | .PP |
797 | The reasons is that there exists a perfectly fine mechanism for selecting |
794 | The reasons is that there exists a perfectly fine mechanism for selecting |
798 | the encoding, doing I/O and (most important) communicating this to all |
795 | the encoding, doing I/O and (most important) communicating this to all |
799 | applications so everybody agrees on character properties such as width |
796 | applications so everybody agrees on character properties such as width |
800 | and code number. This mechanism is the \fIlocale\fR. Applications not using |
797 | and code number. This mechanism is the \fIlocale\fR. Applications not using |
801 | that info will have problems (for example, \f(CW\*(C`xterm\*(C'\fR gets the width of |
798 | that info will have problems (for example, \f(CW\*(C`xterm\*(C'\fR gets the width of |
802 | characters wrong as it uses it's own, locale-independent table under all |
799 | characters wrong as it uses it's own, locale-independent table under all |
803 | locales). |
800 | locales). |
804 | .Sp |
801 | .PP |
805 | Rxvt-unicode uses the \f(CW\*(C`LC_CTYPE\*(C'\fR locale category to select encoding. All |
802 | Rxvt-unicode uses the \f(CW\*(C`LC_CTYPE\*(C'\fR locale category to select encoding. All |
806 | programs doing the same (that is, most) will automatically agree in the |
803 | programs doing the same (that is, most) will automatically agree in the |
807 | interpretation of characters. |
804 | interpretation of characters. |
808 | .Sp |
805 | .PP |
809 | Unfortunately, there is no system-independent way to select locales, nor |
806 | Unfortunately, there is no system-independent way to select locales, nor |
810 | is there a standard on how locale specifiers will look like. |
807 | is there a standard on how locale specifiers will look like. |
811 | .Sp |
808 | .PP |
812 | On most systems, the content of the \f(CW\*(C`LC_CTYPE\*(C'\fR environment variable |
809 | On most systems, the content of the \f(CW\*(C`LC_CTYPE\*(C'\fR environment variable |
813 | contains an arbitrary string which corresponds to an already-installed |
810 | contains an arbitrary string which corresponds to an already-installed |
814 | locale. Common names for locales are \f(CW\*(C`en_US.UTF\-8\*(C'\fR, \f(CW\*(C`de_DE.ISO\-8859\-15\*(C'\fR, |
811 | locale. Common names for locales are \f(CW\*(C`en_US.UTF\-8\*(C'\fR, \f(CW\*(C`de_DE.ISO\-8859\-15\*(C'\fR, |
815 | \&\f(CW\*(C`ja_JP.EUC\-JP\*(C'\fR, i.e. \f(CW\*(C`language_country.encoding\*(C'\fR, but other forms |
812 | \&\f(CW\*(C`ja_JP.EUC\-JP\*(C'\fR, i.e. \f(CW\*(C`language_country.encoding\*(C'\fR, but other forms |
816 | (i.e. \f(CW\*(C`de\*(C'\fR or \f(CW\*(C`german\*(C'\fR) are also common. |
813 | (i.e. \f(CW\*(C`de\*(C'\fR or \f(CW\*(C`german\*(C'\fR) are also common. |
817 | .Sp |
814 | .PP |
818 | Rxvt-unicode ignores all other locale categories, and except for |
815 | Rxvt-unicode ignores all other locale categories, and except for |
819 | the encoding, ignores country or language-specific settings, |
816 | the encoding, ignores country or language-specific settings, |
820 | i.e. \f(CW\*(C`de_DE.UTF\-8\*(C'\fR and \f(CW\*(C`ja_JP.UTF\-8\*(C'\fR are the normally same to |
817 | i.e. \f(CW\*(C`de_DE.UTF\-8\*(C'\fR and \f(CW\*(C`ja_JP.UTF\-8\*(C'\fR are the normally same to |
821 | rxvt\-unicode. |
818 | rxvt\-unicode. |
822 | .Sp |
819 | .PP |
823 | If you want to use a specific encoding you have to make sure you start |
820 | If you want to use a specific encoding you have to make sure you start |
824 | rxvt-unicode with the correct \f(CW\*(C`LC_CTYPE\*(C'\fR category. |
821 | rxvt-unicode with the correct \f(CW\*(C`LC_CTYPE\*(C'\fR category. |
825 | .IP "Can I switch locales at runtime?" 4 |
822 | .Sh "Can I switch locales at runtime?" |
826 | .IX Item "Can I switch locales at runtime?" |
823 | .IX Subsection "Can I switch locales at runtime?" |
827 | Yes, using an escape sequence. Try something like this, which sets |
824 | Yes, using an escape sequence. Try something like this, which sets |
828 | rxvt\-unicode's idea of \f(CW\*(C`LC_CTYPE\*(C'\fR. |
825 | rxvt\-unicode's idea of \f(CW\*(C`LC_CTYPE\*(C'\fR. |
829 | .Sp |
826 | .PP |
830 | .Vb 1 |
827 | .Vb 1 |
831 | \& printf '\ee]701;%s\e007' ja_JP.SJIS |
828 | \& printf '\ee]701;%s\e007' ja_JP.SJIS |
832 | .Ve |
829 | .Ve |
833 | .Sp |
830 | .PP |
834 | See also the previous answer. |
831 | See also the previous answer. |
835 | .Sp |
832 | .PP |
836 | Sometimes this capability is rather handy when you want to work in |
833 | Sometimes this capability is rather handy when you want to work in |
837 | one locale (e.g. \f(CW\*(C`de_DE.UTF\-8\*(C'\fR) but some programs don't support it |
834 | one locale (e.g. \f(CW\*(C`de_DE.UTF\-8\*(C'\fR) but some programs don't support it |
838 | (e.g. \s-1UTF\-8\s0). For example, I use this script to start \f(CW\*(C`xjdic\*(C'\fR, which |
835 | (e.g. \s-1UTF\-8\s0). For example, I use this script to start \f(CW\*(C`xjdic\*(C'\fR, which |
839 | first switches to a locale supported by xjdic and back later: |
836 | first switches to a locale supported by xjdic and back later: |
840 | .Sp |
837 | .PP |
841 | .Vb 3 |
838 | .Vb 3 |
842 | \& printf '\ee]701;%s\e007' ja_JP.SJIS |
839 | \& printf '\ee]701;%s\e007' ja_JP.SJIS |
843 | \& xjdic -js |
840 | \& xjdic -js |
844 | \& printf '\ee]701;%s\e007' de_DE.UTF-8 |
841 | \& printf '\ee]701;%s\e007' de_DE.UTF-8 |
845 | .Ve |
842 | .Ve |
846 | .Sp |
843 | .PP |
847 | You can also use xterm's \f(CW\*(C`luit\*(C'\fR program, which usually works fine, except |
844 | You can also use xterm's \f(CW\*(C`luit\*(C'\fR program, which usually works fine, except |
848 | for some locales where character width differs between program\- and |
845 | for some locales where character width differs between program\- and |
849 | rxvt\-unicode\-locales. |
846 | rxvt\-unicode\-locales. |
850 | .IP "Can I switch the fonts at runtime?" 4 |
847 | .Sh "Can I switch the fonts at runtime?" |
851 | .IX Item "Can I switch the fonts at runtime?" |
848 | .IX Subsection "Can I switch the fonts at runtime?" |
852 | Yes, using an escape sequence. Try something like this, which has the same |
849 | Yes, using an escape sequence. Try something like this, which has the same |
853 | effect as using the \f(CW\*(C`\-fn\*(C'\fR switch, and takes effect immediately: |
850 | effect as using the \f(CW\*(C`\-fn\*(C'\fR switch, and takes effect immediately: |
854 | .Sp |
851 | .PP |
855 | .Vb 1 |
852 | .Vb 1 |
856 | \& printf '\ee]50;%s\e007' "9x15bold,xft:Kochi Gothic" |
853 | \& printf '\ee]50;%s\e007' "9x15bold,xft:Kochi Gothic" |
857 | .Ve |
854 | .Ve |
858 | .Sp |
855 | .PP |
859 | This is useful if you e.g. work primarily with japanese (and prefer a |
856 | This is useful if you e.g. work primarily with japanese (and prefer a |
860 | japanese font), but you have to switch to chinese temporarily, where |
857 | japanese font), but you have to switch to chinese temporarily, where |
861 | japanese fonts would only be in your way. |
858 | japanese fonts would only be in your way. |
862 | .Sp |
859 | .PP |
863 | You can think of this as a kind of manual \s-1ISO\-2022\s0 switching. |
860 | You can think of this as a kind of manual \s-1ISO\-2022\s0 switching. |
864 | .IP "Why do italic characters look as if clipped?" 4 |
861 | .Sh "Why do italic characters look as if clipped?" |
865 | .IX Item "Why do italic characters look as if clipped?" |
862 | .IX Subsection "Why do italic characters look as if clipped?" |
866 | Many fonts have difficulties with italic characters and hinting. For |
863 | Many fonts have difficulties with italic characters and hinting. For |
867 | example, the otherwise very nicely hinted font \f(CW\*(C`xft:Bitstream Vera Sans |
864 | example, the otherwise very nicely hinted font \f(CW\*(C`xft:Bitstream Vera Sans |
868 | Mono\*(C'\fR completely fails in it's italic face. A workaround might be to |
865 | Mono\*(C'\fR completely fails in it's italic face. A workaround might be to |
869 | enable freetype autohinting, i.e. like this: |
866 | enable freetype autohinting, i.e. like this: |
870 | .Sp |
867 | .PP |
871 | .Vb 2 |
868 | .Vb 2 |
872 | \& URxvt.italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true |
869 | \& URxvt.italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true |
873 | \& URxvt.boldItalicFont: xft:Bitstream Vera Sans Mono:bold:italic:autohint=true |
870 | \& URxvt.boldItalicFont: xft:Bitstream Vera Sans Mono:bold:italic:autohint=true |
874 | .Ve |
871 | .Ve |
875 | .IP "My input method wants <some encoding> but I want \s-1UTF\-8\s0, what can I do?" 4 |
872 | .Sh "My input method wants <some encoding> but I want \s-1UTF\-8\s0, what can I do?" |
876 | .IX Item "My input method wants <some encoding> but I want UTF-8, what can I do?" |
873 | .IX Subsection "My input method wants <some encoding> but I want UTF-8, what can I do?" |
877 | You can specify separate locales for the input method and the rest of the |
874 | You can specify separate locales for the input method and the rest of the |
878 | terminal, using the resource \f(CW\*(C`imlocale\*(C'\fR: |
875 | terminal, using the resource \f(CW\*(C`imlocale\*(C'\fR: |
879 | .Sp |
876 | .PP |
880 | .Vb 1 |
877 | .Vb 1 |
881 | \& URxvt.imlocale: ja_JP.EUC-JP |
878 | \& URxvt.imlocale: ja_JP.EUC-JP |
882 | .Ve |
879 | .Ve |
883 | .Sp |
880 | .PP |
884 | Now you can start your terminal with \f(CW\*(C`LC_CTYPE=ja_JP.UTF\-8\*(C'\fR and still |
881 | Now you can start your terminal with \f(CW\*(C`LC_CTYPE=ja_JP.UTF\-8\*(C'\fR and still |
885 | use your input method. Please note, however, that you will not be able to |
882 | use your input method. Please note, however, that you will not be able to |
886 | input characters outside \f(CW\*(C`EUC\-JP\*(C'\fR in a normal way then, as your input |
883 | input characters outside \f(CW\*(C`EUC\-JP\*(C'\fR in a normal way then, as your input |
887 | method limits you. |
884 | method limits you. |
888 | .IP "Rxvt-unicode crashes when the X Input Method changes or exits." 4 |
885 | .Sh "Rxvt-unicode crashes when the X Input Method changes or exits." |
889 | .IX Item "Rxvt-unicode crashes when the X Input Method changes or exits." |
886 | .IX Subsection "Rxvt-unicode crashes when the X Input Method changes or exits." |
890 | Unfortunately, this is unavoidable, as the \s-1XIM\s0 protocol is racy by |
887 | Unfortunately, this is unavoidable, as the \s-1XIM\s0 protocol is racy by |
891 | design. Applications can avoid some crashes at the expense of memory |
888 | design. Applications can avoid some crashes at the expense of memory |
892 | leaks, and Input Methods can avoid some crashes by careful ordering at |
889 | leaks, and Input Methods can avoid some crashes by careful ordering at |
893 | exit time. \fBkinput2\fR (and derived input methods) generally succeeds, |
890 | exit time. \fBkinput2\fR (and derived input methods) generally succeeds, |
894 | while \fB\s-1SCIM\s0\fR (or similar input methods) fails. In the end, however, |
891 | while \fB\s-1SCIM\s0\fR (or similar input methods) fails. In the end, however, |
895 | crashes cannot be completely avoided even if both sides cooperate. |
892 | crashes cannot be completely avoided even if both sides cooperate. |
896 | .Sp |
893 | .PP |
897 | So the only workaround is not to kill your Input Method Servers. |
894 | So the only workaround is not to kill your Input Method Servers. |
898 | .IP "Rxvt-unicode uses gobs of memory, how can I reduce that?" 4 |
895 | .Sh "Rxvt-unicode uses gobs of memory, how can I reduce that?" |
899 | .IX Item "Rxvt-unicode uses gobs of memory, how can I reduce that?" |
896 | .IX Subsection "Rxvt-unicode uses gobs of memory, how can I reduce that?" |
900 | Rxvt-unicode tries to obey the rule of not charging you for something you |
897 | Rxvt-unicode tries to obey the rule of not charging you for something you |
901 | don't use. One thing you should try is to configure out all settings that |
898 | don't use. One thing you should try is to configure out all settings that |
902 | you don't need, for example, Xft support is a resource hog by design, |
899 | you don't need, for example, Xft support is a resource hog by design, |
903 | when used. Compiling it out ensures that no Xft font will be loaded |
900 | when used. Compiling it out ensures that no Xft font will be loaded |
904 | accidentally when rxvt-unicode tries to find a font for your characters. |
901 | accidentally when rxvt-unicode tries to find a font for your characters. |
905 | .Sp |
902 | .PP |
906 | Also, many people (me included) like large windows and even larger |
903 | Also, many people (me included) like large windows and even larger |
907 | scrollback buffers: Without \f(CW\*(C`\-\-enable\-unicode3\*(C'\fR, rxvt-unicode will use |
904 | scrollback buffers: Without \f(CW\*(C`\-\-enable\-unicode3\*(C'\fR, rxvt-unicode will use |
908 | 6 bytes per screen cell. For a 160x?? window this amounts to almost a |
905 | 6 bytes per screen cell. For a 160x?? window this amounts to almost a |
909 | kilobyte per line. A scrollback buffer of 10000 lines will then (if full) |
906 | kilobyte per line. A scrollback buffer of 10000 lines will then (if full) |
910 | use 10 Megabytes of memory. With \f(CW\*(C`\-\-enable\-unicode3\*(C'\fR it gets worse, as |
907 | use 10 Megabytes of memory. With \f(CW\*(C`\-\-enable\-unicode3\*(C'\fR it gets worse, as |
911 | rxvt-unicode then uses 8 bytes per screen cell. |
908 | rxvt-unicode then uses 8 bytes per screen cell. |
912 | .IP "Can I speed up Xft rendering somehow?" 4 |
909 | .Sh "Can I speed up Xft rendering somehow?" |
913 | .IX Item "Can I speed up Xft rendering somehow?" |
910 | .IX Subsection "Can I speed up Xft rendering somehow?" |
914 | Yes, the most obvious way to speed it up is to avoid Xft entirely, as |
911 | Yes, the most obvious way to speed it up is to avoid Xft entirely, as |
915 | it is simply slow. If you still want Xft fonts you might try to disable |
912 | it is simply slow. If you still want Xft fonts you might try to disable |
916 | antialiasing (by appending \f(CW\*(C`:antialias=false\*(C'\fR), which saves lots of |
913 | antialiasing (by appending \f(CW\*(C`:antialias=false\*(C'\fR), which saves lots of |
917 | memory and also speeds up rendering considerably. |
914 | memory and also speeds up rendering considerably. |
918 | .IP "Rxvt-unicode doesn't seem to anti-alias its fonts, what is wrong?" 4 |
915 | .Sh "Rxvt-unicode doesn't seem to anti-alias its fonts, what is wrong?" |
919 | .IX Item "Rxvt-unicode doesn't seem to anti-alias its fonts, what is wrong?" |
916 | .IX Subsection "Rxvt-unicode doesn't seem to anti-alias its fonts, what is wrong?" |
920 | Rxvt-unicode will use whatever you specify as a font. If it needs to |
917 | Rxvt-unicode will use whatever you specify as a font. If it needs to |
921 | fall back to it's default font search list it will prefer X11 core |
918 | fall back to it's default font search list it will prefer X11 core |
922 | fonts, because they are small and fast, and then use Xft fonts. It has |
919 | fonts, because they are small and fast, and then use Xft fonts. It has |
923 | antialiasing disabled for most of them, because the author thinks they |
920 | antialiasing disabled for most of them, because the author thinks they |
924 | look best that way. |
921 | look best that way. |
925 | .Sp |
922 | .PP |
926 | If you want antialiasing, you have to specify the fonts manually. |
923 | If you want antialiasing, you have to specify the fonts manually. |
927 | .IP "Mouse cut/paste suddenly no longer works." 4 |
924 | .Sh "Mouse cut/paste suddenly no longer works." |
928 | .IX Item "Mouse cut/paste suddenly no longer works." |
925 | .IX Subsection "Mouse cut/paste suddenly no longer works." |
929 | Make sure that mouse reporting is actually turned off since killing |
926 | Make sure that mouse reporting is actually turned off since killing |
930 | some editors prematurely may leave the mouse in mouse report mode. I've |
927 | some editors prematurely may leave the mouse in mouse report mode. I've |
931 | heard that tcsh may use mouse reporting unless it otherwise specified. A |
928 | heard that tcsh may use mouse reporting unless it otherwise specified. A |
932 | quick check is to see if cut/paste works when the Alt or Shift keys are |
929 | quick check is to see if cut/paste works when the Alt or Shift keys are |
933 | depressed. |
930 | depressed. |
934 | .IP "What's with this bold/blink stuff?" 4 |
931 | .Sh "What's with this bold/blink stuff?" |
935 | .IX Item "What's with this bold/blink stuff?" |
932 | .IX Subsection "What's with this bold/blink stuff?" |
936 | If no bold colour is set via \f(CW\*(C`colorBD:\*(C'\fR, bold will invert text using the |
933 | If no bold colour is set via \f(CW\*(C`colorBD:\*(C'\fR, bold will invert text using the |
937 | standard foreground colour. |
934 | standard foreground colour. |
938 | .Sp |
935 | .PP |
939 | For the standard background colour, blinking will actually make the |
936 | For the standard background colour, blinking will actually make the |
940 | text blink when compiled with \f(CW\*(C`\-\-enable\-blinking\*(C'\fR. with standard |
937 | text blink when compiled with \f(CW\*(C`\-\-enable\-blinking\*(C'\fR. with standard |
941 | colours. Without \f(CW\*(C`\-\-enable\-blinking\*(C'\fR, the blink attribute will be |
938 | colours. Without \f(CW\*(C`\-\-enable\-blinking\*(C'\fR, the blink attribute will be |
942 | ignored. |
939 | ignored. |
943 | .Sp |
940 | .PP |
944 | On \s-1ANSI\s0 colours, bold/blink attributes are used to set high-intensity |
941 | On \s-1ANSI\s0 colours, bold/blink attributes are used to set high-intensity |
945 | foreground/background colors. |
942 | foreground/background colors. |
946 | .Sp |
943 | .PP |
947 | color0\-7 are the low-intensity colors. |
944 | color0\-7 are the low-intensity colors. |
948 | .Sp |
945 | .PP |
949 | color8\-15 are the corresponding high-intensity colors. |
946 | color8\-15 are the corresponding high-intensity colors. |
950 | .IP "I don't like the screen colors. How do I change them?" 4 |
947 | .Sh "I don't like the screen colors. How do I change them?" |
951 | .IX Item "I don't like the screen colors. How do I change them?" |
948 | .IX Subsection "I don't like the screen colors. How do I change them?" |
952 | You can change the screen colors at run-time using \fI~/.Xdefaults\fR |
949 | You can change the screen colors at run-time using \fI~/.Xdefaults\fR |
953 | resources (or as long\-options). |
950 | resources (or as long\-options). |
954 | .Sp |
951 | .PP |
955 | Here are values that are supposed to resemble a \s-1VGA\s0 screen, |
952 | Here are values that are supposed to resemble a \s-1VGA\s0 screen, |
956 | including the murky brown that passes for low-intensity yellow: |
953 | including the murky brown that passes for low-intensity yellow: |
957 | .Sp |
954 | .PP |
958 | .Vb 8 |
955 | .Vb 8 |
959 | \& URxvt.color0: #000000 |
956 | \& URxvt.color0: #000000 |
960 | \& URxvt.color1: #A80000 |
957 | \& URxvt.color1: #A80000 |
961 | \& URxvt.color2: #00A800 |
958 | \& URxvt.color2: #00A800 |
962 | \& URxvt.color3: #A8A800 |
959 | \& URxvt.color3: #A8A800 |
963 | \& URxvt.color4: #0000A8 |
960 | \& URxvt.color4: #0000A8 |
964 | \& URxvt.color5: #A800A8 |
961 | \& URxvt.color5: #A800A8 |
965 | \& URxvt.color6: #00A8A8 |
962 | \& URxvt.color6: #00A8A8 |
966 | \& URxvt.color7: #A8A8A8 |
963 | \& URxvt.color7: #A8A8A8 |
967 | .Ve |
964 | .Ve |
968 | .Sp |
965 | .PP |
969 | .Vb 8 |
966 | .Vb 8 |
970 | \& URxvt.color8: #000054 |
967 | \& URxvt.color8: #000054 |
971 | \& URxvt.color9: #FF0054 |
968 | \& URxvt.color9: #FF0054 |
972 | \& URxvt.color10: #00FF54 |
969 | \& URxvt.color10: #00FF54 |
973 | \& URxvt.color11: #FFFF54 |
970 | \& URxvt.color11: #FFFF54 |
974 | \& URxvt.color12: #0000FF |
971 | \& URxvt.color12: #0000FF |
975 | \& URxvt.color13: #FF00FF |
972 | \& URxvt.color13: #FF00FF |
976 | \& URxvt.color14: #00FFFF |
973 | \& URxvt.color14: #00FFFF |
977 | \& URxvt.color15: #FFFFFF |
974 | \& URxvt.color15: #FFFFFF |
978 | .Ve |
975 | .Ve |
979 | .Sp |
976 | .PP |
980 | And here is a more complete set of non-standard colors described (not by |
977 | And here is a more complete set of non-standard colors described (not by |
981 | me) as \*(L"pretty girly\*(R". |
978 | me) as \*(L"pretty girly\*(R". |
982 | .Sp |
979 | .PP |
983 | .Vb 18 |
980 | .Vb 18 |
984 | \& URxvt.cursorColor: #dc74d1 |
981 | \& URxvt.cursorColor: #dc74d1 |
985 | \& URxvt.pointerColor: #dc74d1 |
982 | \& URxvt.pointerColor: #dc74d1 |
986 | \& URxvt.background: #0e0e0e |
983 | \& URxvt.background: #0e0e0e |
987 | \& URxvt.foreground: #4ad5e1 |
984 | \& URxvt.foreground: #4ad5e1 |
… | |
… | |
998 | \& URxvt.color6: #73f7ff |
995 | \& URxvt.color6: #73f7ff |
999 | \& URxvt.color14: #73f7ff |
996 | \& URxvt.color14: #73f7ff |
1000 | \& URxvt.color7: #e1dddd |
997 | \& URxvt.color7: #e1dddd |
1001 | \& URxvt.color15: #e1dddd |
998 | \& URxvt.color15: #e1dddd |
1002 | .Ve |
999 | .Ve |
1003 | .IP "How can I start @@RXVT_NAME@@d in a race-free way?" 4 |
1000 | .Sh "How can I start @@RXVT_NAME@@d in a race-free way?" |
1004 | .IX Item "How can I start @@RXVT_NAME@@d in a race-free way?" |
1001 | .IX Subsection "How can I start @@RXVT_NAME@@d in a race-free way?" |
1005 | Try \f(CW\*(C`@@RXVT_NAME@@d \-f \-o\*(C'\fR, which tells @@RXVT_NAME@@d to open the |
1002 | Try \f(CW\*(C`@@RXVT_NAME@@d \-f \-o\*(C'\fR, which tells @@RXVT_NAME@@d to open the |
1006 | display, create the listening socket and then fork. |
1003 | display, create the listening socket and then fork. |
1007 | .IP "What's with the strange Backspace/Delete key behaviour?" 4 |
1004 | .Sh "What's with the strange Backspace/Delete key behaviour?" |
1008 | .IX Item "What's with the strange Backspace/Delete key behaviour?" |
1005 | .IX Subsection "What's with the strange Backspace/Delete key behaviour?" |
1009 | Assuming that the physical Backspace key corresponds to the |
1006 | Assuming that the physical Backspace key corresponds to the |
1010 | BackSpace keysym (not likely for Linux ... see the following |
1007 | BackSpace keysym (not likely for Linux ... see the following |
1011 | question) there are two standard values that can be used for |
1008 | question) there are two standard values that can be used for |
1012 | Backspace: \f(CW\*(C`^H\*(C'\fR and \f(CW\*(C`^?\*(C'\fR. |
1009 | Backspace: \f(CW\*(C`^H\*(C'\fR and \f(CW\*(C`^?\*(C'\fR. |
1013 | .Sp |
1010 | .PP |
1014 | Historically, either value is correct, but rxvt-unicode adopts the debian |
1011 | Historically, either value is correct, but rxvt-unicode adopts the debian |
1015 | policy of using \f(CW\*(C`^?\*(C'\fR when unsure, because it's the one only only correct |
1012 | policy of using \f(CW\*(C`^?\*(C'\fR when unsure, because it's the one only only correct |
1016 | choice :). |
1013 | choice :). |
1017 | .Sp |
1014 | .PP |
1018 | Rxvt-unicode tries to inherit the current stty settings and uses the value |
1015 | Rxvt-unicode tries to inherit the current stty settings and uses the value |
1019 | of `erase' to guess the value for backspace. If rxvt-unicode wasn't |
1016 | of `erase' to guess the value for backspace. If rxvt-unicode wasn't |
1020 | started from a terminal (say, from a menu or by remote shell), then the |
1017 | started from a terminal (say, from a menu or by remote shell), then the |
1021 | system value of `erase', which corresponds to \s-1CERASE\s0 in <termios.h>, will |
1018 | system value of `erase', which corresponds to \s-1CERASE\s0 in <termios.h>, will |
1022 | be used (which may not be the same as your stty setting). |
1019 | be used (which may not be the same as your stty setting). |
1023 | .Sp |
1020 | .PP |
1024 | For starting a new rxvt\-unicode: |
1021 | For starting a new rxvt\-unicode: |
1025 | .Sp |
1022 | .PP |
1026 | .Vb 3 |
1023 | .Vb 3 |
1027 | \& # use Backspace = ^H |
1024 | \& # use Backspace = ^H |
1028 | \& $ stty erase ^H |
1025 | \& $ stty erase ^H |
1029 | \& $ @@RXVT_NAME@@ |
1026 | \& $ @@RXVT_NAME@@ |
1030 | .Ve |
1027 | .Ve |
1031 | .Sp |
1028 | .PP |
1032 | .Vb 3 |
1029 | .Vb 3 |
1033 | \& # use Backspace = ^? |
1030 | \& # use Backspace = ^? |
1034 | \& $ stty erase ^? |
1031 | \& $ stty erase ^? |
1035 | \& $ @@RXVT_NAME@@ |
1032 | \& $ @@RXVT_NAME@@ |
1036 | .Ve |
1033 | .Ve |
1037 | .Sp |
1034 | .PP |
1038 | Toggle with \f(CW\*(C`ESC [ 36 h\*(C'\fR / \f(CW\*(C`ESC [ 36 l\*(C'\fR. |
1035 | Toggle with \f(CW\*(C`ESC [ 36 h\*(C'\fR / \f(CW\*(C`ESC [ 36 l\*(C'\fR. |
1039 | .Sp |
1036 | .PP |
1040 | For an existing rxvt\-unicode: |
1037 | For an existing rxvt\-unicode: |
1041 | .Sp |
1038 | .PP |
1042 | .Vb 3 |
1039 | .Vb 3 |
1043 | \& # use Backspace = ^H |
1040 | \& # use Backspace = ^H |
1044 | \& $ stty erase ^H |
1041 | \& $ stty erase ^H |
1045 | \& $ echo -n "^[[36h" |
1042 | \& $ echo -n "^[[36h" |
1046 | .Ve |
1043 | .Ve |
1047 | .Sp |
1044 | .PP |
1048 | .Vb 3 |
1045 | .Vb 3 |
1049 | \& # use Backspace = ^? |
1046 | \& # use Backspace = ^? |
1050 | \& $ stty erase ^? |
1047 | \& $ stty erase ^? |
1051 | \& $ echo -n "^[[36l" |
1048 | \& $ echo -n "^[[36l" |
1052 | .Ve |
1049 | .Ve |
1053 | .Sp |
1050 | .PP |
1054 | This helps satisfy some of the Backspace discrepancies that occur, but |
1051 | This helps satisfy some of the Backspace discrepancies that occur, but |
1055 | if you use Backspace = \f(CW\*(C`^H\*(C'\fR, make sure that the termcap/terminfo value |
1052 | if you use Backspace = \f(CW\*(C`^H\*(C'\fR, make sure that the termcap/terminfo value |
1056 | properly reflects that. |
1053 | properly reflects that. |
1057 | .Sp |
1054 | .PP |
1058 | The Delete key is a another casualty of the ill-defined Backspace problem. |
1055 | The Delete key is a another casualty of the ill-defined Backspace problem. |
1059 | To avoid confusion between the Backspace and Delete keys, the Delete |
1056 | To avoid confusion between the Backspace and Delete keys, the Delete |
1060 | key has been assigned an escape sequence to match the vt100 for Execute |
1057 | key has been assigned an escape sequence to match the vt100 for Execute |
1061 | (\f(CW\*(C`ESC [ 3 ~\*(C'\fR) and is in the supplied termcap/terminfo. |
1058 | (\f(CW\*(C`ESC [ 3 ~\*(C'\fR) and is in the supplied termcap/terminfo. |
1062 | .Sp |
1059 | .PP |
1063 | Some other Backspace problems: |
1060 | Some other Backspace problems: |
1064 | .Sp |
1061 | .PP |
1065 | some editors use termcap/terminfo, |
1062 | some editors use termcap/terminfo, |
1066 | some editors (vim I'm told) expect Backspace = ^H, |
1063 | some editors (vim I'm told) expect Backspace = ^H, |
1067 | \&\s-1GNU\s0 Emacs (and Emacs-like editors) use ^H for help. |
1064 | \&\s-1GNU\s0 Emacs (and Emacs-like editors) use ^H for help. |
1068 | .Sp |
1065 | .PP |
1069 | Perhaps someday this will all be resolved in a consistent manner. |
1066 | Perhaps someday this will all be resolved in a consistent manner. |
1070 | .IP "I don't like the key\-bindings. How do I change them?" 4 |
1067 | .Sh "I don't like the key\-bindings. How do I change them?" |
1071 | .IX Item "I don't like the key-bindings. How do I change them?" |
1068 | .IX Subsection "I don't like the key-bindings. How do I change them?" |
1072 | There are some compile-time selections available via configure. Unless |
1069 | There are some compile-time selections available via configure. Unless |
1073 | you have run \*(L"configure\*(R" with the \f(CW\*(C`\-\-disable\-resources\*(C'\fR option you can |
1070 | you have run \*(L"configure\*(R" with the \f(CW\*(C`\-\-disable\-resources\*(C'\fR option you can |
1074 | use the `keysym' resource to alter the keystrings associated with keysyms. |
1071 | use the `keysym' resource to alter the keystrings associated with keysyms. |
1075 | .Sp |
1072 | .PP |
1076 | Here's an example for a URxvt session started using \f(CW\*(C`@@RXVT_NAME@@ \-name URxvt\*(C'\fR |
1073 | Here's an example for a URxvt session started using \f(CW\*(C`@@RXVT_NAME@@ \-name URxvt\*(C'\fR |
1077 | .Sp |
1074 | .PP |
1078 | .Vb 20 |
1075 | .Vb 20 |
1079 | \& URxvt.keysym.Home: \e033[1~ |
1076 | \& URxvt.keysym.Home: \e033[1~ |
1080 | \& URxvt.keysym.End: \e033[4~ |
1077 | \& URxvt.keysym.End: \e033[4~ |
1081 | \& URxvt.keysym.C-apostrophe: \e033<C-'> |
1078 | \& URxvt.keysym.C-apostrophe: \e033<C-'> |
1082 | \& URxvt.keysym.C-slash: \e033<C-/> |
1079 | \& URxvt.keysym.C-slash: \e033<C-/> |
… | |
… | |
1095 | \& URxvt.keysym.M-Right: \e033<M-Right> |
1092 | \& URxvt.keysym.M-Right: \e033<M-Right> |
1096 | \& URxvt.keysym.M-C-0: list \e033<M-C- 0123456789 > |
1093 | \& URxvt.keysym.M-C-0: list \e033<M-C- 0123456789 > |
1097 | \& URxvt.keysym.M-C-a: list \e033<M-C- abcdefghijklmnopqrstuvwxyz > |
1094 | \& URxvt.keysym.M-C-a: list \e033<M-C- abcdefghijklmnopqrstuvwxyz > |
1098 | \& URxvt.keysym.F12: command:\e033]701;zh_CN.GBK\e007 |
1095 | \& URxvt.keysym.F12: command:\e033]701;zh_CN.GBK\e007 |
1099 | .Ve |
1096 | .Ve |
1100 | .Sp |
1097 | .PP |
1101 | See some more examples in the documentation for the \fBkeysym\fR resource. |
1098 | See some more examples in the documentation for the \fBkeysym\fR resource. |
1102 | .IP "I'm using keyboard model \s-1XXX\s0 that has extra Prior/Next/Insert keys. How do I make use of them? For example, the Sun Keyboard type 4 has the following mappings that rxvt-unicode doesn't recognize." 4 |
1099 | .Sh "I'm using keyboard model \s-1XXX\s0 that has extra Prior/Next/Insert keys. How do I make use of them? For example, the Sun Keyboard type 4 has the following mappings that rxvt-unicode doesn't recognize." |
1103 | .IX Item "I'm using keyboard model XXX that has extra Prior/Next/Insert keys. How do I make use of them? For example, the Sun Keyboard type 4 has the following mappings that rxvt-unicode doesn't recognize." |
1100 | .IX Subsection "I'm using keyboard model XXX that has extra Prior/Next/Insert keys. How do I make use of them? For example, the Sun Keyboard type 4 has the following mappings that rxvt-unicode doesn't recognize." |
1104 | .Vb 6 |
1101 | .Vb 6 |
1105 | \& KP_Insert == Insert |
1102 | \& KP_Insert == Insert |
1106 | \& F22 == Print |
1103 | \& F22 == Print |
1107 | \& F27 == Home |
1104 | \& F27 == Home |
1108 | \& F29 == Prior |
1105 | \& F29 == Prior |
1109 | \& F33 == End |
1106 | \& F33 == End |
1110 | \& F35 == Next |
1107 | \& F35 == Next |
1111 | .Ve |
1108 | .Ve |
1112 | .Sp |
1109 | .PP |
1113 | Rather than have rxvt-unicode try to accommodate all the various possible |
1110 | Rather than have rxvt-unicode try to accommodate all the various possible |
1114 | keyboard mappings, it is better to use `xmodmap' to remap the keys as |
1111 | keyboard mappings, it is better to use `xmodmap' to remap the keys as |
1115 | required for your particular machine. |
1112 | required for your particular machine. |
1116 | .IP "How do I distinguish wether I'm running rxvt-unicode or a regular xterm? I need this to decide about setting colors etc." 4 |
1113 | .Sh "How do I distinguish wether I'm running rxvt-unicode or a regular xterm? I need this to decide about setting colors etc." |
1117 | .IX Item "How do I distinguish wether I'm running rxvt-unicode or a regular xterm? I need this to decide about setting colors etc." |
1114 | .IX Subsection "How do I distinguish wether I'm running rxvt-unicode or a regular xterm? I need this to decide about setting colors etc." |
1118 | rxvt and rxvt-unicode always export the variable \*(L"\s-1COLORTERM\s0\*(R", so you can |
1115 | rxvt and rxvt-unicode always export the variable \*(L"\s-1COLORTERM\s0\*(R", so you can |
1119 | check and see if that is set. Note that several programs, \s-1JED\s0, slrn, |
1116 | check and see if that is set. Note that several programs, \s-1JED\s0, slrn, |
1120 | Midnight Commander automatically check this variable to decide whether or |
1117 | Midnight Commander automatically check this variable to decide whether or |
1121 | not to use color. |
1118 | not to use color. |
1122 | .IP "How do I set the correct, full \s-1IP\s0 address for the \s-1DISPLAY\s0 variable?" 4 |
1119 | .Sh "How do I set the correct, full \s-1IP\s0 address for the \s-1DISPLAY\s0 variable?" |
1123 | .IX Item "How do I set the correct, full IP address for the DISPLAY variable?" |
1120 | .IX Subsection "How do I set the correct, full IP address for the DISPLAY variable?" |
1124 | If you've compiled rxvt-unicode with \s-1DISPLAY_IS_IP\s0 and have enabled |
1121 | If you've compiled rxvt-unicode with \s-1DISPLAY_IS_IP\s0 and have enabled |
1125 | insecure mode then it is possible to use the following shell script |
1122 | insecure mode then it is possible to use the following shell script |
1126 | snippets to correctly set the display. If your version of rxvt-unicode |
1123 | snippets to correctly set the display. If your version of rxvt-unicode |
1127 | wasn't also compiled with \s-1ESCZ_ANSWER\s0 (as assumed in these snippets) then |
1124 | wasn't also compiled with \s-1ESCZ_ANSWER\s0 (as assumed in these snippets) then |
1128 | the \s-1COLORTERM\s0 variable can be used to distinguish rxvt-unicode from a |
1125 | the \s-1COLORTERM\s0 variable can be used to distinguish rxvt-unicode from a |
1129 | regular xterm. |
1126 | regular xterm. |
1130 | .Sp |
1127 | .PP |
1131 | Courtesy of Chuck Blake <cblake@BBN.COM> with the following shell script |
1128 | Courtesy of Chuck Blake <cblake@BBN.COM> with the following shell script |
1132 | snippets: |
1129 | snippets: |
1133 | .Sp |
1130 | .PP |
1134 | .Vb 12 |
1131 | .Vb 12 |
1135 | \& # Bourne/Korn/POSIX family of shells: |
1132 | \& # Bourne/Korn/POSIX family of shells: |
1136 | \& [ ${TERM:-foo} = foo ] && TERM=xterm # assume an xterm if we don't know |
1133 | \& [ ${TERM:-foo} = foo ] && TERM=xterm # assume an xterm if we don't know |
1137 | \& if [ ${TERM:-foo} = xterm ]; then |
1134 | \& if [ ${TERM:-foo} = xterm ]; then |
1138 | \& stty -icanon -echo min 0 time 15 # see if enhanced rxvt or not |
1135 | \& stty -icanon -echo min 0 time 15 # see if enhanced rxvt or not |
… | |
… | |
1143 | \& echo -n '^[[7n' # query the rxvt we are in for the DISPLAY string |
1140 | \& echo -n '^[[7n' # query the rxvt we are in for the DISPLAY string |
1144 | \& read DISPLAY # set it in our local shell |
1141 | \& read DISPLAY # set it in our local shell |
1145 | \& fi |
1142 | \& fi |
1146 | \& fi |
1143 | \& fi |
1147 | .Ve |
1144 | .Ve |
1148 | .IP "How do I compile the manual pages for myself?" 4 |
1145 | .Sh "How do I compile the manual pages for myself?" |
1149 | .IX Item "How do I compile the manual pages for myself?" |
1146 | .IX Subsection "How do I compile the manual pages for myself?" |
1150 | You need to have a recent version of perl installed as \fI/usr/bin/perl\fR, |
1147 | You need to have a recent version of perl installed as \fI/usr/bin/perl\fR, |
1151 | one that comes with \fIpod2man\fR, \fIpod2text\fR and \fIpod2html\fR. Then go to |
1148 | one that comes with \fIpod2man\fR, \fIpod2text\fR and \fIpod2html\fR. Then go to |
1152 | the doc subdirectory and enter \f(CW\*(C`make alldoc\*(C'\fR. |
1149 | the doc subdirectory and enter \f(CW\*(C`make alldoc\*(C'\fR. |
1153 | .IP "My question isn't answered here, can I ask a human?" 4 |
1150 | .Sh "My question isn't answered here, can I ask a human?" |
1154 | .IX Item "My question isn't answered here, can I ask a human?" |
1151 | .IX Subsection "My question isn't answered here, can I ask a human?" |
1155 | Before sending me mail, you could go to \s-1IRC:\s0 \f(CW\*(C`irc.freenode.net\*(C'\fR, |
1152 | Before sending me mail, you could go to \s-1IRC:\s0 \f(CW\*(C`irc.freenode.net\*(C'\fR, |
1156 | channel \f(CW\*(C`#rxvt\-unicode\*(C'\fR has some rxvt-unicode enthusiasts that might be |
1153 | channel \f(CW\*(C`#rxvt\-unicode\*(C'\fR has some rxvt-unicode enthusiasts that might be |
1157 | interested in learning about new and exciting problems (but not FAQs :). |
1154 | interested in learning about new and exciting problems (but not FAQs :). |
1158 | .SH "RXVT TECHNICAL REFERENCE" |
1155 | .SH "RXVT TECHNICAL REFERENCE" |
1159 | .IX Header "RXVT TECHNICAL REFERENCE" |
1156 | .IX Header "RXVT TECHNICAL REFERENCE" |