ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/doc/rxvt.1.pod
Revision: 1.187
Committed: Fri Oct 15 10:46:57 2010 UTC (13 years, 8 months ago) by sf-exg
Branch: MAIN
Changes since 1.186: +0 -6 lines
Log Message:
Update Changes and docs.

File Contents

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