ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/doc/rxvt.1.pod
Revision: 1.218
Committed: Tue Jun 5 22:26:55 2012 UTC (12 years ago) by root
Branch: MAIN
Changes since 1.217: +7 -3 lines
Log Message:
*** empty log message ***

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