1 |
=head1 NAME |
2 |
|
3 |
rxvt-unicode (ouR XVT, unicode) - (a VT102 emulator for the X window system) |
4 |
|
5 |
=head1 SYNOPSIS |
6 |
|
7 |
B<@@RXVT_NAME@@> [options] [-e command [ args ]] |
8 |
|
9 |
=head1 DESCRIPTION |
10 |
|
11 |
B<rxvt-unicode>, version B<@@RXVT_VERSION@@>, is a colour vt102 terminal |
12 |
emulator intended as an I<xterm>(1) replacement for users who do not |
13 |
require features such as Tektronix 4014 emulation and toolkit-style |
14 |
configurability. As a result, B<rxvt-unicode> uses much less swap space -- |
15 |
a significant advantage on a machine serving many X sessions. |
16 |
|
17 |
This document is also available on the World-Wide-Web at |
18 |
L<http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.1.pod>. |
19 |
|
20 |
=head1 FREQUENTLY ASKED QUESTIONS |
21 |
|
22 |
See @@RXVT_NAME@@(7) (try C<man 7 @@RXVT_NAME@@>) for a list of |
23 |
frequently asked questions and answer to them and some common |
24 |
problems. That document is also accessible on the World-Wide-Web at |
25 |
L<http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.7.pod>. |
26 |
|
27 |
=head1 RXVT-UNICODE VS. RXVT |
28 |
|
29 |
Unlike the original rxvt, B<rxvt-unicode> stores all text in Unicode |
30 |
internally. That means it can store and display most scripts in the |
31 |
world. Being a terminal emulator, however, some things are very difficult, |
32 |
especially cursive scripts such as arabic, vertically written scripts |
33 |
like mongolian or scripts requiring extremely complex combining rules, |
34 |
like tibetan or devanagari. Don't expect pretty output when using these |
35 |
scripts. Most other scripts, latin, cyrillic, kanji, thai etc. should work |
36 |
fine, though. A somewhat difficult case are right-to-left scripts, such |
37 |
as hebrew: B<rxvt-unicode> adopts the view that bidirectional algorithms |
38 |
belong in the application, not the terminal emulator (too many things -- |
39 |
such as cursor-movement while editing -- break otherwise), but that might |
40 |
change. |
41 |
|
42 |
If you are looking for a terminal that supports more exotic scripts, let |
43 |
me recommend C<mlterm>, which is a very user friendly, lean and clean |
44 |
terminal emulator. In fact, the reason rxvt-unicode was born was solely |
45 |
because the author couldn't get C<mlterm> to use one font for latin1 and |
46 |
another for japanese. |
47 |
|
48 |
Therefore another design rationale was the use of multiple fonts to |
49 |
display characters: The idea of a single unicode font which many other |
50 |
programs force onto its users never made sense to me: You should be able |
51 |
to choose any font for any script freely. |
52 |
|
53 |
Apart from that, rxvt-unicode is also much better internationalised than |
54 |
its predecessor, supports things such as XFT and ISO 14755 that are handy |
55 |
in i18n-environments, is faster, and has a lot bugs less than the original |
56 |
rxvt. This all in addition to dozens of other small improvements. |
57 |
|
58 |
It is still faithfully following the original rxvt idea of being lean |
59 |
and nice on resources: for example, you can still configure rxvt-unicode |
60 |
without most of its features to get a lean binary. It also comes with |
61 |
a client/daemon pair that lets you open any number of terminal windows |
62 |
from within a single process, which makes startup time very fast and |
63 |
drastically reduces memory usage. See @@RXVT_NAME@@d(1) (daemon) and |
64 |
@@RXVT_NAME@@c(1) (client). |
65 |
|
66 |
It also makes technical information about escape sequences (which have |
67 |
been extended) more accessible: see @@RXVT_NAME@@(7) for technical |
68 |
reference documentation (escape sequences etc.). |
69 |
|
70 |
=head1 OPTIONS |
71 |
|
72 |
The B<@@RXVT_NAME@@> options (mostly a subset of I<xterm>'s) are listed |
73 |
below. In keeping with the smaller-is-better philosophy, options may be |
74 |
eliminated or default values chosen at compile-time, so options and |
75 |
defaults listed may not accurately reflect the version installed on |
76 |
your system. `@@RXVT_NAME@@ -h' gives a list of major compile-time options on |
77 |
the I<Options> line. Option descriptions may be prefixed with which |
78 |
compile option each is dependent upon. e.g. `Compile I<XIM>:' requires |
79 |
I<XIM> on the I<Options> line. Note: `@@RXVT_NAME@@ -help' gives a list of all |
80 |
command-line options compiled into your version. |
81 |
|
82 |
Note that B<@@RXVT_NAME@@> permits the resource name to be used as a |
83 |
long-option (--/++ option) so the potential command-line options are |
84 |
far greater than those listed. For example: `@@RXVT_NAME@@ --loginShell --color1 |
85 |
Orange'. |
86 |
|
87 |
The following options are available: |
88 |
|
89 |
=over |
90 |
|
91 |
=item B<-help>, B<--help> |
92 |
|
93 |
Print out a message describing available options. |
94 |
|
95 |
=item B<-display> I<displayname> |
96 |
|
97 |
Attempt to open a window on the named X display (the older form B<-d> |
98 |
is still respected. but deprecated). In the absence of this option, the |
99 |
display specified by the B<DISPLAY> environment variable is used. |
100 |
|
101 |
=item B<-depth> I<bitdepth> |
102 |
|
103 |
Compile I<frills>: Attempt to find a visual with the given bit depth; |
104 |
resource B<depth>. |
105 |
|
106 |
[Please note that many X servers (and libXft) are buggy with |
107 |
respect to C<-depth 32> and/or alpha channels, and will cause all sorts |
108 |
of graphical corruption. This is harmless, but we can't do anything about |
109 |
this, so watch out] |
110 |
|
111 |
=item B<-visual> I<visualID> |
112 |
|
113 |
Compile I<frills>: Use the given visual (see e.g. C<xdpyinfo> for |
114 |
possible visual ids) instead of the default, and also allocate a private |
115 |
colormap. All visual types except for DirectColor are supported. |
116 |
|
117 |
=item B<-geometry> I<geom> |
118 |
|
119 |
Window geometry (B<-g> still respected); resource B<geometry>. |
120 |
|
121 |
=item B<-rv>|B<+rv> |
122 |
|
123 |
Turn on/off simulated reverse video; resource B<reverseVideo>. |
124 |
|
125 |
=item B<-j>|B<+j> |
126 |
|
127 |
Turn on/off jump scrolling (allow multiple lines per refresh); resource B<jumpScroll>. |
128 |
|
129 |
=item B<-ss>|B<+ss> |
130 |
|
131 |
Turn on/off skip scrolling (allow multiple screens per refresh); resource B<skipScroll>. |
132 |
|
133 |
=item B<-fps> I<number> |
134 |
|
135 |
Compile I<frills>: Set the refresh interval (in frames per second or |
136 |
negative seconds); resource B<refreshRate>. |
137 |
|
138 |
=item B<-fade> I<number> |
139 |
|
140 |
Fade the text by the given percentage when focus is lost. Small values |
141 |
fade a little only, 100 completely replaces all colours by the fade |
142 |
colour; resource B<fading>. |
143 |
|
144 |
=item B<-fadecolor> I<colour> |
145 |
|
146 |
Fade to this colour when fading is used (see B<-fade>). The default colour |
147 |
is opaque black. resource B<fadeColor>. |
148 |
|
149 |
=item B<-icon> I<file> |
150 |
|
151 |
Compile I<pixbuf>: Use the specified image as application icon. This |
152 |
is used by many window managers, taskbars and pagers to represent the |
153 |
application window; resource I<iconFile>. |
154 |
|
155 |
=item B<-bg> I<colour> |
156 |
|
157 |
Window background colour; resource B<background>. |
158 |
|
159 |
=item B<-fg> I<colour> |
160 |
|
161 |
Window foreground colour; resource B<foreground>. |
162 |
|
163 |
=item B<-cr> I<colour> |
164 |
|
165 |
The cursor colour; resource B<cursorColor>. |
166 |
|
167 |
=item B<-pr> I<colour> |
168 |
|
169 |
The mouse pointer foreground colour; resource B<pointerColor>. |
170 |
|
171 |
=item B<-pr2> I<colour> |
172 |
|
173 |
The mouse pointer background colour; resource B<pointerColor2>. |
174 |
|
175 |
=item B<-bd> I<colour> |
176 |
|
177 |
The colour of the border around the text area and between the scrollbar and the text; |
178 |
resource B<borderColor>. |
179 |
|
180 |
=item B<-fn> I<fontlist> |
181 |
|
182 |
Select the fonts to be used. This is a comma separated list of font names |
183 |
that are checked in order when trying to find glyphs for characters. The |
184 |
first font defines the cell size for characters; other fonts might be |
185 |
smaller, but not (in general) larger. A (hopefully) reasonable default |
186 |
font list is always appended to it. See resource B<font> for more details. |
187 |
|
188 |
In short, to specify an X11 core font, just specify its name or prefix it |
189 |
with C<x:>. To specify an XFT-font, you need to prefix it with C<xft:>, |
190 |
e.g.: |
191 |
|
192 |
@@RXVT_NAME@@ -fn "xft:Bitstream Vera Sans Mono:pixelsize=15" |
193 |
@@RXVT_NAME@@ -fn "9x15bold,xft:Bitstream Vera Sans Mono" |
194 |
|
195 |
See also the question "How does rxvt-unicode choose fonts?" in the FAQ |
196 |
section of @@RXVT_NAME@@(7). |
197 |
|
198 |
=item B<-fb> I<fontlist> |
199 |
|
200 |
Compile I<font-styles>: The bold font list to use when B<bold> characters |
201 |
are to be printed. See resource B<boldFont> for details. |
202 |
|
203 |
=item B<-fi> I<fontlist> |
204 |
|
205 |
Compile I<font-styles>: The italic font list to use when I<italic> |
206 |
characters are to be printed. See resource B<italicFont> for details. |
207 |
|
208 |
=item B<-fbi> I<fontlist> |
209 |
|
210 |
Compile I<font-styles>: The bold italic font list to use when B<< I<bold |
211 |
italic> >> characters are to be printed. See resource B<boldItalicFont> |
212 |
for details. |
213 |
|
214 |
=item B<-is>|B<+is> |
215 |
|
216 |
Compile I<font-styles>: Bold/Blink font styles imply high intensity |
217 |
foreground/background (default). See resource B<intensityStyles> for |
218 |
details. |
219 |
|
220 |
=item B<-name> I<name> |
221 |
|
222 |
Specify the application name under which resources are to be obtained, |
223 |
rather than the default executable file name. Name should not contain |
224 |
`.' or `*' characters. Also sets the icon and title name. |
225 |
|
226 |
=item B<-ls>|B<+ls> |
227 |
|
228 |
Start as a login-shell/sub-shell; resource B<loginShell>. |
229 |
|
230 |
=item B<-mc> I<milliseconds> |
231 |
|
232 |
Specify the maximum time between multi-click selections. |
233 |
|
234 |
=item B<-ut>|B<+ut> |
235 |
|
236 |
Compile I<utmp>: Inhibit/enable writing a utmp entry; resource |
237 |
B<utmpInhibit>. |
238 |
|
239 |
=item B<-vb>|B<+vb> |
240 |
|
241 |
Turn on/off visual bell on receipt of a bell character; resource |
242 |
B<visualBell>. |
243 |
|
244 |
=item B<-sb>|B<+sb> |
245 |
|
246 |
Turn on/off scrollbar; resource B<scrollBar>. |
247 |
|
248 |
=item B<-sr>|B<+sr> |
249 |
|
250 |
Put scrollbar on right/left; resource B<scrollBar_right>. |
251 |
|
252 |
=item B<-st>|B<+st> |
253 |
|
254 |
Display rxvt (non XTerm/NeXT) scrollbar without/with a trough; |
255 |
resource B<scrollBar_floating>. |
256 |
|
257 |
=item B<-si>|B<+si> |
258 |
|
259 |
Turn on/off scroll-to-bottom on TTY output inhibit; resource |
260 |
B<scrollTtyOutput> has opposite effect. |
261 |
|
262 |
=item B<-sk>|B<+sk> |
263 |
|
264 |
Turn on/off scroll-to-bottom on keypress; resource |
265 |
B<scrollTtyKeypress>. |
266 |
|
267 |
=item B<-sw>|B<+sw> |
268 |
|
269 |
Turn on/off scrolling with the scrollback buffer as new lines appear. |
270 |
This only takes effect if B<-si> is also given; resource |
271 |
B<scrollWithBuffer>. |
272 |
|
273 |
=item B<-ptab>|B<+ptab> |
274 |
|
275 |
If enabled (default), "Horizontal Tab" characters are being stored as |
276 |
actual wide characters in the screen buffer, which makes it possible to |
277 |
select and paste them. Since a horizontal tab is a cursor movement and |
278 |
not an actual glyph, this can sometimes be visually annoying as the cursor |
279 |
on a tab character is displayed as a wide cursor; resource B<pastableTabs>. |
280 |
|
281 |
=item B<-bc>|B<+bc> |
282 |
|
283 |
Blink the cursor; resource B<cursorBlink>. |
284 |
|
285 |
=item B<-uc>|B<+uc> |
286 |
|
287 |
Make the cursor underlined; resource B<cursorUnderline>. |
288 |
|
289 |
=item B<-iconic> |
290 |
|
291 |
Start iconified, if the window manager supports that option. |
292 |
Alternative form is B<-ic>. |
293 |
|
294 |
=item B<-sl> I<number> |
295 |
|
296 |
Save I<number> lines in the scrollback buffer. See resource entry for |
297 |
limits; resource B<saveLines>. |
298 |
|
299 |
=item B<-b> I<number> |
300 |
|
301 |
Compile I<frills>: Internal border of I<number> pixels. See resource |
302 |
entry for limits; resource B<internalBorder>. |
303 |
|
304 |
=item B<-w> I<number> |
305 |
|
306 |
Compile I<frills>: External border of I<number> pixels. Also, B<-bw> |
307 |
and B<-borderwidth>. See resource entry for limits; resource |
308 |
B<externalBorder>. |
309 |
|
310 |
=item B<-bl> |
311 |
|
312 |
Compile I<frills>: Set MWM hints to request a borderless window, i.e. |
313 |
if honoured by the WM, the rxvt-unicode window will not have window |
314 |
decorations; resource B<borderLess>. If the window manager does not |
315 |
support MWM hints (e.g. kwin), enables override-redirect mode. |
316 |
|
317 |
=item B<-override-redirect> |
318 |
|
319 |
Compile I<frills>: Sets override-redirect on the window; resource |
320 |
B<override-redirect>. |
321 |
|
322 |
=item B<-dockapp> |
323 |
|
324 |
Sets the initial state of the window to WithdrawnState, which makes |
325 |
window managers that support this extension treat it as a dockapp. |
326 |
|
327 |
=item B<-sbg> |
328 |
|
329 |
Compile I<frills>: Disable the usage of the built-in block graphics/line |
330 |
drawing characters and just rely on what the specified fonts provide. Use |
331 |
this if you have a good font and want to use its block graphic glyphs; |
332 |
resource B<skipBuiltinGlyphs>. |
333 |
|
334 |
=item B<-lsp> I<number> |
335 |
|
336 |
Compile I<frills>: Lines (pixel height) to insert between each row of |
337 |
the display. Useful to work around font rendering problems; resource |
338 |
B<lineSpace>. |
339 |
|
340 |
=item B<-letsp> I<number> |
341 |
|
342 |
Compile I<frills>: Amount to adjust the computed character width by |
343 |
to control overall letter spacing. Negative values will tighten up the |
344 |
letter spacing, positive values will space letters out more. Useful to |
345 |
work around odd font metrics; resource B<letterSpace>. |
346 |
|
347 |
=item B<-tn> I<termname> |
348 |
|
349 |
This option specifies the name of the terminal type to be set in the |
350 |
B<TERM> environment variable. This terminal type must exist in the |
351 |
I<termcap(5)> database and should have I<li#> and I<co#> entries; |
352 |
resource B<termName>. |
353 |
|
354 |
=item B<-e> I<command [arguments]> |
355 |
|
356 |
Run the command with its command-line arguments in the B<@@RXVT_NAME@@> |
357 |
window; also sets the window title and icon name to be the basename of |
358 |
the program being executed if neither I<-title> (I<-T>) nor I<-n> are |
359 |
given on the command line. If this option is used, it must be the last |
360 |
on the command-line. If there is no B<-e> option then the default is to |
361 |
run the program specified by the B<SHELL> environment variable or, |
362 |
failing that, I<sh(1)>. |
363 |
|
364 |
Please note that you must specify a program with arguments. If you want to |
365 |
run shell commands, you have to specify the shell, like this: |
366 |
|
367 |
@@RXVT_NAME@@ -e sh -c "shell commands" |
368 |
|
369 |
=item B<-title> I<text> |
370 |
|
371 |
Window title (B<-T> still respected); the default title is the basename |
372 |
of the program specified after the B<-e> option, if any, otherwise the |
373 |
application name; resource B<title>. |
374 |
|
375 |
=item B<-n> I<text> |
376 |
|
377 |
Icon name; the default name is the basename of the program specified |
378 |
after the B<-e> option, if any, otherwise the application name; |
379 |
resource B<iconName>. |
380 |
|
381 |
=item B<-C> |
382 |
|
383 |
Capture system console messages. |
384 |
|
385 |
=item B<-pt> I<style> |
386 |
|
387 |
Compile I<XIM>: input style for input method; B<OverTheSpot>, |
388 |
B<OffTheSpot>, B<Root>; resource B<preeditType>. |
389 |
|
390 |
If the perl extension C<xim-onthespot> is used (which is the default), |
391 |
then additionally the C<OnTheSpot> preedit type is available. |
392 |
|
393 |
=item B<-im> I<text> |
394 |
|
395 |
Compile I<XIM>: input method name. resource B<inputMethod>. |
396 |
|
397 |
=item B<-imlocale> I<string> |
398 |
|
399 |
The locale to use for opening the IM. You can use an C<LC_CTYPE> of e.g. |
400 |
C<de_DE.UTF-8> for normal text processing but C<ja_JP.EUC-JP> for the |
401 |
input extension to be able to input japanese characters while staying in |
402 |
another locale. resource B<imLocale>. |
403 |
|
404 |
=item B<-imfont> I<fontset> |
405 |
|
406 |
Set the font set to use for the X Input Method, see resource B<imFont> |
407 |
for more info. |
408 |
|
409 |
=item B<-tcw> |
410 |
|
411 |
Change the meaning of triple-click selection with the left mouse |
412 |
button. Only effective when the original (non-perl) selection code is |
413 |
in-use. Instead of selecting a full line it will extend the selection to |
414 |
the end of the logical line only. resource B<tripleclickwords>. |
415 |
|
416 |
=item B<-dpb>|B<+dpb> |
417 |
|
418 |
Compile frills: Disable (or enable) emitting bracketed paste mode |
419 |
sequences (default enabled). Bracketed paste mode allows programs |
420 |
to detect when something is pasted. Since more and more programs |
421 |
abuse this, these sequences can be disabled. The command sequences to |
422 |
enable and query paste mode will still work, but the actual bracket |
423 |
sequences will no longer be emitted. You can also toggle this from the |
424 |
ctrl-middle-mouse-button menu; resource B<disablePasteBrackets>. |
425 |
|
426 |
=item B<-insecure> |
427 |
|
428 |
Enable "insecure" mode, which currently enables most of the escape |
429 |
sequences that echo strings. See the resource B<insecure> for more |
430 |
info. |
431 |
|
432 |
=item B<-mod> I<modifier> |
433 |
|
434 |
Override detection of Meta modifier with specified key: B<alt>, |
435 |
B<meta>, B<hyper>, B<super>, B<mod1>, B<mod2>, B<mod3>, B<mod4>, |
436 |
B<mod5>; resource I<modifier>. |
437 |
|
438 |
=item B<-ssc>|B<+ssc> |
439 |
|
440 |
Turn on/off secondary screen (default enabled); resource |
441 |
B<secondaryScreen>. |
442 |
|
443 |
=item B<-ssr>|B<+ssr> |
444 |
|
445 |
Turn on/off secondary screen scroll (default enabled); resource |
446 |
B<secondaryScroll>. |
447 |
|
448 |
=item B<-rm> I<mode> |
449 |
|
450 |
Compile I<frills>: Sets long line rewrapping behaviour on window resizes |
451 |
to one of B<auto> (the default), B<always> or B<never>. The latter two |
452 |
modes do the obvious, B<auto> rewraps (acts like B<always>) if scrollback |
453 |
is non-empty, and wings lines (acts like B<never>) otherwise; resource |
454 |
B<rewrapMode>. |
455 |
|
456 |
=item B<-hold>|B<+hold> |
457 |
|
458 |
Turn on/off hold window after exit support. If enabled, @@RXVT_NAME@@ |
459 |
will not immediately destroy its window when the program executed within |
460 |
it exits. Instead, it will wait till it is being killed or closed by the |
461 |
user; resource B<hold>. |
462 |
|
463 |
=item B<-cd> I<path> |
464 |
|
465 |
Sets the working directory for the shell (or the command specified via |
466 |
B<-e>). The I<path> must be an absolute path and it must exist for |
467 |
@@RXVT_NAME@@ to start; resource B<chdir>. |
468 |
|
469 |
=item B<-xrm> I<string> |
470 |
|
471 |
Works like the X Toolkit option of the same name, by adding the I<string> |
472 |
as if it were specified in a resource file. Resource values specified this |
473 |
way take precedence over all other resource specifications. |
474 |
|
475 |
Note that you need to use the I<same> syntax as in the .Xdefaults file, |
476 |
e.g. C<*.background: black>. Also note that all @@RXVT_NAME@@-specific |
477 |
options can be specified as long-options on the commandline, so use |
478 |
of B<-xrm> is mostly limited to cases where you want to specify other |
479 |
resources (e.g. for input methods) or for compatibility with other |
480 |
programs. |
481 |
|
482 |
=item B<-keysym.>I<sym> I<string> |
483 |
|
484 |
Remap a key symbol. See resource B<keysym>. |
485 |
|
486 |
=item B<-embed> I<windowid> |
487 |
|
488 |
Tells @@RXVT_NAME@@ to embed its windows into an already-existing window, |
489 |
which enables applications to easily embed a terminal. |
490 |
|
491 |
Right now, @@RXVT_NAME@@ will first unmap/map the specified window, so it |
492 |
shouldn't be a top-level window. @@RXVT_NAME@@ will also reconfigure it |
493 |
quite a bit, so don't expect it to keep some specific state. It's best to |
494 |
create an extra subwindow for @@RXVT_NAME@@ and leave it alone. |
495 |
|
496 |
The window will not be destroyed when @@RXVT_NAME@@ exits. |
497 |
|
498 |
It might be useful to know that @@RXVT_NAME@@ will not close file |
499 |
descriptors passed to it (except for stdin/out/err, of course), so you |
500 |
can use file descriptors to communicate with the programs within the |
501 |
terminal. This works regardless of whether the C<-embed> option was used or |
502 |
not. |
503 |
|
504 |
Here is a short Gtk2-perl snippet that illustrates how this option can be |
505 |
used (a longer example is in F<doc/embed>): |
506 |
|
507 |
my $rxvt = new Gtk2::Socket; |
508 |
$rxvt->signal_connect_after (realize => sub { |
509 |
my $xid = $_[0]->window->get_xid; |
510 |
system "@@RXVT_NAME@@ -embed $xid &"; |
511 |
}); |
512 |
|
513 |
=item B<-pty-fd> I<file descriptor> |
514 |
|
515 |
Tells @@RXVT_NAME@@ NOT to execute any commands or create a new pty/tty |
516 |
pair but instead use the given file descriptor as the tty master. This is |
517 |
useful if you want to drive @@RXVT_NAME@@ as a generic terminal emulator |
518 |
without having to run a program within it. |
519 |
|
520 |
If this switch is given, @@RXVT_NAME@@ will not create any utmp/wtmp |
521 |
entries and will not tinker with pty/tty permissions - you have to do that |
522 |
yourself if you want that. |
523 |
|
524 |
As an extremely special case, specifying C<-1> will completely suppress |
525 |
pty/tty operations, which is probably only useful in conjunction with some |
526 |
perl extension that manages the terminal. |
527 |
|
528 |
Here is a example in perl that illustrates how this option can be used (a |
529 |
longer example is in F<doc/pty-fd>): |
530 |
|
531 |
use IO::Pty; |
532 |
use Fcntl; |
533 |
|
534 |
my $pty = new IO::Pty; |
535 |
fcntl $pty, F_SETFD, 0; # clear close-on-exec |
536 |
system "@@RXVT_NAME@@ -pty-fd " . (fileno $pty) . "&"; |
537 |
close $pty; |
538 |
|
539 |
# now communicate with rxvt |
540 |
my $slave = $pty->slave; |
541 |
while (<$slave>) { print $slave "got <$_>\n" } |
542 |
|
543 |
Note that, despite what the name might imply, the file descriptor does not |
544 |
need to be a pty, it can be a bi-directional pipe as well (e.g. a unix |
545 |
domain or tcp socket). While tty operations cannot be done in this case, |
546 |
B<@@RXVT_NAME@@> can still be remote controlled with it: |
547 |
|
548 |
use Socket; |
549 |
use Fcntl; |
550 |
|
551 |
socketpair my $URXVT, my $slave, Socket::AF_UNIX, Socket::SOCK_STREAM, Socket::PF_UNSPEC; |
552 |
fcntl $slave, Fcntl::F_SETFD, 0; |
553 |
system "exec @@RXVT_NAME@@ -pty-fd " . (fileno $slave) . " &"; |
554 |
close $slave; |
555 |
|
556 |
syswrite $URXVT, "Type a secret password: "; |
557 |
my $secret = do { local $/ = "\r"; <$URXVT> }; |
558 |
print "Not so secret anymore: $secret\n"; |
559 |
|
560 |
=item B<-pe> I<string> |
561 |
|
562 |
Comma-separated list of perl extension scripts to use (or not to use) in |
563 |
this terminal instance. See resource B<perl-ext> for details. |
564 |
|
565 |
=back |
566 |
|
567 |
=head1 RESOURCES |
568 |
|
569 |
Note: `@@RXVT_NAME@@ --help' gives a list of all resources (long |
570 |
options) compiled into your version. All resources are also available as |
571 |
long-options. |
572 |
|
573 |
You can set and change the resources using X11 tools like B<xrdb>. Many |
574 |
distribution do also load settings from the B<~/.Xresources> file when X |
575 |
starts. @@RXVT_NAME@@ will consult the following files/resources in order, |
576 |
with later settings overwriting earlier ones: |
577 |
|
578 |
1. app-defaults file in $XAPPLRESDIR |
579 |
2. $HOME/.Xdefaults |
580 |
3. RESOURCE_MANAGER property on root-window of screen 0 |
581 |
4. SCREEN_RESOURCES property on root-window of the current screen |
582 |
5. $XENVIRONMENT file OR $HOME/.Xdefaults-<nodename> |
583 |
6. resources specified via -xrm on the commandline |
584 |
|
585 |
Note that when reading X resources, B<@@RXVT_NAME@@> recognizes two class |
586 |
names: B<Rxvt> and B<URxvt>. The class name B<Rxvt> allows resources |
587 |
common to both B<@@RXVT_NAME@@> and the original I<rxvt> to be easily |
588 |
configured, while the class name B<URxvt> allows resources unique to |
589 |
B<@@RXVT_NAME@@>, to be shared between different B<@@RXVT_NAME@@> |
590 |
configurations. If no resources are specified, suitable defaults will |
591 |
be used. Command-line arguments can be used to override resource |
592 |
settings. The following resources are supported (you might want to |
593 |
check the @@RXVT_NAME@@perl(3) manpage for additional settings by perl |
594 |
extensions not documented here): |
595 |
|
596 |
=over |
597 |
|
598 |
=item B<depth:> I<bitdepth> |
599 |
|
600 |
Compile I<xft>: Attempt to find a visual with the given bit depth; |
601 |
option B<-depth>. |
602 |
|
603 |
=item B<buffered:> I<boolean> |
604 |
|
605 |
Compile I<xft>: Turn on/off double-buffering for xft (default enabled). |
606 |
On some card/driver combination enabling it slightly decreases |
607 |
performance, on most it greatly helps it. The slowdown is small, so it |
608 |
should normally be enabled. |
609 |
|
610 |
=item B<geometry:> I<geom> |
611 |
|
612 |
Create the window with the specified X window geometry [default 80x24]; |
613 |
option B<-geometry>. |
614 |
|
615 |
=item B<background:> I<colour> |
616 |
|
617 |
Use the specified colour as the window's background colour [default |
618 |
White]; option B<-bg>. |
619 |
|
620 |
=item B<foreground:> I<colour> |
621 |
|
622 |
Use the specified colour as the window's foreground colour [default |
623 |
Black]; option B<-fg>. |
624 |
|
625 |
=item B<color>I<n>B<:> I<colour> |
626 |
|
627 |
Use the specified colour for the colour value I<n>, where 0-7 |
628 |
corresponds to low-intensity (normal) colours and 8-15 corresponds to |
629 |
high-intensity (bold = bright foreground, blink = bright background) |
630 |
colours. The canonical names are as follows: 0=black, 1=red, 2=green, |
631 |
3=yellow, 4=blue, 5=magenta, 6=cyan, 7=white, but the actual colour |
632 |
names used are listed in the B<COLOURS AND GRAPHICS> section. |
633 |
|
634 |
Colours higher than 15 cannot be set using resources (yet), but can be |
635 |
changed using an escape command (see @@RXVT_NAME@@(7)). |
636 |
|
637 |
Colours 16-79 form a standard 4x4x4 colour cube (the same as xterm with |
638 |
88 colour support). Colours 80-87 are evenly spaces grey steps. |
639 |
|
640 |
=item B<colorBD:> I<colour> |
641 |
|
642 |
=item B<colorIT:> I<colour> |
643 |
|
644 |
Use the specified colour to display bold or italic characters when the |
645 |
foreground colour is the default. If font styles are not available |
646 |
(Compile I<styles>) and this option is unset, reverse video is used instead. |
647 |
|
648 |
=item B<colorUL:> I<colour> |
649 |
|
650 |
Use the specified colour to display underlined characters when the |
651 |
foreground colour is the default. |
652 |
|
653 |
=item B<underlineColor:> I<colour> |
654 |
|
655 |
If set, use the specified colour as the colour for the underline |
656 |
itself. If unset, use the foreground colour. |
657 |
|
658 |
=item B<highlightColor:> I<colour> |
659 |
|
660 |
If set, use the specified colour as the background for highlighted |
661 |
characters. If unset, use reverse video. |
662 |
|
663 |
=item B<highlightTextColor:> I<colour> |
664 |
|
665 |
If set and highlightColor is set, use the specified colour as the |
666 |
foreground for highlighted characters. |
667 |
|
668 |
=item B<cursorColor:> I<colour> |
669 |
|
670 |
Use the specified colour for the cursor. The default is to use the |
671 |
foreground colour; option B<-cr>. |
672 |
|
673 |
=item B<cursorColor2:> I<colour> |
674 |
|
675 |
Use the specified colour for the colour of the cursor text. For this to |
676 |
take effect, B<cursorColor> must also be specified. The default is to |
677 |
use the background colour. |
678 |
|
679 |
=item B<reverseVideo:> I<boolean> |
680 |
|
681 |
B<True>: simulate reverse video by foreground and background colours; |
682 |
option B<-rv>. B<False>: regular screen colours [default]; option |
683 |
B<+rv>. See note in B<COLOURS AND GRAPHICS> section. |
684 |
|
685 |
=item B<jumpScroll:> I<boolean> |
686 |
|
687 |
B<True>: specify that jump scrolling should be used. When receiving lots |
688 |
of lines, @@RXVT_NAME@@ will only scroll once a whole screen height of lines |
689 |
has been read, resulting in fewer updates while still displaying every |
690 |
received line; option B<-j>. |
691 |
|
692 |
B<False>: specify that smooth scrolling should be used. @@RXVT_NAME@@ will |
693 |
force a screen refresh on each new line it received; option B<+j>. |
694 |
|
695 |
=item B<skipScroll:> I<boolean> |
696 |
|
697 |
B<True>: (the default) specify that skip scrolling should be used. When |
698 |
receiving lots of lines, @@RXVT_NAME@@ will only scroll once in a while |
699 |
(around 60 times per second), resulting in far fewer updates. This can |
700 |
result in @@RXVT_NAME@@ not ever displaying some of the lines it receives; |
701 |
option B<-ss>. |
702 |
|
703 |
B<False>: specify that everything is to be displayed, even |
704 |
if the refresh is too fast for the human eye to read anything (or the |
705 |
monitor to display anything); option B<+ss>. |
706 |
|
707 |
=item B<refreshRate:> I<number> |
708 |
|
709 |
Compile I<frills>: When positive, sets the maximum refreshes per second |
710 |
(the default is C<60>). When zero or negative, sets the minimum interval |
711 |
between refreshes, negated. That is, positive numbers limit the number |
712 |
of refreshes per second to that number, similar to a fps limiter in |
713 |
games. A negative number gets negated and directly sets the minimum |
714 |
interval between refreshes, that is, C<10> and C<-0.1> both specify |
715 |
the same refresh interval (likewise C<50> and C<0.02>). Finally, zero |
716 |
makes @@RXVT_NAME@@ refresh as fast as possible. Fractional values are |
717 |
supported; option B<-fps>. |
718 |
|
719 |
=item B<fading:> I<number> |
720 |
|
721 |
Fade the text by the given percentage when focus is lost; option B<-fade>. |
722 |
|
723 |
=item B<fadeColor:> I<colour> |
724 |
|
725 |
Fade to this colour, when fading is used (see B<fading:>). The default |
726 |
colour is black; option B<-fadecolor>. |
727 |
|
728 |
=item B<iconFile:> I<file> |
729 |
|
730 |
Set the application icon pixmap; option B<-icon>. |
731 |
|
732 |
=item B<scrollColor:> I<colour> |
733 |
|
734 |
Use the specified colour for the scrollbar [default #B2B2B2]. |
735 |
|
736 |
=item B<troughColor:> I<colour> |
737 |
|
738 |
Use the specified colour for the scrollbar's trough area [default |
739 |
#969696]. Only relevant for rxvt (non XTerm/NeXT) scrollbar. |
740 |
|
741 |
=item B<borderColor:> I<colour> |
742 |
|
743 |
The colour of the border around the text area and between the scrollbar |
744 |
and the text. |
745 |
|
746 |
=item B<font:> I<fontlist> |
747 |
|
748 |
Select the fonts to be used. This is a comma separated list of font names |
749 |
that are checked in order when trying to find glyphs for characters. The |
750 |
first font defines the cell size for characters; other fonts might be |
751 |
smaller, but not (in general) larger. A (hopefully) reasonable default |
752 |
font list is always appended to it; option B<-fn>. |
753 |
|
754 |
Each font can either be a standard X11 core font (XLFD) name, with |
755 |
optional prefix C<x:> or a Xft font (Compile I<xft>), prefixed with C<xft:>. |
756 |
|
757 |
In addition, each font can be prefixed with additional hints and |
758 |
specifications enclosed in square brackets (C<[]>). The only available |
759 |
hint currently is C<codeset=codeset-name>, and this is only used for Xft |
760 |
fonts. |
761 |
|
762 |
For example, this font resource |
763 |
|
764 |
URxvt.font: 9x15bold,\ |
765 |
-misc-fixed-bold-r-normal--15-140-75-75-c-90-iso10646-1,\ |
766 |
-misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1, \ |
767 |
[codeset=JISX0208]xft:Kochi Gothic:antialias=false, \ |
768 |
xft:Code2000:antialias=false |
769 |
|
770 |
specifies five fonts to be used. The first one is C<9x15bold> (actually |
771 |
the iso8859-1 version of the second font), which is the base font (because |
772 |
it is named first) and thus defines the character cell grid to be 9 pixels |
773 |
wide and 15 pixels high. |
774 |
|
775 |
The second font is just used to add additional unicode characters not in |
776 |
the base font, likewise the third, which is unfortunately non-bold, but |
777 |
the bold version of the font does contain fewer characters, so this is a |
778 |
useful supplement. |
779 |
|
780 |
The third font is an Xft font with aliasing turned off, and the characters |
781 |
are limited to the B<JIS 0208> codeset (i.e. japanese kanji). The font |
782 |
contains other characters, but we are not interested in them. |
783 |
|
784 |
The last font is a useful catch-all font that supplies most of the |
785 |
remaining unicode characters. |
786 |
|
787 |
=item B<boldFont:> I<fontlist> |
788 |
|
789 |
=item B<italicFont:> I<fontlist> |
790 |
|
791 |
=item B<boldItalicFont:> I<fontlist> |
792 |
|
793 |
The font list to use for displaying B<bold>, I<italic> or B<< I<bold |
794 |
italic> >> characters, respectively. |
795 |
|
796 |
If specified and non-empty, then the syntax is the same as for the |
797 |
B<font>-resource, and the given font list will be used as is, which makes |
798 |
it possible to substitute completely different font styles for bold and |
799 |
italic. |
800 |
|
801 |
If unset (the default), a suitable font list will be synthesized by |
802 |
"morphing" the normal text font list into the desired shape. If that is |
803 |
not possible, replacement fonts of the desired shape will be tried. |
804 |
|
805 |
If set, but empty, then this specific style is disabled and the normal |
806 |
text font will being used for the given style. |
807 |
|
808 |
=item B<intensityStyles:> I<boolean> |
809 |
|
810 |
When font styles are not enabled, or this option is enabled (B<True>, |
811 |
option B<-is>, the default), bold/blink font styles imply high |
812 |
intensity foreground/background colours. Disabling this option (B<False>, |
813 |
option B<+is>) disables this behaviour, the high intensity colours are not |
814 |
reachable. |
815 |
|
816 |
=item B<title:> I<string> |
817 |
|
818 |
Set window title string, the default title is the command-line |
819 |
specified after the B<-e> option, if any, otherwise the application |
820 |
name; option B<-title>. |
821 |
|
822 |
=item B<iconName:> I<string> |
823 |
|
824 |
Set the name used to label the window's icon or displayed in an icon |
825 |
manager window, it also sets the window's title unless it is explicitly |
826 |
set; option B<-n>. |
827 |
|
828 |
=item B<mapAlert:> I<boolean> |
829 |
|
830 |
B<True>: de-iconify (map) on receipt of a bell character. B<False>: no |
831 |
de-iconify (map) on receipt of a bell character [default]. |
832 |
|
833 |
=item B<urgentOnBell:> I<boolean> |
834 |
|
835 |
B<True>: set the urgency hint for the wm on receipt of a bell character. |
836 |
B<False>: do not set the urgency hint [default]. |
837 |
|
838 |
@@RXVT_NAME@@ resets the urgency hint on every focus change. |
839 |
|
840 |
=item B<visualBell:> I<boolean> |
841 |
|
842 |
B<True>: use visual bell on receipt of a bell character; option B<-vb>. |
843 |
B<False>: no visual bell [default]; option B<+vb>. |
844 |
|
845 |
=item B<loginShell:> I<boolean> |
846 |
|
847 |
B<True>: start as a login shell by prepending a `-' to B<argv[0]> of |
848 |
the shell; option B<-ls>. B<False>: start as a normal sub-shell |
849 |
[default]; option B<+ls>. |
850 |
|
851 |
=item B<multiClickTime:> I<number> |
852 |
|
853 |
Specify the maximum time in milliseconds between multi-click select |
854 |
events. The default is 500 milliseconds; option B<-mc>. |
855 |
|
856 |
=item B<utmpInhibit:> I<boolean> |
857 |
|
858 |
B<True>: inhibit writing record into the system log file B<utmp>; |
859 |
option B<-ut>. B<False>: write record into the system log file B<utmp> |
860 |
[default]; option B<+ut>. |
861 |
|
862 |
=item B<print-pipe:> I<string> |
863 |
|
864 |
Specify a command pipe for vt100 printer [default I<lpr(1)>]. Use |
865 |
B<Print> to initiate a screen dump to the printer and B<Ctrl-Print> or |
866 |
B<Shift-Print> to include the scrollback as well. |
867 |
|
868 |
The string will be interpreted as if typed into the shell as-is. |
869 |
|
870 |
Example: |
871 |
|
872 |
URxvt.print-pipe: cat > $(TMPDIR=$HOME mktemp urxvt.XXXXXX) |
873 |
|
874 |
This creates a new file in your home directory with the screen contents |
875 |
every time you hit C<Print>. |
876 |
|
877 |
=item B<scrollstyle:> I<mode> |
878 |
|
879 |
Set scrollbar style to B<rxvt>, B<plain>, B<next> or B<xterm>. B<plain> is |
880 |
the author's favourite. |
881 |
|
882 |
=item B<thickness:> I<number> |
883 |
|
884 |
Set the scrollbar width in pixels. |
885 |
|
886 |
=item B<scrollBar:> I<boolean> |
887 |
|
888 |
B<True>: enable the scrollbar [default]; option B<-sb>. B<False>: |
889 |
disable the scrollbar; option B<+sb>. |
890 |
|
891 |
=item B<scrollBar_right:> I<boolean> |
892 |
|
893 |
B<True>: place the scrollbar on the right of the window; option B<-sr>. |
894 |
B<False>: place the scrollbar on the left of the window; option B<+sr>. |
895 |
|
896 |
=item B<scrollBar_floating:> I<boolean> |
897 |
|
898 |
B<True>: display an rxvt scrollbar without a trough; option B<-st>. |
899 |
B<False>: display an rxvt scrollbar with a trough; option B<+st>. |
900 |
|
901 |
=item B<scrollBar_align:> I<mode> |
902 |
|
903 |
Align the B<top>, B<bottom> or B<centre> [default] of the scrollbar |
904 |
thumb with the pointer on middle button press/drag. |
905 |
|
906 |
=item B<scrollTtyOutput:> I<boolean> |
907 |
|
908 |
B<True>: scroll to bottom when tty receives output; option B<+si>. |
909 |
B<False>: do not scroll to bottom when tty receives output; option |
910 |
B<-si>. |
911 |
|
912 |
=item B<scrollWithBuffer:> I<boolean> |
913 |
|
914 |
B<True>: scroll with scrollback buffer when tty receives new lines (i.e. |
915 |
try to show the same lines) and B<scrollTtyOutput> is False; option |
916 |
B<-sw>. B<False>: do not scroll with scrollback buffer when tty receives |
917 |
new lines; option B<+sw>. |
918 |
|
919 |
=item B<scrollTtyKeypress:> I<boolean> |
920 |
|
921 |
B<True>: scroll to bottom when a non-special key is pressed. Special keys |
922 |
are those which are intercepted by rxvt-unicode for special handling and |
923 |
are not passed onto the shell; option B<-sk>. B<False>: do not scroll to |
924 |
bottom when a non-special key is pressed; option B<+sk>. |
925 |
|
926 |
=item B<saveLines:> I<number> |
927 |
|
928 |
Save I<number> lines in the scrollback buffer [default 1000]; option B<-sl>. |
929 |
|
930 |
=item B<internalBorder:> I<number> |
931 |
|
932 |
Internal border of I<number> pixels. This resource is limited to 100; |
933 |
option B<-b>. |
934 |
|
935 |
=item B<externalBorder:> I<number> |
936 |
|
937 |
External border of I<number> pixels. This resource is limited to 100; |
938 |
option B<-w>, B<-bw>, B<-borderwidth>. |
939 |
|
940 |
=item B<borderLess:> I<boolean> |
941 |
|
942 |
Set MWM hints to request a borderless window, i.e. if honoured by the |
943 |
WM, the rxvt-unicode window will not have window decorations; option B<-bl>. |
944 |
|
945 |
=item B<skipBuiltinGlyphs:> I<boolean> |
946 |
|
947 |
Compile I<frills>: Disable the usage of the built-in block graphics/line |
948 |
drawing characters and just rely on what the specified fonts provide. Use |
949 |
this if you have a good font and want to use its block graphic glyphs; |
950 |
option B<-sbg>. |
951 |
|
952 |
=item B<termName:> I<termname> |
953 |
|
954 |
Specifies the terminal type name to be set in the B<TERM> environment |
955 |
variable; option B<-tn>. |
956 |
|
957 |
=item B<lineSpace:> I<number> |
958 |
|
959 |
Specifies number of lines (pixel height) to insert between each row of |
960 |
the display [default 0]; option B<-lsp>. |
961 |
|
962 |
=item B<meta8:> I<boolean> |
963 |
|
964 |
B<True>: handle Meta (Alt) + keypress to set the 8th bit. B<False>: |
965 |
handle Meta (Alt) + keypress as an escape prefix [default]. |
966 |
|
967 |
=item B<mouseWheelScrollPage:> I<boolean> |
968 |
|
969 |
B<True>: the mouse wheel scrolls a page full. B<False>: the mouse wheel |
970 |
scrolls five lines [default]. |
971 |
|
972 |
=item B<pastableTabs:> I<boolean> |
973 |
|
974 |
B<True>: store tabs as wide characters. B<False>: interpret tabs as cursor |
975 |
movement only; option C<-ptab>. |
976 |
|
977 |
=item B<cursorBlink:> I<boolean> |
978 |
|
979 |
B<True>: blink the cursor. B<False>: do not blink the cursor [default]; |
980 |
option B<-bc>. |
981 |
|
982 |
=item B<cursorUnderline:> I<boolean> |
983 |
|
984 |
B<True>: Make the cursor underlined. B<False>: Make the cursor a box [default]; |
985 |
option B<-uc>. |
986 |
|
987 |
=item B<pointerBlank:> I<boolean> |
988 |
|
989 |
B<True>: blank the pointer when a key is pressed or after a set number |
990 |
of seconds of inactivity. B<False>: the pointer is always visible |
991 |
[default]. |
992 |
|
993 |
=item B<pointerColor:> I<colour> |
994 |
|
995 |
Mouse pointer foreground colour. |
996 |
|
997 |
=item B<pointerColor2:> I<colour> |
998 |
|
999 |
Mouse pointer background colour. |
1000 |
|
1001 |
=item B<pointerShape:> I<string> |
1002 |
|
1003 |
Compile I<frills>: Specifies the name of the mouse pointer shape |
1004 |
[default B<xterm>]. See the macros in the B<X11/cursorfont.h> include |
1005 |
file for possible values (omit the C<XC_> prefix). |
1006 |
|
1007 |
=item B<pointerBlankDelay:> I<number> |
1008 |
|
1009 |
Specifies number of seconds before blanking the pointer [default 2]. Use a |
1010 |
large number (e.g. C<987654321>) to effectively disable the timeout. |
1011 |
|
1012 |
=item B<backspacekey:> I<string> |
1013 |
|
1014 |
The string to send when the backspace key is pressed. If set to B<DEC> |
1015 |
or unset it will send B<Delete> (code 127) or, with control, B<Backspace> |
1016 |
(code 8) - which can be reversed with the appropriate DEC private mode |
1017 |
escape sequence. |
1018 |
|
1019 |
=item B<deletekey:> I<string> |
1020 |
|
1021 |
The string to send when the delete key (not the keypad delete key) is |
1022 |
pressed. If unset it will send the sequence traditionally associated |
1023 |
with the B<Execute> key. |
1024 |
|
1025 |
=item B<cutchars:> I<string> |
1026 |
|
1027 |
The characters used as delimiters for double-click word selection |
1028 |
(whitespace delimiting is added automatically if resource is given). |
1029 |
|
1030 |
When the perl selection extension is in use (the default if compiled |
1031 |
in, see the @@RXVT_NAME@@perl(3) manpage), a suitable regex using these |
1032 |
characters will be created (if the resource exists, otherwise, no regex |
1033 |
will be created). In this mode, characters outside ISO-8859-1 can be used. |
1034 |
|
1035 |
When the selection extension is not used, only ISO-8859-1 characters can |
1036 |
be used. If not specified, the built-in default is used: |
1037 |
|
1038 |
B<< BACKSLASH `"'&()*,;<=>?@[]^{|} >> |
1039 |
|
1040 |
=item B<preeditType:> I<style> |
1041 |
|
1042 |
B<OnTheSpot>, B<OverTheSpot>, B<OffTheSpot>, B<Root>; option B<-pt>. |
1043 |
|
1044 |
=item B<inputMethod:> I<name> |
1045 |
|
1046 |
I<name> of inputMethod to use; option B<-im>. |
1047 |
|
1048 |
=item B<imLocale:> I<name> |
1049 |
|
1050 |
The locale to use for opening the IM. You can use an C<LC_CTYPE> of e.g. |
1051 |
C<de_DE.UTF-8> for normal text processing but C<ja_JP.EUC-JP> for the |
1052 |
input extension to be able to input japanese characters while staying in |
1053 |
another locale; option B<-imlocale>. |
1054 |
|
1055 |
=item B<imFont:> I<fontset> |
1056 |
|
1057 |
Specify the font-set used for XIM styles C<OverTheSpot> or |
1058 |
C<OffTheSpot>. It must be a standard X font set (XLFD patterns separated |
1059 |
by commas), i.e. it's not in the same format as the other font lists used |
1060 |
in @@RXVT_NAME@@. The default will be set-up to chose *any* suitable found |
1061 |
found, preferably one or two pixels differing in size to the base font. |
1062 |
option B<-imfont>. |
1063 |
|
1064 |
=item B<tripleclickwords:> I<boolean> |
1065 |
|
1066 |
Change the meaning of triple-click selection with the left mouse |
1067 |
button. Instead of selecting a full line it will extend the selection to |
1068 |
the end of the logical line only; option B<-tcw>. |
1069 |
|
1070 |
=item B<disablePasteBrackets:> I<boolean> |
1071 |
|
1072 |
Prevent emission of paste bracket sequences; option B<-dpb>. |
1073 |
|
1074 |
=item B<insecure:> I<boolean> |
1075 |
|
1076 |
Enable "insecure" mode. Rxvt-unicode offers some escape sequences that |
1077 |
echo arbitrary strings like the icon name or the locale. This could be |
1078 |
abused if somebody gets 8-bit-clean access to your display, whether |
1079 |
through a mail client displaying mail bodies unfiltered or through |
1080 |
write(1) or any other means. Therefore, these sequences are disabled by |
1081 |
default. (Note that many other terminals, including xterm, have these |
1082 |
sequences enabled by default, which doesn't make it safer, though). |
1083 |
|
1084 |
You can enable them by setting this boolean resource or specifying |
1085 |
B<-insecure> as an option. At the moment, this enables display-answer, |
1086 |
locale, findfont, icon label and window title requests. |
1087 |
|
1088 |
=item B<modifier:> I<modifier> |
1089 |
|
1090 |
Set the key to be interpreted as the Meta key to: B<alt>, B<meta>, |
1091 |
B<hyper>, B<super>, B<mod1>, B<mod2>, B<mod3>, B<mod4>, B<mod5>; option |
1092 |
B<-mod>. |
1093 |
|
1094 |
=item B<answerbackString:> I<string> |
1095 |
|
1096 |
Specify the reply rxvt-unicode sends to the shell when an ENQ (control-E) |
1097 |
character is passed through. It may contain escape values as described |
1098 |
in the entry on B<keysym> following. |
1099 |
|
1100 |
=item B<secondaryScreen:> I<boolean> |
1101 |
|
1102 |
Turn on/off secondary screen (default enabled). |
1103 |
|
1104 |
=item B<rewrapMode:> I<mode> |
1105 |
|
1106 |
Sets long line rewrap behaviour on window resize to one of B<auto> |
1107 |
(default), B<always> or B<never>. |
1108 |
|
1109 |
=item B<secondaryScroll:> I<boolean> |
1110 |
|
1111 |
Turn on/off secondary screen scroll (default enabled). If this |
1112 |
option is enabled, scrolls on the secondary screen will change the |
1113 |
scrollback buffer and, when secondaryScreen is off, switching |
1114 |
to/from the secondary screen will instead scroll the screen up. |
1115 |
|
1116 |
=item B<hold>: I<boolean> |
1117 |
|
1118 |
Turn on/off hold window after exit support. If enabled, @@RXVT_NAME@@ |
1119 |
will not immediately destroy its window when the program executed within |
1120 |
it exits. Instead, it will wait till it is being killed or closed by the |
1121 |
user. |
1122 |
|
1123 |
=item B<chdir>: I<path> |
1124 |
|
1125 |
Sets the working directory for the shell (or the command specified via |
1126 |
B<-e>). The I<path> must be an absolute path and it must exist for |
1127 |
@@RXVT_NAME@@ to start. If it isn't specified then the current working |
1128 |
directory will be used; option B<-cd>. |
1129 |
|
1130 |
=item B<keysym.>I<sym>: I<action> |
1131 |
|
1132 |
Compile I<frills>: Associate I<action> with keysym I<sym>. The intervening |
1133 |
resource name B<keysym.> cannot be omitted. |
1134 |
|
1135 |
Using this resource, you can map key combinations such as |
1136 |
C<Ctrl-Shift-BackSpace> to various actions, such as outputting a different |
1137 |
string than would normally result from that combination, making the |
1138 |
terminal scroll up or down the way you want it, or any other thing an |
1139 |
extension might provide. |
1140 |
|
1141 |
The key combination that triggers the action, I<sym>, has the following format: |
1142 |
|
1143 |
(modifiers-)key |
1144 |
|
1145 |
Where I<modifiers> can be any combination of the following full or |
1146 |
abbreviated modifier names: |
1147 |
|
1148 |
=begin table |
1149 |
|
1150 |
B<ISOLevel3> B<I> |
1151 |
B<AppKeypad> B<K> |
1152 |
B<Control> B<C> |
1153 |
B<NumLock> B<N> |
1154 |
B<Shift> B<S> |
1155 |
B<Meta> B<M> I<or> B<A> |
1156 |
B<Lock> B<L> |
1157 |
B<Mod1> B<1> |
1158 |
B<Mod2> B<2> |
1159 |
B<Mod3> B<3> |
1160 |
B<Mod4> B<4> |
1161 |
B<Mod5> B<5> |
1162 |
|
1163 |
=end table |
1164 |
|
1165 |
The B<NumLock>, B<Meta> and B<ISOLevel3> modifiers are usually aliased to |
1166 |
whatever modifier the NumLock key, Meta/Alt keys or ISO Level3 Shift/AltGr |
1167 |
keys are being mapped. B<AppKeypad> is a synthetic modifier mapped to the |
1168 |
current application keymap mode state. |
1169 |
|
1170 |
Due the the large number of modifier combinations, a key mapping will |
1171 |
match if I<at least> the specified identifiers are being set, and no other |
1172 |
key mappings with those and more bits are being defined. That means that |
1173 |
defining a mapping for C<a> will automatically provide definitions for |
1174 |
C<Meta-a>, C<Shift-a> and so on, unless some of those are defined mappings |
1175 |
themselves. See the C<builtin:> action, below, for a way to work around |
1176 |
this when this is a problem. |
1177 |
|
1178 |
The spelling of I<key> depends on your implementation of X. An easy way to |
1179 |
find a key name is to use the B<xev>(1) command. You can find a list by |
1180 |
looking for the C<XK_> macros in the B<X11/keysymdef.h> include file (omit |
1181 |
the C<XK_> prefix). Alternatively you can specify I<key> by its hex keysym |
1182 |
value (B<0x0000 - 0xFFFF>). |
1183 |
|
1184 |
As with any resource value, the I<action> string may contain backslash |
1185 |
escape sequences (C<\n>: newline, C<\\>: backslash, C<\000>: octal |
1186 |
number), see RESOURCES in C<man 7 X> for further details. |
1187 |
|
1188 |
An action starts with an action prefix that selects a certain type |
1189 |
of action, followed by a colon. An action string without colons is |
1190 |
interpreted as a literal string to pass to the tty (as if it was |
1191 |
prefixed with C<string:>). |
1192 |
|
1193 |
The following action prefixes are known - extensions can provide |
1194 |
additional prefixes: |
1195 |
|
1196 |
=over |
1197 |
|
1198 |
=item string:STRING |
1199 |
|
1200 |
If the I<action> starts with C<string:> (or otherwise contains no colons), |
1201 |
then the remaining C<STRING> will be passed to the program running in the |
1202 |
terminal. For example, you could replace whatever Shift-Tab outputs by the |
1203 |
string C<echo rm -rf /> followed by a newline: |
1204 |
|
1205 |
URxvt.keysym.Shift-Tab: string:echo rm -rf /\n |
1206 |
|
1207 |
This could in theory be used to completely redefine your keymap. |
1208 |
|
1209 |
In addition, for actions of this type, you can define a range of |
1210 |
keysyms in one shot by loading the C<keysym-list> perl extension and |
1211 |
providing an I<action> with pattern B<list/PREFIX/MIDDLE/SUFFIX>, where |
1212 |
the delimiter `/' should be a character not used by the strings. |
1213 |
|
1214 |
Its usage can be demonstrated by an example: |
1215 |
|
1216 |
URxvt.keysym.M-C-0x61: list|\033<|abc|> |
1217 |
|
1218 |
The above line is equivalent to the following three lines: |
1219 |
|
1220 |
URxvt.keysym.Meta-Control-0x61: string:\033<a> |
1221 |
URxvt.keysym.Meta-Control-0x62: string:\033<b> |
1222 |
URxvt.keysym.Meta-Control-0x63: string:\033<c> |
1223 |
|
1224 |
=item command:STRING |
1225 |
|
1226 |
If I<action> takes the form of C<command:STRING>, the specified B<STRING> |
1227 |
is interpreted and executed as @@RXVT_NAME@@'s control sequence (basically |
1228 |
the opposite of C<string:> - instead of sending it to the program running |
1229 |
in the terminal, it will be treated as if it were program output). This is |
1230 |
most useful to feed command sequences into @@RXVT_NAME@@. |
1231 |
|
1232 |
For example the following means "change the current locale to C<zh_CN.GBK> |
1233 |
when Control-Meta-c is being pressed": |
1234 |
|
1235 |
URxvt.keysym.M-C-c: command:\033]701;zh_CN.GBK\007 |
1236 |
|
1237 |
The following example will map Control-Meta-1 and Control-Meta-2 to |
1238 |
the fonts C<suxuseuro> and C<9x15bold>, so you can have some limited |
1239 |
font-switching at runtime: |
1240 |
|
1241 |
URxvt.keysym.M-C-1: command:\033]50;suxuseuro\007 |
1242 |
URxvt.keysym.M-C-2: command:\033]50;9x15bold\007 |
1243 |
|
1244 |
Other things are possible, e.g. resizing (see @@RXVT_NAME@@(7) for more |
1245 |
info): |
1246 |
|
1247 |
URxvt.keysym.M-C-3: command:\033[8;25;80t |
1248 |
URxvt.keysym.M-C-4: command:\033[8;48;110t |
1249 |
|
1250 |
=item builtin: |
1251 |
|
1252 |
The builtin action is the action that @@RXVT_NAME@@ would execute if no |
1253 |
key binding existed for the key combination. The obvious use is to undo |
1254 |
the effect of existing bindings. The not so obvious use is to reinstate |
1255 |
bindings when another binding overrides too many modifiers. |
1256 |
|
1257 |
For example if you overwrite the C<Insert> key you will disable |
1258 |
@@RXVT_NAME@@'s C<Shift-Insert> mapping. To re-enable that, you can poke |
1259 |
"holes" into the user-defined keymap using the C<builtin:> replacement: |
1260 |
|
1261 |
URxvt.keysym.Insert: <my insert key sequence> |
1262 |
URxvt.keysym.S-Insert: builtin: |
1263 |
|
1264 |
The first line defines a mapping for C<Insert> and I<any> combination |
1265 |
of modifiers. The second line re-establishes the default mapping for |
1266 |
C<Shift-Insert>. |
1267 |
|
1268 |
=item builtin-string: |
1269 |
|
1270 |
This action is mainly useful to restore string mappings for keys that |
1271 |
have predefined actions in @@RXVT_NAME@@. The exact semantics are a bit |
1272 |
difficult to explain - basically, this action will send the string to the |
1273 |
application that would be sent if @@RXVT_NAME@@ wouldn't have a built-in |
1274 |
action for it. |
1275 |
|
1276 |
An example might make it clearer: @@RXVT_NAME@@ normally pastes the |
1277 |
selection when you press C<Shift-Insert>. With the following bindings, it |
1278 |
would instead emit the (undocumented, but what applications running in the |
1279 |
terminal might expect) sequence C<ESC [ 2 $> instead: |
1280 |
|
1281 |
URxvt.keysym.S-Insert: builtin-string: |
1282 |
URxvt.keysym.C-S-Insert: builtin: |
1283 |
|
1284 |
The first line disables the paste functionality for that key |
1285 |
combination, and the second reinstates the default behaviour for |
1286 |
C<Control-Shift-Insert>, which would otherwise be overridden. |
1287 |
|
1288 |
Similarly, to let applications gain access to the C<C-M-c> (copy to |
1289 |
clipboard) and C<C-M-v> (paste clipboard) key combination, you can do |
1290 |
this: |
1291 |
|
1292 |
URxvt.keysym.C-M-c: builtin-string: |
1293 |
URxvt.keysym.C-M-v: builtin-string: |
1294 |
|
1295 |
=item EXTENSION:STRING |
1296 |
|
1297 |
An action of this form invokes the action B<STRING>, if any, provided |
1298 |
by the @@RXVT_NAME@@perl(3) extension B<EXTENSION>. The extension will |
1299 |
be loaded automatically if necessary. |
1300 |
|
1301 |
Not all extensions define actions, but popular extensions that do |
1302 |
include the I<selection> and I<matcher> extensions (documented in their |
1303 |
own manpages, @@RXVT_NAME@@-selection(1) and @@RXVT_NAME@@-matcher(1), |
1304 |
respectively). |
1305 |
|
1306 |
From the silly examples department, this will rot13-"encrypt" |
1307 |
@@RXVT_NAME@@'s selection when Alt-Control-c is pressed on typical PC |
1308 |
keyboards: |
1309 |
|
1310 |
URxvt.keysym.M-C-c: selection:rot13 |
1311 |
|
1312 |
=item perl:STRING *DEPRECATED* |
1313 |
|
1314 |
This is a deprecated way of invoking commands provided by perl |
1315 |
extensions. It is still supported, but should not be used anymore. |
1316 |
|
1317 |
=back |
1318 |
|
1319 |
=item B<perl-ext-common>: I<string> |
1320 |
|
1321 |
=item B<perl-ext>: I<string> |
1322 |
|
1323 |
Comma-separated list(s) of perl extension scripts (default: C<default>) to |
1324 |
use in this terminal instance; option B<-pe>. |
1325 |
|
1326 |
Extension names can be prefixed with a C<-> sign to remove them again, in |
1327 |
case they had been specified earlier. This can be useful to selectively |
1328 |
disable some extensions loaded by default, or specified via the |
1329 |
C<perl-ext-common> resource. For example, C<default,-selection> will use |
1330 |
all the default extensions except C<selection>. |
1331 |
|
1332 |
To prohibit autoloading of extensions, you can prefix them with C</>, |
1333 |
which will make urxvt refuse to automatically load them (this can be |
1334 |
overridden, however, by specifying the extension name again without a |
1335 |
prefix, though). This does not prohibit extensions themselves loading |
1336 |
other extensions. For example, C<default,/background> will keep the |
1337 |
C<background> extension from being loaded when a background OSC sequence |
1338 |
is received. |
1339 |
|
1340 |
The default set includes the C<selection>, C<option-popup>, |
1341 |
C<selection-popup>, C<readline>, C<searchable-scrollback> and |
1342 |
C<confirm-paste> extensions, as well as any extensions which are mentioned |
1343 |
in B<keysym> resources. |
1344 |
|
1345 |
Any extension such that a corresponding resource is given on the |
1346 |
command line is automatically appended to B<perl-ext>. |
1347 |
|
1348 |
Each extension is looked up in the library directories, loaded if |
1349 |
necessary, and bound to the current terminal instance. When the library |
1350 |
search path contains multiple extension files of the same name, then the |
1351 |
first one found will be used. |
1352 |
|
1353 |
If both of these resources are the empty string, then the perl interpreter |
1354 |
will not be initialized. The rationale for having two options is that |
1355 |
B<perl-ext-common> will be used for extensions that should be available to |
1356 |
all instances, while B<perl-ext> is used for specific instances. |
1357 |
|
1358 |
=item B<perl-eval>: I<string> |
1359 |
|
1360 |
Perl code to be evaluated when all extensions have been registered. See |
1361 |
the @@RXVT_NAME@@perl(3) manpage. |
1362 |
|
1363 |
=item B<perl-lib>: I<path> |
1364 |
|
1365 |
Colon-separated list of additional directories that hold extension |
1366 |
scripts. When looking for perl extensions, @@RXVT_NAME@@ will first look |
1367 |
in these directories, then in C<$URXVT_PERL_LIB>, F<$HOME/.urxvt/ext> and |
1368 |
lastly in F<@@RXVT_LIBDIR@@/urxvt/perl/>. |
1369 |
|
1370 |
See the @@RXVT_NAME@@perl(3) manpage. |
1371 |
|
1372 |
=item B<< selection.pattern-I<idx> >>: I<perl-regex> |
1373 |
|
1374 |
Additional selection patterns, see the @@RXVT_NAME@@perl(3) manpage for |
1375 |
details. |
1376 |
|
1377 |
=item B<< selection-autotransform.I<idx> >>: I<perl-transform> |
1378 |
|
1379 |
Selection auto-transform patterns, see the @@RXVT_NAME@@perl(3) manpage |
1380 |
for details. |
1381 |
|
1382 |
=item B<searchable-scrollback:> I<keysym> *DEPRECATED* |
1383 |
|
1384 |
This resource is deprecated and will be removed. Use a B<keysym> resource |
1385 |
instead, e.g.: |
1386 |
|
1387 |
URxvt.keysym.M-s: searchable-scrollback:start |
1388 |
|
1389 |
=item B<url-launcher>: I<string> |
1390 |
|
1391 |
Specifies the program to be started with a URL argument. Used by the |
1392 |
C<selection-popup> and C<matcher> perl extensions. |
1393 |
|
1394 |
=item B<transient-for>: I<windowid> |
1395 |
|
1396 |
Compile I<frills>: Sets the WM_TRANSIENT_FOR property to the given window id. |
1397 |
|
1398 |
=item B<override-redirect>: I<boolean> |
1399 |
|
1400 |
Compile I<frills>: Sets override-redirect for the terminal window, making |
1401 |
it almost invisible to window managers; option B<-override-redirect>. |
1402 |
|
1403 |
=item B<iso14755:> I<boolean> |
1404 |
|
1405 |
Turn on/off ISO 14755 (default enabled). |
1406 |
|
1407 |
=item B<iso14755_52:> I<boolean> |
1408 |
|
1409 |
Turn on/off ISO 14755 5.2 mode (default enabled). |
1410 |
|
1411 |
=back |
1412 |
|
1413 |
=head1 THE SCROLLBAR |
1414 |
|
1415 |
Lines of text that scroll off the top of the B<@@RXVT_NAME@@> window |
1416 |
(resource: B<saveLines>) and can be scrolled back using the scrollbar |
1417 |
or by keystrokes. The normal B<@@RXVT_NAME@@> scrollbar has arrows and |
1418 |
its behaviour is fairly intuitive. The B<xterm-scrollbar> is without |
1419 |
arrows and its behaviour mimics that of I<xterm> |
1420 |
|
1421 |
Scroll down with B<Button1> (B<xterm-scrollbar>) or B<Shift-Next>. |
1422 |
Scroll up with B<Button3> (B<xterm-scrollbar>) or B<Shift-Prior>. |
1423 |
Continuous scroll with B<Button2>. |
1424 |
|
1425 |
=head1 MOUSE REPORTING |
1426 |
|
1427 |
To temporarily override mouse reporting, for either the scrollbar or |
1428 |
the normal text selection/insertion, hold either the Shift or the Meta |
1429 |
(Alt) key while performing the desired mouse action. |
1430 |
|
1431 |
If mouse reporting mode is active, the normal scrollbar actions are |
1432 |
disabled -- on the assumption that we are using a fullscreen |
1433 |
application. Instead, pressing Button1 and Button3 sends B<ESC [ 6 ~> |
1434 |
(Next) and B<ESC [ 5 ~> (Prior), respectively. Similarly, clicking on the |
1435 |
up and down arrows sends B<ESC [ A> (Up) and B<ESC [ B> (Down), |
1436 |
respectively. |
1437 |
|
1438 |
=head1 THE SELECTION: SELECTING AND PASTING TEXT |
1439 |
|
1440 |
The behaviour of text selection and insertion/pasting mechanism is similar |
1441 |
to I<xterm>(1). |
1442 |
|
1443 |
=over |
1444 |
|
1445 |
=item B<Selecting>: |
1446 |
|
1447 |
Left click at the beginning of the region, drag to the end of the region |
1448 |
and release; Right click to extend the marked region; Left double-click |
1449 |
to select a word; Left triple-click to select the entire logical line |
1450 |
(which can span multiple screen lines), unless modified by resource |
1451 |
B<tripleclickwords>. |
1452 |
|
1453 |
Starting a selection while pressing the B<Meta> key (or B<Meta+Ctrl> keys) |
1454 |
(Compile: I<frills>) will create a rectangular selection instead of a |
1455 |
normal one. In this mode, every selected row becomes its own line in the |
1456 |
selection, and trailing whitespace is visually underlined and removed from |
1457 |
the selection. |
1458 |
|
1459 |
=item B<Pasting>: |
1460 |
|
1461 |
Pressing and releasing the Middle mouse button in an B<@@RXVT_NAME@@> |
1462 |
window causes the value of the PRIMARY selection (or CLIPBOARD with the |
1463 |
B<Meta> modifier) to be inserted as if it had been typed on the keyboard. |
1464 |
|
1465 |
Pressing B<Shift-Insert> causes the value of the PRIMARY selection to be |
1466 |
inserted too. |
1467 |
|
1468 |
rxvt-unicode also provides the bindings B<Ctrl-Meta-c> and |
1469 |
B<Ctrl-Meta-v> to interact with the CLIPBOARD selection. The first |
1470 |
binding causes the value of the internal selection to be copied to the |
1471 |
CLIPBOARD selection, while the second binding causes the value of the |
1472 |
CLIPBOARD selection to be inserted. |
1473 |
|
1474 |
=back |
1475 |
|
1476 |
=head1 CHANGING FONTS |
1477 |
|
1478 |
Changing fonts (or font sizes, respectively) via the keypad is not yet |
1479 |
supported in rxvt-unicode. Bug me if you need this. |
1480 |
|
1481 |
You can, however, switch fonts at runtime using escape sequences, e.g.: |
1482 |
|
1483 |
printf '\e]710;%s\007' "9x15bold,xft:Kochi Gothic" |
1484 |
|
1485 |
You can use keyboard shortcuts, too: |
1486 |
|
1487 |
URxvt.keysym.M-C-1: command:\033]710;suxuseuro\007\033]711;suxuseuro\007 |
1488 |
URxvt.keysym.M-C-2: command:\033]710;9x15bold\007\033]711;9x15bold\007 |
1489 |
|
1490 |
rxvt-unicode will automatically re-apply these fonts to the output so far. |
1491 |
|
1492 |
=head1 ISO 14755 SUPPORT |
1493 |
|
1494 |
ISO 14755 is a standard for entering and viewing unicode characters |
1495 |
and character codes using the keyboard. It consists of 4 parts. The |
1496 |
first part is available if rxvt-unicode has been compiled with |
1497 |
C<--enable-frills>, the rest is available when rxvt-unicode was compiled |
1498 |
with C<--enable-iso14755>. |
1499 |
|
1500 |
=over |
1501 |
|
1502 |
=item * 5.1: Basic method |
1503 |
|
1504 |
This allows you to enter unicode characters using their hexcode. |
1505 |
|
1506 |
Start by pressing and holding both C<Control> and C<Shift>, then enter |
1507 |
hex-digits (between one and six). Releasing C<Control> and C<Shift> will |
1508 |
commit the character as if it were typed directly. While holding down |
1509 |
C<Control> and C<Shift> you can also enter multiple characters by pressing |
1510 |
C<Space>, which will commit the current character and lets you start a new |
1511 |
one. |
1512 |
|
1513 |
As an example of use, imagine a business card with a japanese e-mail |
1514 |
address, which you cannot type. Fortunately, the card has the e-mail |
1515 |
address printed as hexcodes, e.g. C<671d 65e5>. You can enter this easily |
1516 |
by pressing C<Control> and C<Shift>, followed by C<6-7-1-D-SPACE-6-5-E-5>, |
1517 |
followed by releasing the modifier keys. |
1518 |
|
1519 |
=item * 5.2: Keyboard symbols entry method |
1520 |
|
1521 |
This mode lets you input characters representing the keycap symbols of |
1522 |
your keyboard, if representable in the current locale encoding. |
1523 |
|
1524 |
Start by pressing C<Control> and C<Shift> together, then releasing |
1525 |
them. The next special key (cursor keys, home etc.) you enter will not |
1526 |
invoke its usual function but instead will insert the corresponding |
1527 |
keycap symbol. The symbol will only be entered when the key has been |
1528 |
released, otherwise pressing e.g. C<Shift> would enter the symbol for |
1529 |
C<ISO Level 2 Switch>, although your intention might have been to enter a |
1530 |
reverse tab (Shift-Tab). |
1531 |
|
1532 |
=item * 5.3: Screen-selection entry method |
1533 |
|
1534 |
While this is implemented already (it's basically the selection |
1535 |
mechanism), it could be extended by displaying a unicode character map. |
1536 |
|
1537 |
=item * 5.4: Feedback method for identifying displayed characters for later input |
1538 |
|
1539 |
This method lets you display the unicode character code associated with |
1540 |
characters already displayed. |
1541 |
|
1542 |
You enter this mode by holding down C<Control> and C<Shift> together, then |
1543 |
pressing and holding the left mouse button and moving around. The unicode |
1544 |
hex code(s) (it might be a combining character) of the character under the |
1545 |
pointer is displayed until you release C<Control> and C<Shift>. |
1546 |
|
1547 |
In addition to the hex codes it will display the font used to draw this |
1548 |
character - due to implementation reasons, characters combined with |
1549 |
combining characters, line drawing characters and unknown characters will |
1550 |
always be drawn using the built-in support font. |
1551 |
|
1552 |
=back |
1553 |
|
1554 |
With respect to conformance, rxvt-unicode is supposed to be compliant to |
1555 |
both scenario A and B of ISO 14755, including part 5.2. |
1556 |
|
1557 |
=head1 LOGIN STAMP |
1558 |
|
1559 |
B<@@RXVT_NAME@@> tries to write an entry into the I<utmp>(5) file so that |
1560 |
it can be seen via the I<who(1)> command, and can accept messages. To |
1561 |
allow this feature, B<@@RXVT_NAME@@> may need to be installed setuid root |
1562 |
on some systems or setgid to root or to some other group on others. |
1563 |
|
1564 |
=head1 COLOURS AND GRAPHICS |
1565 |
|
1566 |
In addition to the default foreground and background colours, |
1567 |
B<@@RXVT_NAME@@> can display up to 88/256 colours: 8 ANSI colours plus |
1568 |
high-intensity (potentially bold/blink) versions of the same, and 72 (or |
1569 |
240 in 256 colour mode) colours arranged in an 4x4x4 (or 6x6x6) colour RGB |
1570 |
cube plus a 8 (24) colour greyscale ramp. |
1571 |
|
1572 |
B<@@RXVT_NAME@@> supports direct 24-bit fg/bg RGB colour escapes |
1573 |
C< ESC [ 38 ; 2 ; R ; G ; Bm > / C< ESC [ 48 ; 2; R ; G ; Bm >. However the |
1574 |
number of 24-bit colours that can be used is limited: an internal 7x7x5 (256 |
1575 |
colour mode) or 6x6x4 (88 colour mode) colour cube is used to index into the |
1576 |
24-bit colour space. When indexing collisions happen, the nearest old colour in |
1577 |
the cube will be adapted to the new 24-bit RGB colour. That means one cannot |
1578 |
use many similar 24-bit colours. It's typically not a problem in common |
1579 |
scenarios. |
1580 |
|
1581 |
Here is a list of the ANSI colours with their names. |
1582 |
|
1583 |
=begin table |
1584 |
|
1585 |
B<color0> (black) = Black |
1586 |
B<color1> (red) = Red3 |
1587 |
B<color2> (green) = Green3 |
1588 |
B<color3> (yellow) = Yellow3 |
1589 |
B<color4> (blue) = Blue3 |
1590 |
B<color5> (magenta) = Magenta3 |
1591 |
B<color6> (cyan) = Cyan3 |
1592 |
B<color7> (white) = AntiqueWhite |
1593 |
B<color8> (bright black) = Grey25 |
1594 |
B<color9> (bright red) = Red |
1595 |
B<color10> (bright green) = Green |
1596 |
B<color11> (bright yellow) = Yellow |
1597 |
B<color12> (bright blue) = Blue |
1598 |
B<color13> (bright magenta) = Magenta |
1599 |
B<color14> (bright cyan) = Cyan |
1600 |
B<color15> (bright white) = White |
1601 |
B<foreground> = Black |
1602 |
B<background> = White |
1603 |
|
1604 |
=end table |
1605 |
|
1606 |
It is also possible to specify the colour values of B<foreground>, |
1607 |
B<background>, B<cursorColor>, B<cursorColor2>, B<colorBD>, B<colorUL> as |
1608 |
a number 0-15, as a convenient shorthand to reference the colour name of |
1609 |
color0-color15. |
1610 |
|
1611 |
The following text gives values for the standard 88 colour mode (and |
1612 |
values for the 256 colour mode in parentheses). |
1613 |
|
1614 |
The RGB cube uses indices 16..79 (16..231) using the following formulas: |
1615 |
|
1616 |
index_88 = (r * 4 + g) * 4 + b + 16 # r, g, b = 0..3 |
1617 |
index_256 = (r * 6 + g) * 6 + b + 16 # r, g, b = 0..5 |
1618 |
|
1619 |
The grayscale ramp uses indices 80..87 (232..239), from 10% to 90% in 10% |
1620 |
steps (1/26 to 25/26 in 1/26 steps) - black and white are already part of |
1621 |
the RGB cube. |
1622 |
|
1623 |
Together, all those colours implement the 88 (256) colour xterm |
1624 |
colours. Only the first 16 can be changed using resources currently, the |
1625 |
rest can only be changed via command sequences ("escape codes"). |
1626 |
|
1627 |
Applications are advised to use terminfo or command sequences to discover |
1628 |
number and RGB values of all colours (yes, you can query this...). |
1629 |
|
1630 |
Note that B<-rv> (B<"reverseVideo: True">) simulates reverse video by |
1631 |
always swapping the foreground/background colours. This is in contrast to |
1632 |
I<xterm>(1) where the colours are only swapped if they have not otherwise |
1633 |
been specified. For example, |
1634 |
|
1635 |
@@RXVT_NAME@@ -fg Black -bg White -rv |
1636 |
|
1637 |
would yield White on Black, while on I<xterm>(1) it would yield Black on |
1638 |
White. |
1639 |
|
1640 |
=head2 ALPHA CHANNEL SUPPORT |
1641 |
|
1642 |
If Xft support has been compiled in and as long as Xft/Xrender/X don't get |
1643 |
their act together, rxvt-unicode will do its own alpha channel management: |
1644 |
|
1645 |
You can prefix any colour with an opaqueness percentage enclosed in |
1646 |
brackets, i.e. C<[percent]>, where C<percent> is a decimal percentage |
1647 |
(0-100) that specifies the opacity of the colour, where C<0> is completely |
1648 |
transparent and C<100> is completely opaque. For example, C<[50]red> is a |
1649 |
half-transparent red, while C<[95]#00ff00> is an almost opaque green. This |
1650 |
is the recommended format to specify transparency values, and works with |
1651 |
all ways to specify a colour. |
1652 |
|
1653 |
For complete control, rxvt-unicode also supports |
1654 |
C<rgba:rrrr/gggg/bbbb/aaaa> (exactly four hex digits/component) colour |
1655 |
specifications, where the additional C<aaaa> component specifies opacity |
1656 |
(alpha) values. The minimum value of C<0000> is completely transparent, |
1657 |
while C<ffff> is completely opaque). The two example colours from |
1658 |
earlier could also be specified as C<rgba:ff00/0000/0000/8000> and |
1659 |
C<rgba:0000/ff00/0000/f332>. |
1660 |
|
1661 |
You probably need to specify B<"-depth 32">, too, to force a visual with |
1662 |
alpha channels, and have the luck that your X-server uses ARGB pixel |
1663 |
layout, as X is far from just supporting ARGB visuals out of the box, and |
1664 |
rxvt-unicode just fudges around. |
1665 |
|
1666 |
For example, the following selects an almost completely transparent black |
1667 |
background, and an almost opaque pink foreground: |
1668 |
|
1669 |
@@RXVT_NAME@@ -depth 32 -bg rgba:0000/0000/0000/4444 -fg "[80]pink" |
1670 |
|
1671 |
When not using a background image, then the interpretation of the |
1672 |
alpha channel is up to your compositing manager (most interpret it as |
1673 |
transparency of course). |
1674 |
|
1675 |
When using a background pixmap or pseudo-transparency, then the background |
1676 |
colour will always behave as if it were completely transparent (so the |
1677 |
background image shows instead), regardless of how it was specified, while |
1678 |
other colours will either be transparent as specified (the background |
1679 |
image will show through) on servers supporting the RENDER extension, or |
1680 |
fully opaque on servers not supporting the RENDER EXTENSION. |
1681 |
|
1682 |
Please note that due to bugs in Xft, specifying alpha values might result |
1683 |
in garbage being displayed when the X-server does not support the RENDER |
1684 |
extension. |
1685 |
|
1686 |
=head1 ENVIRONMENT |
1687 |
|
1688 |
B<@@RXVT_NAME@@> sets and/or uses the following environment variables: |
1689 |
|
1690 |
=over |
1691 |
|
1692 |
=item B<TERM> |
1693 |
|
1694 |
Normally set to C<rxvt-unicode>, unless overwritten at configure time, via |
1695 |
resources or on the command line. |
1696 |
|
1697 |
=item B<COLORTERM> |
1698 |
|
1699 |
Either C<rxvt>, C<rxvt-xpm>, depending on whether @@RXVT_NAME@@ was |
1700 |
compiled with background image support, and optionally with the added |
1701 |
extension C<-mono> to indicate that rxvt-unicode runs on a monochrome |
1702 |
screen. |
1703 |
|
1704 |
=item B<COLORFGBG> |
1705 |
|
1706 |
Set to a string of the form C<fg;bg> or C<fg;xpm;bg>, where C<fg> is |
1707 |
the colour code used as default foreground/text colour (or the string |
1708 |
C<default> to indicate that the default-colour escape sequence is to be |
1709 |
used), C<bg> is the colour code used as default background colour (or the |
1710 |
string C<default>), and C<xpm> is the string C<default> if @@RXVT_NAME@@ |
1711 |
was compiled with background image support. Libraries like C<ncurses> |
1712 |
and C<slang> can (and do) use this information to optimize screen output. |
1713 |
|
1714 |
=item B<WINDOWID> |
1715 |
|
1716 |
Set to the (decimal) X Window ID of the @@RXVT_NAME@@ window (the toplevel |
1717 |
window, which usually has subwindows for the scrollbar, the terminal |
1718 |
window and so on). |
1719 |
|
1720 |
=item B<TERMINFO> |
1721 |
|
1722 |
Set to the terminfo directory iff @@RXVT_NAME@@ was configured with |
1723 |
C<--with-terminfo=PATH>. |
1724 |
|
1725 |
=item B<DISPLAY> |
1726 |
|
1727 |
Used by @@RXVT_NAME@@ to connect to the display and set to the correct |
1728 |
display in its child processes if C<-display> isn't used to override. It |
1729 |
defaults to C<:0> if it doesn't exist. |
1730 |
|
1731 |
=item B<SHELL> |
1732 |
|
1733 |
The shell to be used for command execution, defaults to C</bin/sh>. |
1734 |
|
1735 |
=item B<RXVT_SOCKET> [I<sic>] |
1736 |
|
1737 |
The unix domain socket path used by @@RXVT_NAME@@c(1) and |
1738 |
@@RXVT_NAME@@d(1). |
1739 |
|
1740 |
Default F<<< $HOME/.urxvt/urxvtd-I<< <nodename> >> >>>. |
1741 |
|
1742 |
=item B<URXVT_PERL_LIB> |
1743 |
|
1744 |
Additional F<:>-separated library search path for perl extensions. Will be |
1745 |
searched after B<-perl-lib> but before F<~/.urxvt/ext> and the system library |
1746 |
directory. |
1747 |
|
1748 |
=item B<URXVT_PERL_VERBOSITY> |
1749 |
|
1750 |
See L<@@RXVT_NAME@@perl>(3). |
1751 |
|
1752 |
=item B<HOME> |
1753 |
|
1754 |
Used to locate the default directory for the unix domain socket for |
1755 |
daemon communications and to locate various resource files (such as |
1756 |
C<.Xdefaults>) |
1757 |
|
1758 |
=item B<XAPPLRESDIR> |
1759 |
|
1760 |
Directory where application-specific X resource files are located. |
1761 |
|
1762 |
=item B<XENVIRONMENT> |
1763 |
|
1764 |
If set and accessible, gives the name of a X resource file to be loaded by |
1765 |
@@RXVT_NAME@@. |
1766 |
|
1767 |
=back |
1768 |
|
1769 |
=head1 FILES |
1770 |
|
1771 |
=over |
1772 |
|
1773 |
=item B</usr/lib/X11/rgb.txt> |
1774 |
|
1775 |
Colour names. |
1776 |
|
1777 |
=back |
1778 |
|
1779 |
=head1 SEE ALSO |
1780 |
|
1781 |
@@RXVT_NAME@@(7), @@RXVT_NAME@@c(1), @@RXVT_NAME@@d(1), @@RXVT_NAME@@-extensions(1), |
1782 |
@@RXVT_NAME@@perl(3), xterm(1), sh(1), resize(1), X(1), pty(4), tty(4), utmp(5) |
1783 |
|
1784 |
=head1 CURRENT PROJECT COORDINATOR |
1785 |
|
1786 |
=over |
1787 |
|
1788 |
=item Project Coordinator |
1789 |
|
1790 |
Marc A. Lehmann <rxvt-unicode@schmorp.de>. |
1791 |
|
1792 |
L<http://software.schmorp.de/pkg/rxvt-unicode.html> |
1793 |
|
1794 |
=back |
1795 |
|
1796 |
=head1 AUTHORS |
1797 |
|
1798 |
=over |
1799 |
|
1800 |
=item John Bovey |
1801 |
|
1802 |
University of Kent, 1992, wrote the original Xvt. |
1803 |
|
1804 |
=item Rob Nation <nation@rocket.sanders.lockheed.com> |
1805 |
|
1806 |
very heavily modified Xvt and came up with Rxvt |
1807 |
|
1808 |
=item Angelo Haritsis <ah@doc.ic.ac.uk> |
1809 |
|
1810 |
wrote the Greek Keyboard Input (no longer in code) |
1811 |
|
1812 |
=item mj olesen <olesen@me.QueensU.CA> |
1813 |
|
1814 |
Wrote the menu system. |
1815 |
|
1816 |
Project Coordinator (changes.txt 2.11 to 2.21) |
1817 |
|
1818 |
=item Oezguer Kesim <kesim@math.fu-berlin.de> |
1819 |
|
1820 |
Project Coordinator (changes.txt 2.21a to 2.4.5) |
1821 |
|
1822 |
=item Geoff Wing <gcw@pobox.com> |
1823 |
|
1824 |
Rewrote screen display and text selection routines. |
1825 |
|
1826 |
Project Coordinator (changes.txt 2.4.6 - rxvt-unicode) |
1827 |
|
1828 |
=item Marc Alexander Lehmann <rxvt-unicode@schmorp.de> |
1829 |
|
1830 |
Forked rxvt-unicode, unicode support, rewrote almost all the code, perl |
1831 |
extension, random hacks, numerous bugfixes and extensions. |
1832 |
|
1833 |
Project Coordinator (Changes 1.0 -) |
1834 |
|
1835 |
=item Emanuele Giaquinta <emanuele.giaquinta@gmail.com> |
1836 |
|
1837 |
pty/utmp code rewrite, image code improvements, many random hacks and bugfixes. |
1838 |
|
1839 |
=back |
1840 |
|