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.5 by root, Sat Aug 14 03:00:32 2004 UTC vs.
Revision 1.86 by root, Fri Jan 6 05:28:55 2006 UTC

11B<rxvt-unicode>, version B<@@RXVT_VERSION@@>, is a colour vt102 terminal 11B<rxvt-unicode>, version B<@@RXVT_VERSION@@>, is a colour vt102 terminal
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
17=head1 FREQUENTLY ASKED QUESTIONS
18
19See @@RXVT_NAME@@(7) (try C<man 7 @@RXVT_NAME@@>) for a list of
20frequently asked questions and answer to them and some common
21problems. That document is also accessible on the World-Wide-Web at
22L<http://cvs.schmorp.de/browse/*checkout*/rxvt-unicode/doc/rxvt.7.html>.
16 23
17=head1 RXVT-UNICODE VS. RXVT 24=head1 RXVT-UNICODE VS. RXVT
18 25
19Unlike the original rxvt, B<rxvt-unicode> stores all text in Unicode 26Unlike the original rxvt, B<rxvt-unicode> stores all text in Unicode
20internally. That means it can store and display most scripts in the 27internally. That means it can store and display most scripts in the
24like tibetan or devenagari. Don't expect pretty output when using these 31like tibetan or devenagari. Don't expect pretty output when using these
25scripts. Most other scripts, latin, cyrillic, kanji, thai etc. should work 32scripts. Most other scripts, latin, cyrillic, kanji, thai etc. should work
26fine, though. A somewhat difficult case are left-to-right scripts, such 33fine, though. A somewhat difficult case are left-to-right scripts, such
27as hebrew: B<rxvt-unicode> adopts the view that bidirectional algorithms 34as hebrew: B<rxvt-unicode> adopts the view that bidirectional algorithms
28belong into the application, not the terminal emulator (too many things -- 35belong into the application, not the terminal emulator (too many things --
29such as cursor-movement -- break othwerwise). 36such as cursor-movement while editing -- break otherwise), but that might
37change.
30 38
39If you are looking for a terminal that supports more exotic scripts, let
40me recommend C<mlterm>, which is a very userfriendly, lean and clean
41terminal emulator. In fact, the reason rxvt-unicode was born was solely
42because the author couldn't get C<mlterm> to use one font for latin1 and
43another for japanese.
44
31Another design rationale was the use of multiple fonts to display 45Therefore another design rationale was the use of multiple fonts to
32characters: The idea of a single unicode font which many other programs 46display characters: The idea of a single unicode font which many other
33force onto it's users never made sense to me: You should be able to choose 47programs force onto it's users never made sense to me: You should be able
34any font for any script. 48to choose any font for any script freely.
35 49
36Apart from that, rxvt-unicode is also much better internationalised than 50Apart from that, rxvt-unicode is also much better internationalised than
37it's predecessor, supports things such as XFT and ISO 14755 that are handy 51it's predecessor, supports things such as XFT and ISO 14755 that are handy
38in i18n-environments, is faster, and has a lot less bugs than the original 52in i18n-environments, is faster, and has a lot less bugs than the original
39rxvt. This all in addition to dozens of other small improvements. 53rxvt. This all in addition to dozens of other small improvements.
46drastically reduces memory usage. See @@RXVT_NAME@@d(1) (daemon) and 60drastically reduces memory usage. See @@RXVT_NAME@@d(1) (daemon) and
47@@RXVT_NAME@@c(1) (client). 61@@RXVT_NAME@@c(1) (client).
48 62
49It also makes technical information about escape sequences (which have 63It also makes technical information about escape sequences (which have
50been extended) easier accessible: see @@RXVT_NAME@@(7) for technical 64been extended) easier accessible: see @@RXVT_NAME@@(7) for technical
51reference documentation (escape sequences etc.) and the FAQ section at the 65reference documentation (escape sequences etc.).
52end of this document.
53 66
54=head1 OPTIONS 67=head1 OPTIONS
55 68
56The B<@@RXVT_NAME@@> options (mostly a subset of I<xterm>'s) are listed 69The B<@@RXVT_NAME@@> options (mostly a subset of I<xterm>'s) are listed
57below. In keeping with the smaller-is-better philosophy, options may be 70below. In keeping with the smaller-is-better philosophy, options may be
92 105
93=item B<-j>|B<+j> 106=item B<-j>|B<+j>
94 107
95Turn on/off jump scrolling; resource B<jumpScroll>. 108Turn on/off jump scrolling; resource B<jumpScroll>.
96 109
97=item B<-ip>|B<+ip> 110=item B<-ip>|B<+ip> | B<-tr>|B<+tr>
98 111
99Turn on/off inheriting parent window's pixmap. Alternative form is 112Turn on/off inheriting parent window's pixmap. Alternative form is
100B<-tr>; resource B<inheritPixmap>. 113B<-tr>; resource B<inheritPixmap>.
101 114
102=item B<-fade> I<number> 115=item B<-fade> I<number>
103 116
104Fade the text by the given percentage when focus is lost. 117Fade the text by the given percentage when focus is lost. Small values
118fade a little only, 100 completely replaces all colours by the fade
119colour; resource B<fading>.
120
121=item B<-fadecolor> I<colour>
122
123Fade to this colour when fading is used (see B<-fade>). The default colour
124is black. resource B<fadeColor>.
105 125
106=item B<-tint> I<colour> 126=item B<-tint> I<colour>
107 127
108Tint the transparent background pixmap with the given colour when 128Tint the transparent background pixmap with the given colour when
109transparency is enabled with B<-tr> or B<-ip>. See also the B<-sh> 129transparency is enabled with B<-tr> or B<-ip>. This only works for
110option that can be used to brighten or darken the image in addition to 130non-tiled backgrounds, currently. See also the B<-sh> option that can be
111tinting it. 131used to brighten or darken the image in addition to tinting it; resource
132I<tintColor>. Example:
133
134 @@RXVT_NAME@@ -tr -tint blue -sh 40
112 135
113=item B<-sh> 136=item B<-sh>
114 137
115I<number> Darken (0 .. 100) or lighten (-1 .. -100) the transparent 138I<number> Darken (0 .. 100) or lighten (-1 .. -100) the transparent
116background image in addition to tinting it (i.e. B<-tint> must be 139background image in addition to tinting it (i.e. B<-tint> must be
117specified, too). 140specified, too, e.g. C<-tint white>).
118 141
119=item B<-bg> I<colour> 142=item B<-bg> I<colour>
120 143
121Window background colour; resource B<background>. 144Window background colour; resource B<background>.
122 145
125Window foreground colour; resource B<foreground>. 148Window foreground colour; resource B<foreground>.
126 149
127=item B<-pixmap> I<file[;geom]> 150=item B<-pixmap> I<file[;geom]>
128 151
129Compile I<XPM>: Specify XPM file for the background and also optionally 152Compile I<XPM>: Specify XPM file for the background and also optionally
130specify its scaling with a geometry string. Note you may need to add 153specify its scaling with a geometry string. Note you may need to
131quotes to avoid special shell interpretation of the `;' in the 154add quotes to avoid special shell interpretation of the C<;> in the
132command-line; resource B<backgroundPixmap>. 155command-line; resource B<backgroundPixmap>.
133 156
134=item B<-cr> I<colour> 157=item B<-cr> I<colour>
135 158
136The cursor colour; resource B<cursorColor>. 159The cursor colour; resource B<cursorColor>.
143 166
144The mouse pointer background colour; resource B<pointerColor2>. 167The mouse pointer background colour; resource B<pointerColor2>.
145 168
146=item B<-bd> I<colour> 169=item B<-bd> I<colour>
147 170
148The colour of the border between the xterm scrollbar and the text; 171The colour of the border around the text area and between the scrollbar and the text;
149resource B<borderColor>. 172resource B<borderColor>.
150 173
151=item B<-fn> I<fontname> 174=item B<-fn> I<fontlist>
152 175
153Select the fonts to be used. This is a comma seperated list of font 176Select the fonts to be used. This is a comma separated list of font names
154names that are used in turn when trying to display Unicode characters. 177that are used in turn when trying to display Unicode characters. The
155The first font defines the cell size for characters; other fonts might 178first font defines the cell size for characters; other fonts might be
156be smaller, but not larger. A reasonable default font list is always 179smaller, but not (in general) larger. A (hopefully) reasonable default
157appended to it. resource B<font>. 180font list is always appended to it. See resource B<font> for more details.
181
182In short, to specify an X11 core font, just specify it's name or prefix it
183with C<x:>. To specify an XFT-font, you need to prefix it with C<xft:>,
184e.g.:
185
186 @@RXVT_NAME@@ -fn "xft:Bitstream Vera Sans Mono:pixelsize=15"
187 @@RXVT_NAME@@ -fn "9x15bold,xft:Bitstream Vera Sans Mono"
158 188
159See also the question "How does rxvt-unicode choose fonts?" in the FAQ 189See also the question "How does rxvt-unicode choose fonts?" in the FAQ
160section. 190section of @@RXVT_NAME@@(7).
161 191
192=item B<-fb> I<fontlist>
193
194Compile I<font-styles>: The bold font list to use when B<bold> characters
195are to be printed. See resource B<boldFont> for details.
196
197=item B<-fi> I<fontlist>
198
199Compile I<font-styles>: The italic font list to use when I<italic>
200characters are to be printed. See resource B<italicFont> for details.
201
202=item B<-fbi> I<fontlist>
203
204Compile I<font-styles>: The bold italic font list to use when B<< I<bold
205italic> >> characters are to be printed. See resource B<boldItalicFont>
206for details.
207
162=item B<-rb>|B<+rb> 208=item B<-is>|B<+is>
163 209
164Enable "real bold" support. When this option is on, bold text will be 210Compile I<font-styles>: Bold/Italic font styles imply high intensity
165displayed using the first available bold font in the font list. Bold 211foreground/background (default). See resource B<intensityStyles> for
166fonts should thus be specified in the font list after their 212details.
167corresponding regular fonts. If no bold font can be found, a regular
168font will be used. resource B<realBold>.
169 213
170=item B<-name> I<name> 214=item B<-name> I<name>
171 215
172Specify the application name under which resources are to be obtained, 216Specify the application name under which resources are to be obtained,
173rather than the default executable file name. Name should not contain 217rather than the default executable file name. Name should not contain
211 255
212Put scrollbar on right/left; resource B<scrollBar_right>. 256Put scrollbar on right/left; resource B<scrollBar_right>.
213 257
214=item B<-st>|B<+st> 258=item B<-st>|B<+st>
215 259
216Display normal (non XTerm/NeXT) scrollbar without/with a trough; 260Display rxvt (non XTerm/NeXT) scrollbar without/with a trough;
217resource B<scrollBar_floating>. 261resource B<scrollBar_floating>.
262
263=item B<-ptab>|B<+ptab>
264
265If enabled (default), "Horizontal Tab" characters are being stored as
266actual wide characters in the screen buffer, which makes it possible to
267select and paste them. Since a horizontal tab is a cursor movement and
268not an actual glyph, this can sometimes be visually annoying as the cursor
269on a tab character is displayed as a wide cursor; resource B<pastableTabs>.
218 270
219=item B<-bc>|B<+bc> 271=item B<-bc>|B<+bc>
220 272
221Blink the cursor; resource B<cursorBlink>. 273Blink the cursor; resource B<cursorBlink>.
222 274
245 297
246Compile I<frills>: Set MWM hints to request a borderless window, i.e. 298Compile I<frills>: Set MWM hints to request a borderless window, i.e.
247if honoured by the WM, the rxvt-unicode window will not have window 299if honoured by the WM, the rxvt-unicode window will not have window
248decorations; resource B<borderLess>. 300decorations; resource B<borderLess>.
249 301
302=item B<-sbg>
303
304Compile I<frills>: Disable the usage of the built-in block graphics/line
305drawing characters and just rely on what the specified fonts provide. Use
306this if you have a good font and want to use its block graphic glyphs;
307resource B<skipBuiltinGlyphs>.
308
250=item B<-lsp> I<number> 309=item B<-lsp> I<number>
251 310
252Compile I<linespace>: Lines (pixel height) to insert between each row 311Compile I<frills>: Lines (pixel height) to insert between each row of
253of the display; resource B<linespace>. 312the display. Useful to work around font rendering problems; resource
313B<linespace>.
254 314
255=item B<-tn> I<termname> 315=item B<-tn> I<termname>
256 316
257This option specifies the name of the terminal type to be set in the 317This option specifies the name of the terminal type to be set in the
258B<TERM> environment variable. This terminal type must exist in the 318B<TERM> environment variable. This terminal type must exist in the
267given on the command line. If this option is used, it must be the last 327given on the command line. If this option is used, it must be the last
268on the command-line. If there is no B<-e> option then the default is to 328on the command-line. If there is no B<-e> option then the default is to
269run the program specified by the B<SHELL> environment variable or, 329run the program specified by the B<SHELL> environment variable or,
270failing that, I<sh(1)>. 330failing that, I<sh(1)>.
271 331
332Please note that you must specify a program with arguments. If you want to
333run shell commands, you have to specify the shell, like this:
334
335 @@RXVT_NAME@@ -e sh -c "shell commands"
336
272=item B<-title> I<text> 337=item B<-title> I<text>
273 338
274Window title (B<-T> still respected); the default title is the basename 339Window title (B<-T> still respected); the default title is the basename
275of the program specified after the B<-e> option, if any, otherwise the 340of the program specified after the B<-e> option, if any, otherwise the
276application name; resource B<title>. 341application name; resource B<title>.
294 359
295Compile I<XIM>: input method name. resource B<inputMethod>. 360Compile I<XIM>: input method name. resource B<inputMethod>.
296 361
297=item B<-imlocale> I<string> 362=item B<-imlocale> I<string>
298 363
299The locale to use for opening the IM. You can use an LC_CTYPE of e.g. 364The locale to use for opening the IM. You can use an C<LC_CTYPE> of e.g.
300de_DE.UTF-8 for normal text processing but ja_JP.EUC-JP for the input 365C<de_DE.UTF-8> for normal text processing but C<ja_JP.EUC-JP> for the
301extension to be able to input japanese characters while staying in 366input extension to be able to input japanese characters while staying in
302another locale. 367another locale. resource B<imLocale>.
368
369=item B<-imfont> I<fontset>
370
371Set the font set to use for the X Input Method, see resource B<imFont>
372for more info.
373
374=item B<-tcw>
375
376Change the meaning of triple-click selection with the left mouse
377button. Instead of selecting a full line it will extend the selection the
378end of the logical line only. resource B<tripleclickwords>.
303 379
304=item B<-insecure> 380=item B<-insecure>
305 381
306Enable "insecure" mode, which currently enables most of the escape 382Enable "insecure" mode, which currently enables most of the escape
307sequences that echo strings. See the resource B<insecure> for more 383sequences that echo strings. See the resource B<insecure> for more
321=item B<-ssr>|B<+ssr> 397=item B<-ssr>|B<+ssr>
322 398
323Turn on/off secondary screen scroll (default enabled); resource 399Turn on/off secondary screen scroll (default enabled); resource
324B<secondaryScroll>. 400B<secondaryScroll>.
325 401
402=item B<-hold>|B<+hold>
403
404Turn on/off hold window after exit support. If enabled, @@RXVT_NAME@@
405will not immediately destroy its window when the program executed within
406it exits. Instead, it will wait till it is being killed or closed by the
407user; resource B<hold>.
408
409=item B<-keysym.>I<sym> I<string>
410
411Remap a key symbol. See resource B<keysym>.
412
413=item B<-embed> I<windowid>
414
415Tells @@RXVT_NAME@@ to embed it's windows into an already-existing window,
416which enables applications to easily embed a terminal.
417
418Right now, @@RXVT_NAME@@ will first unmap/map the specified window, so it
419shouldn't be a top-level window. @@RXVT_NAME@@ will also reconfigure it
420quite a bit, so don't expect it to keep some specific state. It's best to
421create an extra subwindow for @@RXVT_NAME@@ and leave it alone.
422
423The window will not be destroyed when @@RXVT_NAME@@ exits.
424
425It might be useful to know that @@RXVT_NAME@@ will not close file
426descriptors passed to it (except for stdin/out/err, of course), so you
427can use file descriptors to communicate with the programs within the
428terminal. This works regardless of wether the C<-embed> option was used or
429not.
430
431Here is a short Gtk2-perl snippet that illustrates how this option can be
432used (a longer example is in F<doc/embed>):
433
434 my $rxvt = new Gtk2::Socket;
435 $rxvt->signal_connect_after (realize => sub {
436 my $xid = $_[0]->window->get_xid;
437 system "@@RXVT_NAME@@ -embed $xid &";
438 });
439
440=item B<-pty-fd> I<file descriptor>
441
442Tells @@RXVT_NAME@@ NOT to execute any commands or create a new pty/tty
443pair but instead use the given filehandle as the tty master. This is
444useful if you want to drive @@RXVT_NAME@@ as a generic terminal emulator
445without having to run a program within it.
446
447If this switch is given, @@RXVT_NAME@@ will not create any utmp/wtmp
448entries and will not tinker with pty/tty permissions - you have to do that
449yourself if you want that.
450
451As an extremely special case, specifying C<-1> will completely suppress
452pty/tty operations.
453
454Here is a example in perl that illustrates how this option can be used (a
455longer example is in F<doc/pty-fd>):
456
457 use IO::Pty;
458 use Fcntl;
459
460 my $pty = new IO::Pty;
461 fcntl $pty, F_SETFD, 0; # clear close-on-exec
462 system "@@RXVT_NAME@@ -pty-fd " . (fileno $pty) . "&";
463 close $pty;
464
465 # now communicate with rxvt
466 my $slave = $pty->slave;
467 while (<$slave>) { print $slave "got <$_>\n" }
468
326=item B<-xrm> I<resourcestring> 469=item B<-pe> I<string>
327 470
328No effect on rxvt-unicode. Simply passes through an argument to be made 471Colon-separated list of perl extension scripts to use in this terminal
329available in the instance's argument list. Appears in I<WM_COMMAND> in 472instance. See resource B<perl-ext>.
330some window managers.
331 473
332=back 474=back
333 475
334=head1 RESOURCES (available also as long-options) 476=head1 RESOURCES (available also as long-options)
335 477
338 480
339There are two different methods that @@RXVT_NAME@@ can use to get the 481There are two different methods that @@RXVT_NAME@@ can use to get the
340Xresource data: using the X libraries (Xrm*-functions) or internal 482Xresource data: using the X libraries (Xrm*-functions) or internal
341Xresources reader (B<~/.Xdefaults>). For the first method (ie. 483Xresources reader (B<~/.Xdefaults>). For the first method (ie.
342B<@@RXVT_NAME@@ -h> lists B<XGetDefaults>), you can set and change the 484B<@@RXVT_NAME@@ -h> lists B<XGetDefaults>), you can set and change the
343resources using X11 tools like B<xset>. Many distribution do also load 485resources using X11 tools like B<xrdb>. Many distribution do also load
344settings from the B<~/.Xresources> file when X starts. 486settings from the B<~/.Xresources> file when X starts. @@RXVT_NAME@@
487will consult the following files/resources in order, with later settings
488overwriting earlier ones:
489
490 1. system-wide app-defaults file, either locale-dependent OR global
491 2. app-defaults file in $XAPPLRESDIR
492 3. RESOURCE_MANAGER property on root-window OR $HOME/.Xdefaults
493 4. SCREEN_RESOURCES for the current screen
494 5. $XENVIRONMENT file OR $HOME/.Xdefaults-<nodename>
345 495
346If compiled with internal Xresources support (i.e. B<@@RXVT_NAME@@ -h> 496If compiled with internal Xresources support (i.e. B<@@RXVT_NAME@@ -h>
347lists B<.Xdefaults>) then B<@@RXVT_NAME@@> accepts application defaults 497lists B<.Xdefaults>) then B<@@RXVT_NAME@@> accepts application defaults
348set in XAPPLOADDIR/URxvt (compile-time defined: usually 498set in XAPPLOADDIR/URxvt (compile-time defined: usually
349B</usr/lib/X11/app-defaults/URxvt>) and resources set in 499B</usr/lib/X11/app-defaults/URxvt>) and resources set in
382high-intensity (bold = bright foreground, blink = bright background) 532high-intensity (bold = bright foreground, blink = bright background)
383colours. The canonical names are as follows: 0=black, 1=red, 2=green, 533colours. The canonical names are as follows: 0=black, 1=red, 2=green,
3843=yellow, 4=blue, 5=magenta, 6=cyan, 7=white, but the actual colour 5343=yellow, 4=blue, 5=magenta, 6=cyan, 7=white, but the actual colour
385names used are listed in the B<COLORS AND GRAPHICS> section. 535names used are listed in the B<COLORS AND GRAPHICS> section.
386 536
537Colours higher than 15 cannot be set using resources (yet), but can be
538changed using an escape command (see @@RXVT_NAME@@(7)).
539
540Colours 16-79 form a standard 4x4x4 colour cube (the same as xterm with
54188 colour support). Colours 80-87 are evenly spaces grey steps.
542
387=item B<colorBD:> I<colour> 543=item B<colorBD:> I<colour>
388 544
545=item B<colorIT:> I<colour>
546
389Use the specified colour to display bold characters when the foreground 547Use the specified colour to display bold or italic characters when the
390colour is the default. This option will be ignored if B<realBold> is 548foreground colour is the default. If font styles are not available
391enabled. 549(Compile I<styles>) and this option is unset, reverse video is used instead.
392 550
393=item B<colorUL:> I<colour> 551=item B<colorUL:> I<colour>
394 552
395Use the specified colour to display underlined characters when the 553Use the specified colour to display underlined characters when the
396foreground colour is the default. 554foreground colour is the default.
397 555
398=item B<colorRV:> I<colour> 556=item B<colorRV:> I<colour>
399 557
400Use the specified colour as the background for reverse video 558Use the specified colour as the background for reverse video
401characters. 559characters.
560
561=item B<underlineColor:> I<colour>
562
563If set, use the specified colour as the colour for the underline
564itself. If unset, use the foreground colour.
402 565
403=item B<cursorColor:> I<colour> 566=item B<cursorColor:> I<colour>
404 567
405Use the specified colour for the cursor. The default is to use the 568Use the specified colour for the cursor. The default is to use the
406foreground colour; option B<-cr>. 569foreground colour; option B<-cr>.
429artificial transparency. B<False>: do not inherit the parent windows' 592artificial transparency. B<False>: do not inherit the parent windows'
430pixmap. 593pixmap.
431 594
432=item B<fading:> I<number> 595=item B<fading:> I<number>
433 596
434Fade the text by the given percentage when focus is lost. 597Fade the text by the given percentage when focus is lost; option B<-fade>.
598
599=item B<fadeColor:> I<colour>
600
601Fade to this colour, when fading is used (see B<fading:>). The default
602colour is black; option B<-fadecolor>.
435 603
436=item B<tintColor:> I<colour> 604=item B<tintColor:> I<colour>
437 605
438Tint the transparent background pixmap with the given colour. 606Tint the transparent background pixmap with the given colour; option
607B<-tint>.
439 608
440=item B<shading:> I<number> 609=item B<shading:> I<number>
441 610
442Darken (0 .. 100) or lighten (-1 .. -100) the transparent background 611Darken (0 .. 100) or lighten (-1 .. -100) the transparent background
443image in addition to tinting it. 612image in addition to tinting it.
444 613
445=item B<fading:> I<number>
446
447Scale the tint colour by the given percentage.
448
449=item B<scrollColor:> I<colour> 614=item B<scrollColor:> I<colour>
450 615
451Use the specified colour for the scrollbar [default #B2B2B2]. 616Use the specified colour for the scrollbar [default #B2B2B2].
452 617
453=item B<troughColor:> I<colour> 618=item B<troughColor:> I<colour>
454 619
455Use the specified colour for the scrollbar's trough area [default 620Use the specified colour for the scrollbar's trough area [default
456#969696]. Only relevant for normal (non XTerm/NeXT) scrollbar. 621#969696]. Only relevant for rxvt (non XTerm/NeXT) scrollbar.
622
623=item B<borderColor:> I<colour>
624
625The colour of the border around the text area and between the scrollbar
626and the text.
457 627
458=item B<backgroundPixmap:> I<file[;geom]> 628=item B<backgroundPixmap:> I<file[;geom]>
459 629
460Use the specified XPM file (note the `.xpm' extension is optional) for 630Use the specified XPM file (note the `.xpm' extension is optional) for
461the background and also optionally specify its scaling with a geometry 631the background and also optionally specify its scaling with a geometry
477 647
478Specify the colon-delimited search path for finding files (XPM and 648Specify the colon-delimited search path for finding files (XPM and
479menus), in addition to the paths specified by the B<RXVTPATH> and 649menus), in addition to the paths specified by the B<RXVTPATH> and
480B<PATH> environment variables. 650B<PATH> environment variables.
481 651
482=item B<font:> I<fontname> 652=item B<font:> I<fontlist>
483 653
484Select the fonts to be used. This is a comma seperated list of font 654Select the fonts to be used. This is a comma separated list of font
485names that are used in turn when trying to display Unicode characters. 655names that are used in turn when trying to display Unicode characters.
486The first font defines the cell size for characters; other fonts might 656The first font defines the cell size for characters; other fonts might
487be smaller, but not larger. A reasonable default font list is always 657be smaller, but not larger. A reasonable default font list is always
488appended to it. option B<-fn>. 658appended to it; option B<-fn>.
489 659
490=item B<realBold:> I<boolean> 660Each font can either be a standard X11 core font (XLFD) name, with
661optional prefix C<x:> or a Xft font (Compile I<xft>), prefixed with C<xft:>.
491 662
492B<True>: Enable "real bold" support. When this option is on, bold text 663In addition, each font can be prefixed with additional hints and
493will be displayed using the first available bold font in the font list. 664specifications enclosed in square brackets (C<[]>). The only available
494Bold fonts should thus be specified in the font list after their 665hint currently is C<codeset=codeset-name>, and this is only used for Xft
495corresponding regular fonts. If no bold font can be found, a regular 666fonts.
496font will be used. option B<-rb>. B<False>: Display bold text in a 667
497regular font, using the color specified with B<colorBD>; option B<+rb>. 668For example, this font resource
669
670 URxvt*font: 9x15bold,\
671 -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso10646-1,\
672 -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1, \
673 [codeset=JISX0208]xft:Kochi Gothic:antialias=false, \
674 xft:Code2000:antialias=false
675
676specifies five fonts to be used. The first one is C<9x15bold> (actually
677the iso8859-1 version of the second font), which is the base font (because
678it is named first) and thus defines the character cell grid to be 9 pixels
679wide and 15 pixels high.
680
681The second font is just used to add additional unicode characters not in
682the base font, likewise the third, which is unfortunately non-bold, but
683the bold version of the font does contain less characters, so this is a
684useful supplement.
685
686The third font is an Xft font with aliasing turned off, and the characters
687are limited to the B<JIS 0208> codeset (i.e. japanese kanji). The font
688contains other characters, but we are not interested in them.
689
690The last font is a useful catch-all font that supplies most of the
691remaining unicode characters.
692
693=item B<boldFont:> I<fontlist>
694
695=item B<italicFont:> I<fontlist>
696
697=item B<boldItalicFont:> I<fontlist>
698
699The font list to use for displaying B<bold>, I<italic> or B<< I<bold
700italic> >> characters, respectively.
701
702If specified and non-empty, then the syntax is the same as for the
703B<font>-resource, and the given font list will be used as is, which makes
704it possible to substitute completely different font styles for bold and
705italic.
706
707If unset (the default), a suitable font list will be synthesized by
708"morphing" the normal text font list into the desired shape. If that is
709not possible, replacement fonts of the desired shape will be tried.
710
711If set, but empty, then this specific style is disabled and the normal
712text font will being used for the given style.
713
714=item B<intensityStyles:> I<boolean>
715
716When font styles are not enabled, or this option is enabled (B<True>,
717option B<-is>, the default), bold and italic font styles imply high
718intensity foreground/backround colours. Disabling this option (B<False>,
719option B<+is>) disables this behaviour, the high intensity colours are not
720reachable.
498 721
499=item B<selectstyle:> I<mode> 722=item B<selectstyle:> I<mode>
500 723
501Set mouse selection style to B<old> which is 2.20, B<oldword> which is 724Set mouse selection style to B<old> which is 2.20, B<oldword> which is
502xterm style with 2.20 old word selection, or anything else which gives 725xterm style with 2.20 old word selection, or anything else which gives
503xterm style selection. 726xterm style selection.
504 727
505=item B<scrollstyle:> I<mode> 728=item B<scrollstyle:> I<mode>
506 729
507Set scrollbar style to B<rxvt>, B<plain>, B<next> or B<xterm>. B<plain> is 730Set scrollbar style to B<rxvt>, B<plain>, B<next> or B<xterm>. B<plain> is
508the author's favourite.. 731the author's favourite.
509 732
510=item B<title:> I<string> 733=item B<title:> I<string>
511 734
512Set window title string, the default title is the command-line 735Set window title string, the default title is the command-line
513specified after the B<-e> option, if any, otherwise the application 736specified after the B<-e> option, if any, otherwise the application
545 768
546Specify a command pipe for vt100 printer [default I<lpr(1)>]. Use 769Specify a command pipe for vt100 printer [default I<lpr(1)>]. Use
547B<Print> to initiate a screen dump to the printer and B<Ctrl-Print> or 770B<Print> to initiate a screen dump to the printer and B<Ctrl-Print> or
548B<Shift-Print> to include the scrollback as well. 771B<Shift-Print> to include the scrollback as well.
549 772
773The string will be interpreted as if typed into the shell as-is.
774
775Example:
776
777 URxvt*print-pipe: cat > $(TMPDIR=$HOME mktemp urxvt.XXXXXX)
778
779This creates a new file in your home directory with the screen contents
780everytime you hit C<Print>.
781
550=item B<scrollBar:> I<boolean> 782=item B<scrollBar:> I<boolean>
551 783
552B<True>: enable the scrollbar [default]; option B<-sb>. B<False>: 784B<True>: enable the scrollbar [default]; option B<-sb>. B<False>:
553disable the scrollbar; option B<+sb>. 785disable the scrollbar; option B<+sb>.
554 786
573B<False>: do not scroll to bottom when tty receives output; option 805B<False>: do not scroll to bottom when tty receives output; option
574B<+si>. 806B<+si>.
575 807
576=item B<scrollWithBuffer:> I<boolean> 808=item B<scrollWithBuffer:> I<boolean>
577 809
578B<True>: scroll with scrollback buffer when tty recieves new lines (and 810B<True>: scroll with scrollback buffer when tty receives new lines (and
579B<scrollTtyOutput> is False); option B<+sw>. B<False>: do not scroll 811B<scrollTtyOutput> is False); option B<-sw>. B<False>: do not scroll
580with scrollback buffer when tty recieves new lines; option B<-sw>. 812with scrollback buffer when tty recieves new lines; option B<+sw>.
581 813
582=item B<scrollTtyKeypress:> I<boolean> 814=item B<scrollTtyKeypress:> I<boolean>
583 815
584B<True>: scroll to bottom when a non-special key is pressed. Special keys 816B<True>: scroll to bottom when a non-special key is pressed. Special keys
585are those which are intercepted by rxvt-unicode for special handling and 817are those which are intercepted by rxvt-unicode for special handling and
586are not passed onto the shell; option B<-sk>. B<False>: do not scroll to 818are not passed onto the shell; option B<-sk>. B<False>: do not scroll to
587bottom when a non-special key is pressed; option B<+sk>. 819bottom when a non-special key is pressed; option B<+sk>.
588 820
589=item B<smallfont_key:> I<keysym>
590
591If enabled, use B<@@HOTKEY@@->I<keysym> to toggle to a smaller font
592[default B<@@HOTKEY@@-@@SMALLFONT@@>]
593
594=item B<bigfont_key:> I<keysym>
595
596If enabled, use B<@@HOTKEY@@->I<keysym> to toggle to a bigger font
597[default B<@@HOTKEY@@-@@BIGFONT@@>]
598
599=item B<saveLines:> I<number> 821=item B<saveLines:> I<number>
600 822
601Save I<number> lines in the scrollback buffer [default 64]. This 823Save I<number> lines in the scrollback buffer [default 64]. This
602resource is limited on most machines to 65535; option B<-sl>. 824resource is limited on most machines to 65535; option B<-sl>.
603 825
614=item B<borderLess:> I<boolean> 836=item B<borderLess:> I<boolean>
615 837
616Set MWM hints to request a borderless window, i.e. if honoured by the 838Set MWM hints to request a borderless window, i.e. if honoured by the
617WM, the rxvt-unicode window will not have window decorations; option B<-bl>. 839WM, the rxvt-unicode window will not have window decorations; option B<-bl>.
618 840
841=item B<skipBuiltinGlyphs:> I<boolean>
842
843Compile I<frills>: Disable the usage of the built-in block graphics/line
844drawing characters and just rely on what the specified fonts provide. Use
845this if you have a good font and want to use its block graphic glyphs;
846option B<-sbg>.
847
619=item B<termName:> I<termname> 848=item B<termName:> I<termname>
620 849
621Specifies the terminal type name to be set in the B<TERM> environment 850Specifies the terminal type name to be set in the B<TERM> environment
622variable; option B<-tn>. 851variable; option B<-tn>.
623 852
633 862
634=item B<mouseWheelScrollPage:> I<boolean> 863=item B<mouseWheelScrollPage:> I<boolean>
635 864
636B<True>: the mouse wheel scrolls a page full. B<False>: the mouse wheel 865B<True>: the mouse wheel scrolls a page full. B<False>: the mouse wheel
637scrolls five lines [default]. 866scrolls five lines [default].
867
868=item B<pastableTabs:> I<boolean>
869
870B<True>: store tabs as wide characters. B<False>: interpret tabs as cursor
871movement only; option C<-ptab>.
638 872
639=item B<cursorBlink:> I<boolean> 873=item B<cursorBlink:> I<boolean>
640 874
641B<True>: blink the cursor. B<False>: do not blink the cursor [default]; 875B<True>: blink the cursor. B<False>: do not blink the cursor [default];
642option B<-bc>. 876option B<-bc>.
655 889
656Mouse pointer background colour. 890Mouse pointer background colour.
657 891
658=item B<pointerBlankDelay:> I<number> 892=item B<pointerBlankDelay:> I<number>
659 893
660Specifies number of seconds before blanking the pointer [default 2]. 894Specifies number of seconds before blanking the pointer [default 2]. Use a
895large number (e.g. C<987654321>) to effectively disable the timeout.
661 896
662=item B<backspacekey:> I<string> 897=item B<backspacekey:> I<string>
663 898
664The string to send when the backspace key is pressed. If set to B<DEC> 899The string to send when the backspace key is pressed. If set to B<DEC>
665or unset it will send B<Delete> (code 127) or, if shifted, B<Backspace> 900or unset it will send B<Delete> (code 127) or, if shifted, B<Backspace>
687 922
688I<name> of inputMethod to use; option B<-im>. 923I<name> of inputMethod to use; option B<-im>.
689 924
690=item B<imLocale:> I<name> 925=item B<imLocale:> I<name>
691 926
692The locale to use for opening the IM. You can use an LC_CTYPE of e.g. 927The locale to use for opening the IM. You can use an C<LC_CTYPE> of e.g.
693de_DE.UTF-8 for normal text processing but ja_JP.EUC-JP for the input 928C<de_DE.UTF-8> for normal text processing but C<ja_JP.EUC-JP> for the
694extension to be able to input japanese characters while staying in 929input extension to be able to input japanese characters while staying in
695another locale. option B<-imlocale>. 930another locale; option B<-imlocale>.
696 931
697=item B<insecure> 932=item B<imFont:> I<fontset>
933
934Specify the font-set used for XIM styles C<OverTheSpot> or
935C<OffTheSpot>. It must be a standard X font set (XLFD patterns separated
936by commas), i.e. it's not in the same format as the other font lists used
937in @@RXVT_NAME@@. The default will be set-up to chose *any* suitable found
938found, preferably one or two pixels differing in size to the base font.
939option B<-imfont>.
940
941=item B<tripleclickwords:> I<boolean>
942
943Change the meaning of triple-click selection with the left mouse
944button. Instead of selecting a full line it will extend the selection to
945the end of the logical line only; option B<-tcw>.
946
947=item B<insecure:> I<boolean>
698 948
699Enables "insecure" mode. Rxvt-unicode offers some escape sequences that 949Enables "insecure" mode. Rxvt-unicode offers some escape sequences that
700echo arbitrary strings like the icon name or the locale. This could be 950echo arbitrary strings like the icon name or the locale. This could be
701abused if somebody gets 8-bit-clean access to your display, wether 951abused if somebody gets 8-bit-clean access to your display, whether
702throuh a mail client displaying mail bodies unfiltered or though 952through a mail client displaying mail bodies unfiltered or through
703write(1). Therefore, these sequences are disabled by default. (Note 953write(1) or any other means. Therefore, these sequences are disabled by
704that other terminals, including xterm, have these sequences 954default. (Note that many other terminals, including xterm, have these
705enabled by default). You can enable them by setting this boolean 955sequences enabled by default, which doesn't make it safer, though).
706resource or specifying B<-insecure> as an option. At the moment, this 956
707enabled display-answer, locale, findfont, icon label and window title 957You can enable them by setting this boolean resource or specifying
708requests as well as dynamic menubar dispatch. 958B<-insecure> as an option. At the moment, this enables display-answer,
959locale, findfont, icon label and window title requests as well as dynamic
960menubar dispatch.
709 961
710=item B<modifier:> I<modifier> 962=item B<modifier:> I<modifier>
711 963
712Set the key to be interpreted as the Meta key to: B<alt>, B<meta>, 964Set the key to be interpreted as the Meta key to: B<alt>, B<meta>,
713B<hyper>, B<super>, B<mod1>, B<mod2>, B<mod3>, B<mod4>, B<mod5>; option 965B<hyper>, B<super>, B<mod1>, B<mod2>, B<mod3>, B<mod4>, B<mod5>; option
728Turn on/off secondary screen scroll (default enabled). If the this 980Turn on/off secondary screen scroll (default enabled). If the this
729option is enabled, scrolls on the secondary screen will change the 981option is enabled, scrolls on the secondary screen will change the
730scrollback buffer and switching to/from the secondary screen will 982scrollback buffer and switching to/from the secondary screen will
731instead scroll the screen up. 983instead scroll the screen up.
732 984
985=item B<hold>: I<bool>
986
987Turn on/off hold window after exit support. If enabled, @@RXVT_NAME@@
988will not immediately destroy its window when the program executed within
989it exits. Instead, it will wait till it is being killed or closed by the
990user.
991
733=item B<keysym.>I<sym>: I<string> 992=item B<keysym.>I<sym>: I<string>
734 993
735Associate I<string> with keysym I<sym> (B<0xFF00 - 0xFFFF>). It may 994Compile I<frills>: Associate I<string> with keysym I<sym>. The
736contain escape values (\a: bell, \b: backspace, \e, \E: escape, \n: 995intervening resource name B<keysym.> cannot be omitted.
737newline, \r: return, \t: 996
997The format of I<sym> is "I<(modifiers-)key>", where I<modifiers> can be
998any combination of B<ISOLevel3>, B<AppKeypad>, B<Control>, B<NumLock>,
999B<Shift>, B<Meta>, B<Lock>, B<Mod1>, B<Mod2>, B<Mod3>, B<Mod4>, B<Mod5>,
1000and the abbreviated B<I>, B<K>, B<C>, B<N>, B<S>, B<M>, B<A>, B<L>, B<1>,
1001B<2>, B<3>, B<4>, B<5>.
1002
1003The B<NumLock>, B<Meta> and B<ISOLevel3> modifiers are usually aliased to
1004whatever modifier the NumLock key, Meta/Alt keys or ISO Level3 Shift/AltGr
1005keys are being mapped. B<AppKeypad> is a synthetic modifier mapped to the
1006current application keymap mode state.
1007
1008The spellings of I<key> can be obtained by using B<xev>(1) command or
1009searching keysym macros from B</usr/X11R6/include/X11/keysymdef.h> and
1010omitting the prefix B<XK_>. Alternatively you can specify I<key> by its hex
1011keysym value (B<0x0000 - 0xFFFF>). Note that the lookup of I<sym>s is not
1012performed in an exact manner; however, the closest match is assured.
1013
1014I<string> may contain escape values (C<\a>: bell, C<\b>: backspace,
1015C<\e>, C<\E>: escape, C<\n>: newline, C<\r>: carriage return, C<\t>: tab,
738tab, \000: octal number) or control characters (^?: delete, ^@: null, 1016C<\000>: octal number) or verbatim control characters (C<^?>: delete,
739^A ...) and may enclosed with double quotes so that it can start or end 1017C<^@>: null, C<^A> ...) and may be enclosed with double quotes so that it
740with whitespace. The intervening resource name B<keysym.> cannot be 1018can start or end with whitespace.
741omitted. This resource is only available when compiled with 1019
742KEYSYM_RESOURCE. 1020Please note that you need to double the C<\> when using
1021C<--enable-xgetdefault>, as X itself does it's own de-escaping (you can
1022use C<\033> instead of C<\e> (and so on), which will work with both Xt and
1023@@RXVT_NAME@@'s own processing).
1024
1025You can define a range of keysyms in one shot by providing a I<string>
1026with pattern B<list/PREFIX/MIDDLE/SUFFIX>, where the delimeter `/'
1027should be a character not used by the strings.
1028
1029Its usage can be demonstrated by an example:
1030
1031 URxvt.keysym.M-C-0x61: list|\033<M-C-|abc|>
1032
1033The above line is equivalent to the following three lines:
1034
1035 URxvt.keysym.Meta-Control-0x61: \033<M-C-a>
1036 URxvt.keysym.Meta-Control-0x62: \033<M-C-b>
1037 URxvt.keysym.Meta-Control-0x63: \033<M-C-c>
1038
1039If I<string> takes the form of C<command:STRING>, the specified B<STRING>
1040is interpreted and executed as @@RXVT_NAME@@'s control sequence. For
1041example the following means "change the current locale to C<zh_CN.GBK>
1042when Control-Meta-c is being pressed":
1043
1044 URxvt.keysym.M-C-c: command:\033]701;zh_CN.GBK\007
1045
1046If I<string> takes the form C<perl:STRING>, then the specified B<STRING>
1047is passed to the C<on_keyboard_command> perl handler. See the @@RXVT_NAME@@perl(3)
1048manpage. For example, the F<selection> extension (activated via
1049C<@@RXVT_NAME@@ -pe selection>) listens for C<selection:rot13> events:
1050
1051 URxvt.keysym.M-C-c: perl:selection:rot13
1052
1053Due the the large number of modifier combinations, a defined key mapping
1054will match if at I<at least> the specified identifiers are being set, and
1055no other key mappings with those and more bits are being defined. That
1056means that defining a key map for C<a> will automatically provide
1057definitions for C<Meta-a>, C<Shift-a> and so on, unless some of those are defined
1058mappings themselves.
1059
1060Unfortunately, this will override built-in key mappings. For example
1061if you overwrite the C<Insert> key you will disable @@RXVT_NAME@@'s
1062C<Shift-Insert> mapping. To re-enable that, you can poke "holes" into the
1063user-defined keymap using the C<builtin:> replacement:
1064
1065 URxvt.keysym.Insert: <my insert key sequence>
1066 URxvt.keysym.S-Insert: builtin:
1067
1068The first line defines a mapping for C<Insert> and I<any> combination
1069of modifiers. The second line re-establishes the default mapping for
1070C<Shift-Insert>.
1071
1072The following example will map Control-Meta-1 and Control-Meta-2 to
1073the fonts C<suxuseuro> and C<9x15bold>, so you can have some limited
1074font-switching at runtime:
1075
1076 URxvt.keysym.M-C-1: command:\033]50;suxuseuro\007
1077 URxvt.keysym.M-C-2: command:\033]50;9x15bold\007
1078
1079Other things are possible, e.g. resizing (see @@RXVT_NAME@@(7) for more
1080info):
1081
1082 URxvt.keysym.M-C-3: command:\033[8;25;80t
1083 URxvt.keysym.M-C-4: command:\033[8;48;110t
1084
1085=item B<perl-ext-common>: I<string>
1086
1087=item B<perl-ext>: I<string>
1088
1089Colon-separated list(s) of perl extension scripts to use in this terminal
1090instance. Each extension is looked up in the library directories, loaded
1091if necessary, and bound to the current terminal instance. If this
1092resource is empty or missing, then the perl interpreter will not be
1093initialized. The idea behind two options is that B<perl-ext-common> will
1094be used for extensions that should be available to all instances, while
1095B<perl-ext> is used for specific instances; option B<-pe>.
1096
1097=item B<perl-eval>: I<string>
1098
1099Perl code to be evaluated when all extensions have been registered. See the
1100@@RXVT_NAME@@perl(3) manpage.
1101
1102=item B<perl-lib>: I<path>
1103
1104Colon-separated list of additional directories that hold extension
1105scripts. When looking for extensions specified by the C<perl> resource,
1106@@RXVT_NAME@@ will first look in these directories and then in
1107F<@@RXVT_LIBDIR@@/urxvt/perl/>.
1108
1109See the @@RXVT_NAME@@perl(3) manpage.
743 1110
744=back 1111=back
745 1112
746=head1 THE SCROLLBAR 1113=head1 THE SCROLLBAR
747 1114
761the normal text selection/insertion, hold either the Shift or the Meta 1128the normal text selection/insertion, hold either the Shift or the Meta
762(Alt) key while performing the desired mouse action. 1129(Alt) key while performing the desired mouse action.
763 1130
764If mouse reporting mode is active, the normal scrollbar actions are 1131If mouse reporting mode is active, the normal scrollbar actions are
765disabled -- on the assumption that we are using a fullscreen 1132disabled -- on the assumption that we are using a fullscreen
766application. Instead, pressing Button1 and Button3 sends B<ESC[6~> 1133application. Instead, pressing Button1 and Button3 sends B<ESC [ 6 ~>
767(Next) and B<ESC[5~> (Prior), respectively. Similarly, clicking on the 1134(Next) and B<ESC [ 5 ~> (Prior), respectively. Similarly, clicking on the
768up and down arrows sends B<ESC[A> (Up) and B<ESC[B> (Down), 1135up and down arrows sends B<ESC [ A> (Up) and B<ESC [ B> (Down),
769respectively. 1136respectively.
770 1137
771=head1 TEXT SELECTION AND INSERTION 1138=head1 TEXT SELECTION AND INSERTION
772 1139
773The behaviour of text selection and insertion mechanism is similar to 1140The behaviour of text selection and insertion mechanism is similar to
775 1142
776=over 4 1143=over 4
777 1144
778=item B<Selection>: 1145=item B<Selection>:
779 1146
780Left click at the beginning of the region, drag to the end of the 1147Left click at the beginning of the region, drag to the end of the region
781region and release; Right click to extend the marked region; Left 1148and release; Right click to extend the marked region; Left double-click
782double-click to select a word; Left triple-click to select the entire 1149to select a word; Left triple-click to select the entire logical line
783line. 1150(which can span multiple screen lines), unless modified by resource
1151B<tripleclickwords>.
1152
1153Starting a selection while pressing the B<Meta> key (or B<Meta+Ctrl> keys)
1154(Compile: I<frills>) will create a rectangular selection instead of a
1155normal one. In this mode, every selected row becomes its own line in the
1156selection, and trailing whitespace is visually underlined and removed from
1157the selection.
784 1158
785=item B<Insertion>: 1159=item B<Insertion>:
786 1160
787Pressing and releasing the Middle mouse button (or B<Shift-Insert>) in 1161Pressing and releasing the Middle mouse button (or B<Shift-Insert>) in
788an B<@@RXVT_NAME@@> window causes the current text selection to be 1162an B<@@RXVT_NAME@@> window causes the current text selection to be
790 1164
791=back 1165=back
792 1166
793=head1 CHANGING FONTS 1167=head1 CHANGING FONTS
794 1168
795You can change fonts on-the-fly, which is to say cycle through the 1169Changing fonts (or font sizes, respectively) via the keypad is not yet
796default font and others of various sizes, by using B<Shift-KP_Add> and 1170supported in rxvt-unicode. Bug me if you need this.
797B<Shift-KP_Subtract>. Or, alternatively (if enabled) with 1171
798B<@@HOTKEY@@-@@BIGFONT@@> and B<@@HOTKEY@@-@@SMALLFONT@@>, where the 1172You can, however, switch fonts at runtime using escape sequences (and
799actual key can be selected using resources 1173therefore using the menubar), e.g.:
800B<smallfont_key>/B<bigfont_key>. 1174
1175 printf '\e]710;%s\007' "9x15bold,xft:Kochi Gothic"
1176
1177rxvt-unicode will automatically re-apply these fonts to the output so far.
801 1178
802=head1 ISO 14755 SUPPORT 1179=head1 ISO 14755 SUPPORT
803 1180
804Partial ISO 14755-support is implemented. that means that pressing 1181ISO 14755 is a standard for entering and viewing unicode characters
1182and character codes using the keyboard. It consists of 4 parts. The
1183first part is available rxvt-unicode has been compiled with
1184C<--enable-frills>, the rest is available when rxvt-unicode was compiled
1185with C<--enable-iso14755>.
805 1186
806Section 5.1: Control and Shift together enters unicode input 1187=over 4
807mode. Entering hex digits composes a Unicode character, pressing space or
808releasing the modifiers commits the keycode and every other key cancels
809the current input character.
810 1188
811Section 5.2: Pressing and immediately releasing Control and Shift together 1189=item * 5.1: Basic method
812enters keycap entry mode for the next key: pressing a function key (tab, 1190
813return etc..) will enter the unicode character corresponding to the given 1191This allows you to enter unicode characters using their hexcode.
814key. 1192
1193Start by pressing and holding both C<Control> and C<Shift>, then enter
1194hex-digits (between one and six). Releasing C<Control> and C<Shift> will
1195commit the character as if it were typed directly. While holding down
1196C<Control> and C<Shift> you can also enter multiple characters by pressing
1197C<Space>, which will commit the current character and lets you start a new
1198one.
1199
1200As an example of use, imagine a business card with a japanese e-mail
1201address, which you cannot type. Fortunately, the card has the e-mail
1202address printed as hexcodes, e.g. C<671d 65e5>. You can enter this easily
1203by pressing C<Control> and C<Shift>, followed by C<6-7-1-D-SPACE-6-5-E-5>,
1204followed by releasing the modifier keys.
1205
1206=item * 5.2: Keyboard symbols entry method
1207
1208This mode lets you input characters representing the keycap symbols of
1209your keyboard, if representable in the current locale encoding.
1210
1211Start by pressing C<Control> and C<Shift> together, then releasing
1212them. The next special key (cursor keys, home etc.) you enter will not
1213invoke it's usual function but instead will insert the corresponding
1214keycap symbol. The symbol will only be entered when the key has been
1215released, otherwise pressing e.g. C<Shift> would enter the symbol for
1216C<ISO Level 2 Switch>, although your intention might have been to enter a
1217reverse tab (Shift-Tab).
1218
1219=item * 5.3: Screen-selection entry method
1220
1221While this is implemented already (it's basically the selection
1222mechanism), it could be extended by displaying a unicode character map.
1223
1224=item * 5.4: Feedback method for identifying displayed characters for later input
1225
1226This method lets you display the unicode character code associated with
1227characters already displayed.
1228
1229You enter this mode by holding down C<Control> and C<Shift> together, then
1230pressing and holding the left mouse button and moving around. The unicode
1231hex code(s) (it might be a combining character) of the character under the
1232pointer is displayed until you release C<Control> and C<Shift>.
1233
1234In addition to the hex codes it will display the font used to draw this
1235character - due to implementation reasons, characters combined with
1236combining characters, line drawing characters and unknown characters will
1237always be drawn using the built-in support font.
1238
1239=back
1240
1241With respect to conformance, rxvt-unicode is supposed to be compliant to
1242both scenario A and B of ISO 14755, including part 5.2.
815 1243
816=head1 LOGIN STAMP 1244=head1 LOGIN STAMP
817 1245
818B<@@RXVT_NAME@@> tries to write an entry into the I<utmp>(5) file so 1246B<@@RXVT_NAME@@> tries to write an entry into the I<utmp>(5) file so that
819that it can be seen via the I<who(1)> command, and can accept messages. 1247it can be seen via the I<who(1)> command, and can accept messages. To
820To allow this feature, B<@@RXVT_NAME@@> must be installed setuid root on 1248allow this feature, B<@@RXVT_NAME@@> may need to be installed setuid root
821some systems. 1249on some systems or setgid to root or to some other group on others.
822 1250
823=head1 COLORS AND GRAPHICS 1251=head1 COLORS AND GRAPHICS
824 1252
825In addition to the default foreground and background colours, 1253In addition to the default foreground and background colours,
826B<@@RXVT_NAME@@> can display up to 16 colours (8 ANSI colours plus 1254B<@@RXVT_NAME@@> can display up to 16 colours (8 ANSI colours plus
867would yield White on Black, while on I<xterm>(1) it would yield Black 1295would yield White on Black, while on I<xterm>(1) it would yield Black
868on White. 1296on White.
869 1297
870=back 1298=back
871 1299
872=head1 FREQUENTLY ASKED QUESTIONS (FAQ) 1300=head1 ENVIRONMENT
1301
1302B<@@RXVT_NAME@@> sets and/or uses the following environment variables:
873 1303
874=over 4 1304=over 4
875 1305
876=item How do I know which rxvt-unicode version I'm using? 1306=item B<TERM>
877 1307
878The version number is displayed with the usage (-h). For rxvt-unicode 1308Normally set to C<rxvt-unicode>, unless overwritten at configure time, via
879version 2.14 and later, the escape sequence C<ESC[8n> sets the window 1309resources or on the commandline.
880title to the version number.
881 1310
882=item Why do the characters look ugly? 1311=item B<COLORTERM>
883 1312
884=item How does rxvt-unicode choose fonts? 1313Either C<rxvt>, C<rxvt-xpm>, depending on wether @@RXVT_NAME@@ was
1314compiled with XPM support, and optionally with the added extension
1315C<-mono> to indicate that rxvt-unicode runs on a monochrome screen.
885 1316
886Most fonts do not contain the full range of Unicode, which is 1317=item B<COLORFGBG>
887fine. Chances are that the font you (or the admin/package maintainer of
888your system/os) have specified does not cover all the characters you want
889to display.
890 1318
891B<rxvt-unicode> makes a best-effort try at finding a replacement 1319Set to a string of the form C<fg;bg> or C<fg;xpm;bg>, where C<fg> is
892font. Often the result is fine, but sometimes the chosen font looks 1320the colour code used as default foreground/text colour (or the string
893bad. In that case, select a font of your taste and add it to the font 1321C<default> to indicate that the default-colour escape sequence is to be
894list, e.g.: 1322used), C<bg> is the colour code used as default background colour (or the
1323string C<default>), and C<xpm> is the string C<default> if @@RXVT_NAME@@
1324was compiled with XPM support. Libraries like C<ncurses> and C<slang> can
1325(and do) use this information to optimize screen output.
895 1326
896 @@RXVT_NAME@@ -fn basefont,font2,font3... 1327=item B<WINDOWID>
897 1328
898When rxvt-unicode sees a character, it will first look at the base 1329Set to the (decimal) X Window ID of the @@RXVT_NAME@@ window (the toplevel
899font. If the base font does not contain the character, it will go to the 1330window, which usually has subwindows for the scrollbar, the terminal
900next font, and so on. 1331window and so on).
901 1332
902The only limitation is that all the fonts must not be larger than the base 1333=item B<TERMINFO>
903font, as the base font defines the principial cell size, which must be the
904same due to the way terminals work.
905 1334
906=item Why do some chinese characters look so different than others? 1335Set to the terminfo directory iff @@RXVT_NAME@@ was configured with
1336C<--with-terminfo=PATH>.
907 1337
908This is because there is a difference between script and language -- 1338=item B<DISPLAY>
909rxvt-unicode does not know which language the text that is output
910is, as it only knows the unicode character codes. If rxvt-unicode
911first sees a japanese character, it might choose a japanese font for
912it. Subseqzuent japanese characters will take that font. Now, many chinese
913characters aren't represented in japanese fonts, so when the first
914non-japanese character comes up, rxvt-unicode will look for a chinese font
915-- unfortunately at this point, it will still use the japanese font for
916japanese characters that are also chinese.
917 1339
918The workaround is easy: just tag a chinese font at the end of your font 1340Used by @@RXVT_NAME@@ to connect to the display and set to the correct
919list (see the previous question). The key is to view the font list as 1341display in it's child processes.
920a preference list: If you expect more japanese, list a japanese font
921first. If you expect more chinese, put a chinese font first.
922 1342
923In the future it might be possible to switch preferences at runtime (the 1343=item B<SHELL>
924internal data structure has no problem with using different fonts for
925the same character at the same time, but no interface for this has been
926designed yet).
927 1344
928=item Mouse cut/paste suddenly no longer works. 1345The shell to be used for command execution, defaults to C</bin/sh>.
929 1346
930Make sure that mouse reporting is actually turned off since killing 1347=item B<RXVTPATH>
931some editors prematurely may leave the mouse in mouse report mode. I've
932heard that tcsh may use mouse reporting unless it otherwise specified. A
933quick check is to see if cut/paste works when the Alt or Shift keys are
934depressed. See @@RXVT_NAME@@(7)
935 1348
936=item What's with this bold/blink stuff? 1349The path where @@RXVT_NAME@@ looks for support files such as menu and xpm
1350files.
937 1351
938If no bold colour is set via C<colorBD:>, bold will invert text using the 1352=item B<PATH>
939standard foreground colour.
940 1353
941For the standard background colour, blinking will actually make the 1354Used in the same way as C<RXVTPATH>.
942text blink when compiled with C<--enable-blinking>. with standard
943colours. Without C<--enable-blinking>, the blink attribute will be
944ignored.
945 1355
946On ANSI colours, bold/blink attributes are used to set high-intensity 1356=item B<RXVT_SOCKET>
947foreground/background colors.
948 1357
949color0-7 are the low-intensity colors. 1358The unix domain socket path used by @@RXVT_NAME@@c(1) and
1359@@RXVT_NAME@@d(1).
950 1360
951color8-15 are the corresponding high-intensity colors. 1361Default F<<< $HOME/.rxvt-unicode-I<< <nodename >> >>>.
952 1362
953=item I don't like the screen colors. How do I change them? 1363=item B<HOME>
954 1364
955You can change the screen colors at run-time using F<~/.Xdefaults> 1365Used to locate the default directory for the unix domain socket for
956resources (or as long-options). 1366daemon communications and to locate various resource files (such as
1367C<.Xdefaults>)
957 1368
958Here are values that are supposed to resemble a VGA screen, 1369=item B<XAPPLRESDIR>
959including the murky brown that passes for low-intensity yellow:
960 1370
961 Rxvt*color0: #000000 1371Directory where various X resource files are being located.
962 Rxvt*color1: #A80000
963 Rxvt*color2: #00A800
964 Rxvt*color3: #A8A800
965 Rxvt*color4: #0000A8
966 Rxvt*color5: #A800A8
967 Rxvt*color6: #00A8A8
968 Rxvt*color7: #A8A8A8
969
970 Rxvt*color8: #000054
971 Rxvt*color9: #FF0054
972 Rxvt*color10: #00FF54
973 Rxvt*color11: #FFFF54
974 Rxvt*color12: #0000FF
975 Rxvt*color13: #FF00FF
976 Rxvt*color14: #00FFFF
977 Rxvt*color15: #FFFFFF
978 1372
979=item What's with the strange Backspace/Delete key behaviour? 1373=item B<XENVIRONMENT>
980 1374
981Assuming that the physical Backspace key corresponds to the 1375If set and accessible, gives the name of a X resource file to be loaded by
982BackSpace keysym (not likely for Linux ... see the following
983question) there are two standard values that can be used for
984Backspace: C<^H> and C<^?>.
985
986Historically, either value is correct, but rxvt-unicode adopts the debian
987policy of using C<^?> when unsure, because it's the one only only correct
988choice :).
989
990Rxvt-unicode tries to inherit the current stty settings and uses the value
991of `erase' to guess the value for backspace. If rxvt-unicode wasn't
992started from a terminal (say, from a menu or by remote shell), then the
993system value of `erase', which corresponds to CERASE in <termios.h>, will
994be used (which may not be the same as your stty setting).
995
996For starting a new rxvt-unicode:
997
998 # use Backspace = ^H
999 $ stty erase ^H
1000 $ @@RXVT_NAME@@ 1376@@RXVT_NAME@@.
1001
1002 # use Backspace = ^?
1003 $ stty erase ^?
1004 $ @@RXVT_NAME@@
1005
1006Toggle with "ESC[36h" / "ESC[36l" as documented in @@RXVT_NAME@@(7).
1007
1008For an existing rxvt-unicode:
1009
1010 # use Backspace = ^H
1011 $ stty erase ^H
1012 $ echo -n "^[[36h"
1013
1014 # use Backspace = ^?
1015 $ stty erase ^?
1016 $ echo -n "^[[36l"
1017
1018This helps satisfy some of the Backspace discrepancies that occur, but
1019if you use Backspace = C<^H>, make sure that the termcap/terminfo value
1020properly reflects that.
1021
1022The Delete key is a another casualty of the ill-defined Backspace problem.
1023To avoid confusion between the Backspace and Delete keys, the Delete
1024key has been assigned an escape sequence to match the vt100 for Execute
1025(ESC[3~) and is in the supplied termcap/terminfo.
1026
1027Some other Backspace problems:
1028
1029some editors use termcap/terminfo,
1030some editors (vim I'm told) expect Backspace = ^H,
1031GNU Emacs (and Emacs-like editors) use ^H for help.
1032
1033Perhaps someday this will all be resolved in a consistent manner.
1034
1035=item I don't like the key-bindings. How do I change them?
1036
1037There are some compile-time selections available via configure. Unless
1038you have run "configure" with the C<--disable-resources> option you can
1039use the `keysym' resource to alter the keystrings associated with keysym
10400xFF00 - 0xFFFF (function, cursor keys, etc).
1041
1042Here's an example for a tn3270 session started using `@@RXVT_NAME@@ -name tn3270'
1043
1044 !# ----- special uses ------:
1045 ! tn3270 login, remap function and arrow keys.
1046 tn3270*font: *clean-bold-*-*--15-*
1047
1048 ! keysym - used by rxvt only
1049 ! Delete - ^D
1050 tn3270*keysym.0xFFFF: \004
1051
1052 ! Home - ^A
1053 tn3270*keysym.0xFF50: \001
1054 ! Left - ^B
1055 tn3270*keysym.0xFF51: \002
1056 ! Up - ^P
1057 tn3270*keysym.0xFF52: \020
1058 ! Right - ^F
1059 tn3270*keysym.0xFF53: \006
1060 ! Down - ^N
1061 tn3270*keysym.0xFF54: \016
1062 ! End - ^E
1063 tn3270*keysym.0xFF57: \005
1064
1065 ! F1 - F12
1066 tn3270*keysym.0xFFBE: \e1
1067 tn3270*keysym.0xFFBF: \e2
1068 tn3270*keysym.0xFFC0: \e3
1069 tn3270*keysym.0xFFC1: \e4
1070 tn3270*keysym.0xFFC2: \e5
1071 tn3270*keysym.0xFFC3: \e6
1072 tn3270*keysym.0xFFC4: \e7
1073 tn3270*keysym.0xFFC5: \e8
1074 tn3270*keysym.0xFFC6: \e9
1075 tn3270*keysym.0xFFC7: \e0
1076 tn3270*keysym.0xFFC8: \e-
1077 tn3270*keysym.0xFFC9: \e=
1078
1079 ! map Prior/Next to F7/F8
1080 tn3270*keysym.0xFF55: \e7
1081 tn3270*keysym.0xFF56: \e8
1082
1083=item I'm using keyboard model XXX that has extra Prior/Next/Insert keys.
1084How do I make use of them? For example, the Sun Keyboard type 4
1085has the following mappings that rxvt-unicode doesn't recognize.
1086
1087 KP_Insert == Insert
1088 F22 == Print
1089 F27 == Home
1090 F29 == Prior
1091 F33 == End
1092 F35 == Next
1093
1094Rather than have rxvt-unicode try to accomodate all the various possible keyboard
1095mappings, it is better to use `xmodmap' to remap the keys as required for
1096your particular machine.
1097
1098=item How do I distinguish if I'm running rxvt-unicode or a regular xterm?
1099I need this to decide about setting colors etc.
1100
1101rxvt and rxvt-unicode always export the variable "COLORTERM", so you can
1102check and see if that is set. Note that several programs, JED, slrn,
1103Midnight Commander automatically check this variable to decide whether or
1104not to use color.
1105
1106=item How do I set the correct, full IP address for the DISPLAY variable?
1107
1108If you've compiled rxvt-unicode with DISPLAY_IS_IP and ahve enabled
1109insecure mode then it is possible to use the following shell script
1110snippets to correctly set the display. If your version of rxvt-unicode
1111wasn't also compiled with ESCZ_ANSWER (as assumed in these snippets) then
1112the COLORTERM variable can be used to distinguish rxvt-unicode from a
1113regular xterm.
1114
1115Courtesy of Chuck Blake <cblake@BBN.COM> with the following shell script
1116snippets:
1117
1118 # Bourne/Korn/POSIX family of shells:
1119 [ ${TERM:-foo} = foo ] && TERM=xterm # assume an xterm if we don't know
1120 if [ ${TERM:-foo} = xterm ]; then
1121 stty -icanon -echo min 0 time 15 # see if enhanced rxvt or not
1122 echo -n '^[Z'
1123 read term_id
1124 stty icanon echo
1125 if [ ""${term_id} = '^[[?1;2C' -a ${DISPLAY:-foo} = foo ]; then
1126 echo -n '^[[7n' # query the rxvt we are in for the DISPLAY string
1127 read DISPLAY # set it in our local shell
1128 fi
1129 fi
1130
1131=item How do I compile the manual pages for myself?
1132
1133You need to have a recent version of perl installed as F</usr/bin/perl>,
1134one that comes with F<pod2man>, F<pod2text> and F<pod2html>. Then go to
1135the doc subdirectory and enter C<make alldoc>.
1136 1377
1137=back 1378=back
1138 1379
1139=head1 ENVIRONMENT
1140
1141B<@@RXVT_NAME@@> sets the environment variables B<TERM>, B<COLORTERM>
1142and B<COLORFGBG>. The environment variable B<WINDOWID> is set to the X
1143window id number of the B<@@RXVT_NAME@@> window and it also uses and
1144sets the environment variable B<DISPLAY> to specify which display
1145terminal to use. B<@@RXVT_NAME@@> uses the environment variables
1146B<RXVTPATH> and B<PATH> to find XPM files.
1147
1148=head1 FILES 1380=head1 FILES
1149 1381
1150=over 4 1382=over 4
1151 1383
1152=item B</etc/utmp>
1153
1154System file for login records.
1155
1156=item B</usr/lib/X11/rgb.txt> 1384=item B</usr/lib/X11/rgb.txt>
1157 1385
1158Color names. 1386Color names.
1159 1387
1160=back 1388=back
1161 1389
1162=head1 SEE ALSO 1390=head1 SEE ALSO
1163 1391
1164@@RXVT_NAME@@(7), xterm(1), sh(1), resize(1), X(1), pty(4), tty(4), utmp(5) 1392@@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)
1165
1166=head1 BUGS
1167
1168Check the BUGS file for an up-to-date list.
1169
1170Cursor change support is not yet implemented.
1171
1172Click-and-drag doesn't work with X11 mouse report overriding.
1173 1393
1174=head1 CURRENT PROJECT COORDINATOR 1394=head1 CURRENT PROJECT COORDINATOR
1175 1395
1176=over 4 1396=over 4
1177 1397
1178=item Project Coordinator 1398=item Project Coordinator
1179 1399
1180@@RXVTMAINT@@ L<@@RXVT_MAINTEMAIL@@> 1400Marc A. Lehmann L<< <rxvt-unicode@schmorp.de> >>
1181 1401
1182=item Web page maintainter 1402L<http://software.schmorp.de/#rxvt-unicode>
1183
1184@@RXVTWEBMAINT@@ L<@@RXVT_WEBMAINTEMAIL@@>
1185
1186L<@@RXVT_WEBPAGE@@>
1187 1403
1188=back 1404=back
1189 1405
1190=head1 AUTHORS 1406=head1 AUTHORS
1191 1407
1216=item Geoff Wing L<< <gcw@pobox.com> >> 1432=item Geoff Wing L<< <gcw@pobox.com> >>
1217 1433
1218Rewrote screen display and text selection routines. Project Coordinator 1434Rewrote screen display and text selection routines. Project Coordinator
1219(changes.txt 2.4.6 - rxvt-unicode) 1435(changes.txt 2.4.6 - rxvt-unicode)
1220 1436
1221=item Marc Alexander Lehmann L<< <rxvt@schmorp.de> >> 1437=item Marc Alexander Lehmann L<< <rxvt-unicode@schmorp.de> >>
1222 1438
1223Forked rxvt-unicode, rewrote most of the display code and internal 1439Forked rxvt-unicode, rewrote most of the display code and internal
1224character handling to store text in unicode, improve xterm 1440character handling to store text in unicode, improve xterm
1225compatibility and apply numerous other bugfixes and extensions. 1441compatibility and apply numerous other bugfixes and extensions.
1226 1442

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines