1 | FREQUENTLY ASKED QUESTIONS |
1 | FREQUENTLY ASKED QUESTIONS |
|
|
2 | The new selection selects pieces that are too big, how can I select |
|
|
3 | single words? |
|
|
4 | Yes. For example, if you want to select alphanumeric words, you can |
|
|
5 | use the following resource: |
|
|
6 | |
|
|
7 | URxvt.selection.pattern-0: ([[:word:]]+) |
|
|
8 | |
|
|
9 | If you click more than twice, the selection will be extended more |
|
|
10 | and more. |
|
|
11 | |
|
|
12 | To get a selection that is very similar to the old code, try this |
|
|
13 | pattern: |
|
|
14 | |
|
|
15 | URxvt.selection.pattern-0: ([^"&'()*,;<=>?@[\\\\]^`{|})]+) |
|
|
16 | |
|
|
17 | Please also note that the *LeftClick Shift-LeftClik* combination |
|
|
18 | also selects words like the old code. |
|
|
19 | |
|
|
20 | I don't like the new selection/popups/hotkeys/perl, how do I |
|
|
21 | change/disable it? |
|
|
22 | You can disable the perl extension completely by setting the |
|
|
23 | perl-ext-common resource to the empty string, which also keeps |
|
|
24 | rxvt-unicode from initialising perl, saving memory. |
|
|
25 | |
|
|
26 | If you only want to disable specific features, you first have to |
|
|
27 | identify which perl extension is responsible. For this, read the |
|
|
28 | section PREPACKAGED EXTENSIONS in the rxvtperl(3) manpage. For |
|
|
29 | example, to disable the selection-popup and option-popup, specify |
|
|
30 | this perl-ext-common resource: |
|
|
31 | |
|
|
32 | URxvt.perl-ext-common: default,-selection-popup,-option-popup |
|
|
33 | |
|
|
34 | This will keep the default extensions, but disable the two popup |
|
|
35 | extensions. Some extensions can also be configured, for example, |
|
|
36 | scrollback search mode is triggered by M-s. You can move it to any |
|
|
37 | other combination either by setting the searchable-scrollback |
|
|
38 | resource: |
|
|
39 | |
|
|
40 | URxvt.searchable-scrollback: CM-s |
|
|
41 | |
|
|
42 | Isn't rxvt supposed to be small? Don't all those features bloat? |
|
|
43 | I often get asked about this, and I think, no, they didn't cause |
|
|
44 | extra bloat. If you compare a minimal rxvt and a minimal urxvt, you |
|
|
45 | can see that the urxvt binary is larger (due to some encoding tables |
|
|
46 | always being compiled in), but it actually uses less memory (RSS) |
|
|
47 | after startup. Even with "--disable-everything", this comparison is |
|
|
48 | a bit unfair, as many features unique to urxvt (locale, encoding |
|
|
49 | conversion, iso14755 etc.) are already in use in this mode. |
|
|
50 | |
|
|
51 | text data bss drs rss filename |
|
|
52 | 98398 1664 24 15695 1824 rxvt --disable-everything |
|
|
53 | 188985 9048 66616 18222 1788 urxvt --disable-everything |
|
|
54 | |
|
|
55 | When you "--enable-everything" (which _is_ unfair, as this involves |
|
|
56 | xft and full locale/XIM support which are quite bloaty inside libX11 |
|
|
57 | and my libc), the two diverge, but not unreasnobaly so. |
|
|
58 | |
|
|
59 | text data bss drs rss filename |
|
|
60 | 163431 2152 24 20123 2060 rxvt --enable-everything |
|
|
61 | 1035683 49680 66648 29096 3680 urxvt --enable-everything |
|
|
62 | |
|
|
63 | The very large size of the text section is explained by the |
|
|
64 | east-asian encoding tables, which, if unused, take up disk space but |
|
|
65 | nothing else and can be compiled out unless you rely on X11 core |
|
|
66 | fonts that use those encodings. The BSS size comes from the 64k |
|
|
67 | emergency buffer that my c++ compiler allocates (but of course |
|
|
68 | doesn't use unless you are out of memory). Also, using an xft font |
|
|
69 | instead of a core font immediately adds a few megabytes of RSS. Xft |
|
|
70 | indeed is responsible for a lot of RSS even when not used. |
|
|
71 | |
|
|
72 | Of course, due to every character using two or four bytes instead of |
|
|
73 | one, a large scrollback buffer will ultimately make rxvt-unicode use |
|
|
74 | more memory. |
|
|
75 | |
|
|
76 | Compared to e.g. Eterm (5112k), aterm (3132k) and xterm (4680k), |
|
|
77 | this still fares rather well. And compared to some monsters like |
|
|
78 | gnome-terminal (21152k + extra 4204k in separate processes) or |
|
|
79 | konsole (22200k + extra 43180k in daemons that stay around after |
|
|
80 | exit, plus half a minute of startup time, including the hundreds of |
|
|
81 | warnings it spits out), it fares extremely well *g*. |
|
|
82 | |
|
|
83 | Why C++, isn't that unportable/bloated/uncool? |
|
|
84 | Is this a question? :) It comes up very often. The simple answer is: |
|
|
85 | I had to write it, and C++ allowed me to write and maintain it in a |
|
|
86 | fraction of the time and effort (which is a scarce resource for me). |
|
|
87 | Put even shorter: It simply wouldn't exist without C++. |
|
|
88 | |
|
|
89 | My personal stance on this is that C++ is less portable than C, but |
|
|
90 | in the case of rxvt-unicode this hardly matters, as its portability |
|
|
91 | limits are defined by things like X11, pseudo terminals, locale |
|
|
92 | support and unix domain sockets, which are all less portable than |
|
|
93 | C++ itself. |
|
|
94 | |
|
|
95 | Regarding the bloat, see the above question: It's easy to write |
|
|
96 | programs in C that use gobs of memory, an certainly possible to |
|
|
97 | write programs in C++ that don't. C++ also often comes with large |
|
|
98 | libraries, but this is not necessarily the case with GCC. Here is |
|
|
99 | what rxvt links against on my system with a minimal config: |
|
|
100 | |
|
|
101 | libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00002aaaaabc3000) |
|
|
102 | libc.so.6 => /lib/libc.so.6 (0x00002aaaaadde000) |
|
|
103 | libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab01d000) |
|
|
104 | /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000) |
|
|
105 | |
|
|
106 | And here is rxvt-unicode: |
|
|
107 | |
|
|
108 | libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00002aaaaabc3000) |
|
|
109 | libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00002aaaaada2000) |
|
|
110 | libc.so.6 => /lib/libc.so.6 (0x00002aaaaaeb0000) |
|
|
111 | libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab0ee000) |
|
|
112 | /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000) |
|
|
113 | |
|
|
114 | No large bloated libraries (of course, none were linked in |
|
|
115 | statically), except maybe libX11 :) |
|
|
116 | |
|
|
117 | Does it support tabs, can I have a tabbed rxvt-unicode? |
|
|
118 | rxvt-unicode does not directly support tabs. It will work fine with |
|
|
119 | tabbing functionality of many window managers or similar tabbing |
|
|
120 | programs, and its embedding-features allow it to be embedded into |
|
|
121 | other programs, as witnessed by doc/rxvt-tabbed or the upcoming |
|
|
122 | "Gtk2::URxvt" perl module, which features a tabbed urxvt (murxvt) |
|
|
123 | terminal as an example embedding application. |
|
|
124 | |
2 | How do I know which rxvt-unicode version I'm using? |
125 | How do I know which rxvt-unicode version I'm using? |
3 | The version number is displayed with the usage (-h). Also the escape |
126 | The version number is displayed with the usage (-h). Also the escape |
4 | sequence "ESC [ 8 n" sets the window title to the version number. |
127 | sequence "ESC [ 8 n" sets the window title to the version number. |
|
|
128 | When using the rxvtc client, the version displayed is that of the |
|
|
129 | daemon. |
5 | |
130 | |
6 | I am using Debian GNU/Linux and have a problem... |
131 | I am using Debian GNU/Linux and have a problem... |
7 | The Debian GNU/Linux package of rxvt-unicode contains large patches |
132 | The Debian GNU/Linux package of rxvt-unicode in sarge contains large |
8 | that considerably change the behaviour of rxvt-unicode. Before |
133 | patches that considerably change the behaviour of rxvt-unicode. |
9 | reporting a bug to the original rxvt-unicode author please download |
134 | Before reporting a bug to the original rxvt-unicode author please |
10 | and install the genuine version |
135 | download and install the genuine version |
11 | (<http://software.schmorp.de#rxvt-unicode>) and try to reproduce the |
136 | (<http://software.schmorp.de#rxvt-unicode>) and try to reproduce the |
12 | problem. If you cannot, chances are that the problems are specific |
137 | problem. If you cannot, chances are that the problems are specific |
13 | to Debian GNU/Linux, in which case it should be reported via the |
138 | to Debian GNU/Linux, in which case it should be reported via the |
14 | Debian Bug Tracking System (use "reportbug" to report the bug). |
139 | Debian Bug Tracking System (use "reportbug" to report the bug). |
15 | |
140 | |
16 | For other problems that also affect the Debian package, you can and |
141 | For other problems that also affect the Debian package, you can and |
17 | probably should use the Debian BTS, too, because, after all, it's |
142 | probably should use the Debian BTS, too, because, after all, it's |
18 | also a bug in the Debian version and it serves as a reminder for |
143 | also a bug in the Debian version and it serves as a reminder for |
19 | other users that might encounter the same issue. |
144 | other users that might encounter the same issue. |
|
|
145 | |
|
|
146 | I am maintaining rxvt-unicode for distribution/OS XXX, any |
|
|
147 | recommendation? |
|
|
148 | You should build one binary with the default options. configure now |
|
|
149 | enables most useful options, and the trend goes to making them |
|
|
150 | runtime-switchable, too, so there is usually no drawback to enbaling |
|
|
151 | them, except higher disk and possibly memory usage. The perl |
|
|
152 | interpreter should be enabled, as important functionality (menus, |
|
|
153 | selection, likely more in the future) depends on it. |
|
|
154 | |
|
|
155 | You should not overwrite the "perl-ext-common" snd "perl-ext" |
|
|
156 | resources system-wide (except maybe with "defaults"). This will |
|
|
157 | result in useful behaviour. If your distribution aims at low memory, |
|
|
158 | add an empty "perl-ext-common" resource to the app-defaults file. |
|
|
159 | This will keep the perl interpreter disabled until the user enables |
|
|
160 | it. |
|
|
161 | |
|
|
162 | If you can/want build more binaries, I recommend building a minimal |
|
|
163 | one with "--disable-everything" (very useful) and a maximal one with |
|
|
164 | "--enable-everything" (less useful, it will be very big due to a lot |
|
|
165 | of encodings built-in that increase download times and are rarely |
|
|
166 | used). |
|
|
167 | |
|
|
168 | I need to make it setuid/setgid to support utmp/ptys on my OS, is this |
|
|
169 | safe? |
|
|
170 | It should be, starting with release 7.1. You are encouraged to |
|
|
171 | properly install urxvt with privileges necessary for your OS now. |
|
|
172 | |
|
|
173 | When rxvt-unicode detects that it runs setuid or setgid, it will |
|
|
174 | fork into a helper process for privileged operations (pty handling |
|
|
175 | on some systems, utmp/wtmp/lastlog handling on others) and drop |
|
|
176 | privileges immediately. This is much safer than most other terminals |
|
|
177 | that keep privileges while running (but is more relevant to urxvt, |
|
|
178 | as it contains things as perl interpreters, which might be "helpful" |
|
|
179 | to attackers). |
|
|
180 | |
|
|
181 | This forking is done as the very first within main(), which is very |
|
|
182 | early and reduces possible bugs to initialisation code run before |
|
|
183 | main(), or things like the dynamic loader of your system, which |
|
|
184 | should result in very little risk. |
20 | |
185 | |
21 | When I log-in to another system it tells me about missing terminfo data? |
186 | When I log-in to another system it tells me about missing terminfo data? |
22 | The terminal description used by rxvt-unicode is not as widely |
187 | The terminal description used by rxvt-unicode is not as widely |
23 | available as that for xterm, or even rxvt (for which the same |
188 | available as that for xterm, or even rxvt (for which the same |
24 | problem often arises). |
189 | problem often arises). |
… | |
… | |
44 | |
209 | |
45 | URxvt.termName: rxvt |
210 | URxvt.termName: rxvt |
46 | |
211 | |
47 | If you don't plan to use rxvt (quite common...) you could also |
212 | If you don't plan to use rxvt (quite common...) you could also |
48 | replace the rxvt terminfo file with the rxvt-unicode one. |
213 | replace the rxvt terminfo file with the rxvt-unicode one. |
|
|
214 | |
|
|
215 | "tic" outputs some error when compiling the terminfo entry. |
|
|
216 | Most likely it's the empty definition for "enacs=". Just replace it |
|
|
217 | by "enacs=\E[0@" and try again. |
49 | |
218 | |
50 | "bash"'s readline does not work correctly under rxvt. |
219 | "bash"'s readline does not work correctly under rxvt. |
51 | I need a termcap file entry. |
220 | I need a termcap file entry. |
52 | One reason you might want this is that some distributions or |
221 | One reason you might want this is that some distributions or |
53 | operating systems still compile some programs using the |
222 | operating systems still compile some programs using the |
… | |
… | |
226 | that doesn't work, you might be forced to use a different font. |
395 | that doesn't work, you might be forced to use a different font. |
227 | |
396 | |
228 | All of this is not a problem when using X11 core fonts, as their |
397 | All of this is not a problem when using X11 core fonts, as their |
229 | bounding box data is correct. |
398 | bounding box data is correct. |
230 | |
399 | |
|
|
400 | On Solaris 9, many line-drawing characters are too wide. |
|
|
401 | Seems to be a known bug, read |
|
|
402 | <http://nixdoc.net/files/forum/about34198.html>. Some people use the |
|
|
403 | following ugly workaround to get non-double-wide-characters working: |
|
|
404 | |
|
|
405 | #define wcwidth(x) wcwidth(x) > 1 ? 1 : wcwidth(x) |
|
|
406 | |
231 | My Compose (Multi_key) key is no longer working. |
407 | My Compose (Multi_key) key is no longer working. |
232 | The most common causes for this are that either your locale is not |
408 | The most common causes for this are that either your locale is not |
233 | set correctly, or you specified a preeditStyle that is not supported |
409 | set correctly, or you specified a preeditStyle that is not supported |
234 | by your input method. For example, if you specified OverTheSpot and |
410 | by your input method. For example, if you specified OverTheSpot and |
235 | your input method (e.g. the default input method handling Compose |
411 | your input method (e.g. the default input method handling Compose |
… | |
… | |
279 | As you might have guessed, FreeBSD does neither define this symobl |
455 | As you might have guessed, FreeBSD does neither define this symobl |
280 | nor does it support it. Instead, it uses it's own internal |
456 | nor does it support it. Instead, it uses it's own internal |
281 | representation of wchar_t. This is, of course, completely fine with |
457 | representation of wchar_t. This is, of course, completely fine with |
282 | respect to standards. |
458 | respect to standards. |
283 | |
459 | |
|
|
460 | However, that means rxvt-unicode only works in "POSIX", "ISO-8859-1" |
|
|
461 | and "UTF-8" locales under FreeBSD (which all use Unicode as wchar_t. |
|
|
462 | |
284 | However, "__STDC_ISO_10646__" is the only sane way to support |
463 | "__STDC_ISO_10646__" is the only sane way to support multi-language |
285 | multi-language apps in an OS, as using a locale-dependent (and |
464 | apps in an OS, as using a locale-dependent (and non-standardized) |
286 | non-standardized) representation of wchar_t makes it impossible to |
465 | representation of wchar_t makes it impossible to convert between |
287 | convert between wchar_t (as used by X11 and your applications) and |
466 | wchar_t (as used by X11 and your applications) and any other |
288 | any other encoding without implementing OS-specific-wrappers for |
467 | encoding without implementing OS-specific-wrappers for each and |
289 | each and every locale. There simply are no APIs to convert wchar_t |
468 | every locale. There simply are no APIs to convert wchar_t into |
290 | into anything except the current locale encoding. |
469 | anything except the current locale encoding. |
291 | |
470 | |
292 | Some applications (such as the formidable mlterm) work around this |
471 | Some applications (such as the formidable mlterm) work around this |
293 | by carrying their own replacement functions for character set |
472 | by carrying their own replacement functions for character set |
294 | handling with them, and either implementing OS-dependent hacks or |
473 | handling with them, and either implementing OS-dependent hacks or |
295 | doing multiple conversions (which is slow and unreliable in case the |
474 | doing multiple conversions (which is slow and unreliable in case the |
… | |
… | |
297 | emulator). |
476 | emulator). |
298 | |
477 | |
299 | The rxvt-unicode author insists that the right way to fix this is in |
478 | The rxvt-unicode author insists that the right way to fix this is in |
300 | the system libraries once and for all, instead of forcing every app |
479 | the system libraries once and for all, instead of forcing every app |
301 | to carry complete replacements for them :) |
480 | to carry complete replacements for them :) |
|
|
481 | |
|
|
482 | I use Solaris 9 and it doesn't compile/work/etc. |
|
|
483 | Try the diff in doc/solaris9.patch as a base. It fixes the worst |
|
|
484 | problems with "wcwidth" and a compile problem. |
|
|
485 | |
|
|
486 | How can I use rxvt-unicode under cygwin? |
|
|
487 | rxvt-unicode should compile and run out of the box on cygwin, using |
|
|
488 | the X11 libraries that come with cygwin. libW11 emulation is no |
|
|
489 | longer supported (and makes no sense, either, as it only supported a |
|
|
490 | single font). I recommend starting the X-server in "-multiwindow" or |
|
|
491 | "-rootless" mode instead, which will result in similar look&feel as |
|
|
492 | the old libW11 emulation. |
|
|
493 | |
|
|
494 | At the time of this writing, cygwin didn't seem to support any |
|
|
495 | multi-byte encodings (you might try "LC_CTYPE=C-UTF-8"), so you are |
|
|
496 | likely limited to 8-bit encodings. |
302 | |
497 | |
303 | How does rxvt-unicode determine the encoding to use? |
498 | How does rxvt-unicode determine the encoding to use? |
304 | Is there an option to switch encodings? |
499 | Is there an option to switch encodings? |
305 | Unlike some other terminals, rxvt-unicode has no encoding switch, |
500 | Unlike some other terminals, rxvt-unicode has no encoding switch, |
306 | and no specific "utf-8" mode, such as xterm. In fact, it doesn't |
501 | and no specific "utf-8" mode, such as xterm. In fact, it doesn't |
… | |
… | |
382 | |
577 | |
383 | My input method wants <some encoding> but I want UTF-8, what can I do? |
578 | My input method wants <some encoding> but I want UTF-8, what can I do? |
384 | You can specify separate locales for the input method and the rest |
579 | You can specify separate locales for the input method and the rest |
385 | of the terminal, using the resource "imlocale": |
580 | of the terminal, using the resource "imlocale": |
386 | |
581 | |
387 | URxvt*imlocale: ja_JP.EUC-JP |
582 | URxvt.imlocale: ja_JP.EUC-JP |
388 | |
583 | |
389 | Now you can start your terminal with "LC_CTYPE=ja_JP.UTF-8" and |
584 | Now you can start your terminal with "LC_CTYPE=ja_JP.UTF-8" and |
390 | still use your input method. Please note, however, that you will not |
585 | still use your input method. Please note, however, that you will not |
391 | be able to input characters outside "EUC-JP" in a normal way then, |
586 | be able to input characters outside "EUC-JP" in a normal way then, |
392 | as your input method limits you. |
587 | as your input method limits you. |
… | |
… | |
418 | it gets worse, as rxvt-unicode then uses 8 bytes per screen cell. |
613 | it gets worse, as rxvt-unicode then uses 8 bytes per screen cell. |
419 | |
614 | |
420 | Can I speed up Xft rendering somehow? |
615 | Can I speed up Xft rendering somehow? |
421 | Yes, the most obvious way to speed it up is to avoid Xft entirely, |
616 | Yes, the most obvious way to speed it up is to avoid Xft entirely, |
422 | as it is simply slow. If you still want Xft fonts you might try to |
617 | as it is simply slow. If you still want Xft fonts you might try to |
423 | disable antialiasing (by appending ":antialiasing=false"), which |
618 | disable antialiasing (by appending ":antialias=false"), which saves |
424 | saves lots of memory and also speeds up rendering considerably. |
619 | lots of memory and also speeds up rendering considerably. |
425 | |
620 | |
426 | Rxvt-unicode doesn't seem to anti-alias its fonts, what is wrong? |
621 | Rxvt-unicode doesn't seem to anti-alias its fonts, what is wrong? |
427 | Rxvt-unicode will use whatever you specify as a font. If it needs to |
622 | Rxvt-unicode will use whatever you specify as a font. If it needs to |
428 | fall back to it's default font search list it will prefer X11 core |
623 | fall back to it's default font search list it will prefer X11 core |
429 | fonts, because they are small and fast, and then use Xft fonts. It |
624 | fonts, because they are small and fast, and then use Xft fonts. It |
… | |
… | |
435 | Mouse cut/paste suddenly no longer works. |
630 | Mouse cut/paste suddenly no longer works. |
436 | Make sure that mouse reporting is actually turned off since killing |
631 | Make sure that mouse reporting is actually turned off since killing |
437 | some editors prematurely may leave the mouse in mouse report mode. |
632 | some editors prematurely may leave the mouse in mouse report mode. |
438 | I've heard that tcsh may use mouse reporting unless it otherwise |
633 | I've heard that tcsh may use mouse reporting unless it otherwise |
439 | specified. A quick check is to see if cut/paste works when the Alt |
634 | specified. A quick check is to see if cut/paste works when the Alt |
440 | or Shift keys are depressed. See rxvt(7) |
635 | or Shift keys are depressed. |
441 | |
636 | |
442 | What's with this bold/blink stuff? |
637 | What's with this bold/blink stuff? |
443 | If no bold colour is set via "colorBD:", bold will invert text using |
638 | If no bold colour is set via "colorBD:", bold will invert text using |
444 | the standard foreground colour. |
639 | the standard foreground colour. |
445 | |
640 | |
… | |
… | |
501 | URxvt.color14: #73f7ff |
696 | URxvt.color14: #73f7ff |
502 | URxvt.color7: #e1dddd |
697 | URxvt.color7: #e1dddd |
503 | URxvt.color15: #e1dddd |
698 | URxvt.color15: #e1dddd |
504 | |
699 | |
505 | How can I start rxvtd in a race-free way? |
700 | How can I start rxvtd in a race-free way? |
506 | Despite it's name, rxvtd is not a real daemon, but more like a |
701 | Try "rxvtd -f -o", which tells rxvtd to open the display, create the |
507 | server that answers rxvtc's requests, so it doesn't background |
702 | listening socket and then fork. |
508 | itself. |
|
|
509 | |
|
|
510 | To ensure rxvtd is listening on it's socket, you can use the |
|
|
511 | following method to wait for the startup message before continuing: |
|
|
512 | |
|
|
513 | { rxvtd & } | read |
|
|
514 | |
703 | |
515 | What's with the strange Backspace/Delete key behaviour? |
704 | What's with the strange Backspace/Delete key behaviour? |
516 | Assuming that the physical Backspace key corresponds to the |
705 | Assuming that the physical Backspace key corresponds to the |
517 | BackSpace keysym (not likely for Linux ... see the following |
706 | BackSpace keysym (not likely for Linux ... see the following |
518 | question) there are two standard values that can be used for |
707 | question) there are two standard values that can be used for |
… | |
… | |
537 | |
726 | |
538 | # use Backspace = ^? |
727 | # use Backspace = ^? |
539 | $ stty erase ^? |
728 | $ stty erase ^? |
540 | $ rxvt |
729 | $ rxvt |
541 | |
730 | |
542 | Toggle with "ESC [ 36 h" / "ESC [ 36 l" as documented in rxvt(7). |
731 | Toggle with "ESC [ 36 h" / "ESC [ 36 l". |
543 | |
732 | |
544 | For an existing rxvt-unicode: |
733 | For an existing rxvt-unicode: |
545 | |
734 | |
546 | # use Backspace = ^H |
735 | # use Backspace = ^H |
547 | $ stty erase ^H |
736 | $ stty erase ^H |