ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/doc/rxvt.1.pod
(Generate patch)

Comparing rxvt-unicode/doc/rxvt.1.pod (file contents):
Revision 1.43 by root, Sun Jan 16 19:22:16 2005 UTC vs.
Revision 1.211 by sf-exg, Sat Dec 31 17:17:12 2011 UTC

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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines