3 rxvt-unicode (ouR XVT, unicode) - (a VT102 emulator for the X window system)
7 B<@@RXVT_NAME@@> [options] [-e command [ args ]]
11 B<rxvt-unicode>, version B<@@RXVT_VERSION@@>, is a colour vt102 terminal
12 emulator intended as an I<xterm>(1) replacement for users who do not
13 require features such as Tektronix 4014 emulation and toolkit-style
14 configurability. As a result, B<rxvt-unicode> uses much less swap space --
15 a significant advantage on a machine serving many X sessions.
17 =head1 FREQUENTLY ASKED QUESTIONS
19 See @@RXVT_NAME@@(7) (try C<man 7 @@RXVT_NAME@@>) for a list of
20 frequently asked questions and answer to them and some common
21 problems. That document is also accessible on the World-Wide-Web at
22 L<http://cvs.schmorp.de/browse/*checkout*/rxvt-unicode/doc/rxvt.7.html>.
24 =head1 RXVT-UNICODE VS. RXVT
26 Unlike the original rxvt, B<rxvt-unicode> stores all text in Unicode
27 internally. That means it can store and display most scripts in the
28 world. Being a terminal emulator, however, some things are very difficult,
29 especially cursive scripts such as arabic, vertically written scripts
30 like mongolian or scripts requiring extremely complex combining rules,
31 like tibetan or devenagari. Don't expect pretty output when using these
32 scripts. Most other scripts, latin, cyrillic, kanji, thai etc. should work
33 fine, though. A somewhat difficult case are left-to-right scripts, such
34 as hebrew: B<rxvt-unicode> adopts the view that bidirectional algorithms
35 belong into the application, not the terminal emulator (too many things --
36 such as cursor-movement while editing -- break otherwise), but that might
39 If you are looking for a terminal that supports more exotic scripts, let
40 me recommend C<mlterm>, which is a very userfriendly, lean and clean
41 terminal emulator. In fact, the reason rxvt-unicode was born was solely
42 because the author couldn't get C<mlterm> to use one font for latin1 and
45 Therefore another design rationale was the use of multiple fonts to
46 display characters: The idea of a single unicode font which many other
47 programs force onto it's users never made sense to me: You should be able
48 to choose any font for any script freely.
50 Apart from that, rxvt-unicode is also much better internationalised than
51 it's predecessor, supports things such as XFT and ISO 14755 that are handy
52 in i18n-environments, is faster, and has a lot less bugs than the original
53 rxvt. This all in addition to dozens of other small improvements.
55 It is still faithfully following the original rxvt idea of being lean
56 and nice on resources: for example, you can still configure rxvt-unicode
57 without most of it's features to get a lean binary. It also comes with
58 a client/daemon pair that lets you open any number of terminal windows
59 from within a single process, which makes startup time very fast and
60 drastically reduces memory usage. See @@RXVT_NAME@@d(1) (daemon) and
61 @@RXVT_NAME@@c(1) (client).
63 It also makes technical information about escape sequences (which have
64 been extended) easier accessible: see @@RXVT_NAME@@(7) for technical
65 reference documentation (escape sequences etc.).
69 The B<@@RXVT_NAME@@> options (mostly a subset of I<xterm>'s) are listed
70 below. In keeping with the smaller-is-better philosophy, options may be
71 eliminated or default values chosen at compile-time, so options and
72 defaults listed may not accurately reflect the version installed on
73 your system. `@@RXVT_NAME@@ -h' gives a list of major compile-time options on
74 the I<Options> line. Option descriptions may be prefixed with which
75 compile option each is dependent upon. e.g. `Compile I<XIM>:' requires
76 I<XIM> on the I<Options> line. Note: `@@RXVT_NAME@@ -help' gives a list of all
77 command-line options compiled into your version.
79 Note that B<@@RXVT_NAME@@> permits the resource name to be used as a
80 long-option (--/++ option) so the potential command-line options are
81 far greater than those listed. For example: `@@RXVT_NAME@@ --loginShell --color1
84 The following options are available:
88 =item B<-help>, B<--help>
90 Print out a message describing available options.
92 =item B<-display> I<displayname>
94 Attempt to open a window on the named X display (B<-d> still
95 respected). In the absence of this option, the display specified by the
96 B<DISPLAY> environment variable is used.
98 =item B<-geometry> I<geom>
100 Window geometry (B<-g> still respected); resource B<geometry>.
104 Turn on/off simulated reverse video; resource B<reverseVideo>.
108 Turn on/off jump scrolling; resource B<jumpScroll>.
110 =item B<-ip>|B<+ip> | B<-tr>|B<+tr>
112 Turn on/off inheriting parent window's pixmap. Alternative form is
113 B<-tr>; resource B<inheritPixmap>.
115 =item B<-fade> I<number>
117 Fade the text by the given percentage when focus is lost. Small values
118 fade a little only, 100 completely replaces all colours by the fade
119 colour; resource B<fading>.
121 =item B<-fadecolor> I<colour>
123 Fade to this colour when fading is used (see B<-fade>). The default colour
124 is black. resource B<fadeColor>.
126 =item B<-tint> I<colour>
128 Tint the transparent background pixmap with the given colour when
129 transparency is enabled with B<-tr> or B<-ip>. This only works for
130 non-tiled backgrounds, currently. See also the B<-sh> option that can be
131 used to brighten or darken the image in addition to tinting it; resource
132 I<tintColor>. Example:
134 @@RXVT_NAME@@ -tr -tint blue -sh 40
138 I<number> Darken (0 .. 100) or lighten (-1 .. -100) the transparent
139 background image in addition to tinting it (i.e. B<-tint> must be
140 specified, too, e.g. C<-tint white>).
142 =item B<-bg> I<colour>
144 Window background colour; resource B<background>.
146 =item B<-fg> I<colour>
148 Window foreground colour; resource B<foreground>.
150 =item B<-pixmap> I<file[;geom]>
152 Compile I<XPM>: Specify XPM file for the background and also optionally
153 specify its scaling with a geometry string. Note you may need to
154 add quotes to avoid special shell interpretation of the C<;> in the
155 command-line; resource B<backgroundPixmap>.
157 =item B<-cr> I<colour>
159 The cursor colour; resource B<cursorColor>.
161 =item B<-pr> I<colour>
163 The mouse pointer foreground colour; resource B<pointerColor>.
165 =item B<-pr2> I<colour>
167 The mouse pointer background colour; resource B<pointerColor2>.
169 =item B<-bd> I<colour>
171 The colour of the border around the text area and between the scrollbar and the text;
172 resource B<borderColor>.
174 =item B<-fn> I<fontlist>
176 Select the fonts to be used. This is a comma separated list of font names
177 that are used in turn when trying to display Unicode characters. The
178 first font defines the cell size for characters; other fonts might be
179 smaller, but not (in general) larger. A (hopefully) reasonable default
180 font list is always appended to it. See resource B<font> for more details.
182 In short, to specify an X11 core font, just specify it's name or prefix it
183 with C<x:>. To specify an XFT-font, you need to prefix it with C<xft:>,
186 @@RXVT_NAME@@ -fn "xft:Bitstream Vera Sans Mono:pixelsize=15"
187 @@RXVT_NAME@@ -fn "9x15bold,xft:Bitstream Vera Sans Mono"
189 See also the question "How does rxvt-unicode choose fonts?" in the FAQ
190 section of @@RXVT_NAME@@(7).
192 =item B<-fb> I<fontlist>
194 Compile font-styles: The bold font list to use when bold characters are to
195 be printed. See resource B<boldFont> for details.
197 =item B<-fi> I<fontlist>
199 Compile font-styles: The italic font list to use when bold characters are to
200 be printed. See resource B<italicFont> for details.
202 =item B<-fbi> I<fontlist>
204 Compile font-styles: The bold italic font list to use when bold characters are to
205 be printed. See resource B<boldItalicFont> for details.
207 =item B<-name> I<name>
209 Specify the application name under which resources are to be obtained,
210 rather than the default executable file name. Name should not contain
211 `.' or `*' characters. Also sets the icon and title name.
215 Start as a login-shell/sub-shell; resource B<loginShell>.
219 Compile I<utmp>: Inhibit/enable writing a utmp entry; resource
224 Turn on/off visual bell on receipt of a bell character; resource
229 Turn on/off scrollbar; resource B<scrollBar>.
233 Turn on/off scroll-to-bottom on TTY output inhibit; resource
234 B<scrollTtyOutput> has opposite effect.
238 Turn on/off scroll-to-bottom on keypress; resource
239 B<scrollTtyKeypress>.
243 Turn on/off scrolling with the scrollback buffer as new lines appear.
244 This only takes effect if B<-si> is also given; resource
249 Put scrollbar on right/left; resource B<scrollBar_right>.
253 Display rxvt (non XTerm/NeXT) scrollbar without/with a trough;
254 resource B<scrollBar_floating>.
256 =item B<-ptab>|B<+ptab>
258 If enabled (default), "Horizontal Tab" characters are being stored as
259 actual wide characters in the screen buffer, which makes it possible to
260 select and paste them. Since a horizontal tab is a cursor movement and
261 not an actual glyph, this can sometimes be visually annoying as the cursor
262 on a tab character is displayed as a wide cursor; resource B<pastableTabs>.
266 Blink the cursor; resource B<cursorBlink>.
270 Start iconified, if the window manager supports that option.
271 Alternative form is B<-ic>.
273 =item B<-sl> I<number>
275 Save I<number> lines in the scrollback buffer. See resource entry for
276 limits; resource B<saveLines>.
278 =item B<-b> I<number>
280 Compile I<frills>: Internal border of I<number> pixels. See resource
281 entry for limits; resource B<internalBorder>.
283 =item B<-w> I<number>
285 Compile I<frills>: External border of I<number> pixels. Also, B<-bw>
286 and B<-borderwidth>. See resource entry for limits; resource
291 Compile I<frills>: Set MWM hints to request a borderless window, i.e.
292 if honoured by the WM, the rxvt-unicode window will not have window
293 decorations; resource B<borderLess>.
295 =item B<-lsp> I<number>
297 Compile I<frills>: Lines (pixel height) to insert between each row of
298 the display. Useful to work around font rendering problems; resource
301 =item B<-tn> I<termname>
303 This option specifies the name of the terminal type to be set in the
304 B<TERM> environment variable. This terminal type must exist in the
305 I<termcap(5)> database and should have I<li#> and I<co#> entries;
306 resource B<termName>.
308 =item B<-e> I<command [arguments]>
310 Run the command with its command-line arguments in the B<@@RXVT_NAME@@>
311 window; also sets the window title and icon name to be the basename of
312 the program being executed if neither I<-title> (I<-T>) nor I<-n> are
313 given on the command line. If this option is used, it must be the last
314 on the command-line. If there is no B<-e> option then the default is to
315 run the program specified by the B<SHELL> environment variable or,
316 failing that, I<sh(1)>.
318 =item B<-title> I<text>
320 Window title (B<-T> still respected); the default title is the basename
321 of the program specified after the B<-e> option, if any, otherwise the
322 application name; resource B<title>.
326 Icon name; the default name is the basename of the program specified
327 after the B<-e> option, if any, otherwise the application name;
328 resource B<iconName>.
332 Capture system console messages.
334 =item B<-pt> I<style>
336 Compile I<XIM>: input style for input method; B<OverTheSpot>,
337 B<OffTheSpot>, B<Root>; resource B<preeditType>.
341 Compile I<XIM>: input method name. resource B<inputMethod>.
343 =item B<-imlocale> I<string>
345 The locale to use for opening the IM. You can use an C<LC_CTYPE> of e.g.
346 C<de_DE.UTF-8> for normal text processing but C<ja_JP.EUC-JP> for the
347 input extension to be able to input japanese characters while staying in
348 another locale. resource B<imLocale>.
350 =item B<-imfont> I<fontset>
352 Set the font set to use for the X Input Method, see resource B<imFont>
357 Change the meaning of triple-click selection with the left mouse
358 button. Instead of selecting a full line it will extend the selection the
359 end of the logical line only. resource B<tripleclickwords>.
363 Enable "insecure" mode, which currently enables most of the escape
364 sequences that echo strings. See the resource B<insecure> for more
367 =item B<-mod> I<modifier>
369 Override detection of Meta modifier with specified key: B<alt>,
370 B<meta>, B<hyper>, B<super>, B<mod1>, B<mod2>, B<mod3>, B<mod4>,
371 B<mod5>; resource I<modifier>.
373 =item B<-ssc>|B<+ssc>
375 Turn on/off secondary screen (default enabled); resource
378 =item B<-ssr>|B<+ssr>
380 Turn on/off secondary screen scroll (default enabled); resource
383 =item B<-keysym.>I<sym> I<string>
385 Remap a key symbol. See resource B<keysym>.
387 =item B<-embed> I<windowid>
389 Tells @@RXVT_NAME@@ to embed it's windows into an already-existing window,
390 which enables applications to easily embed a terminal.
392 Right now, @@RXVT_NAME@@ will first unmap/map the specified window, so it
393 shouldn't be a top-level window. @@RXVT_NAME@@ will also reconfigure it
394 quite a bit, so don't expect it to keep some specific state. It's best to
395 create an extra subwindow for @@RXVT_NAME@@ and leave it alone.
397 The window will not be destroyed when @@RXVT_NAME@@ exits.
399 It might be useful to know that @@RXVT_NAME@@ will not close file
400 descriptors passed to it (except for stdin/out/err, of course), so you
401 can use file descriptors to communicate with the programs within the
402 terminal. This works regardless of wether the C<-embed> option was used or
405 Here is a short Gtk2-perl snippet that illustrates how this option can be
406 used (a longer example is in F<doc/embed>):
408 my $rxvt = new Gtk2::Socket;
409 $rxvt->signal_connect_after (realize => sub {
410 my $xid = $_[0]->window->get_xid;
411 system "@@RXVT_NAME@@ -embed $xid &";
414 =item B<-pty-fd> I<fileno>
416 Tells @@RXVT_NAME@@ NOT to execute any commands or create a new pty/tty
417 pair but instead use the given filehandle as the tty master. This is
418 useful if you want to drive @@RXVT_NAME@@ as a generic terminal emulator
419 without having to run a program within it.
421 If this switch is given, @@RXVT_NAME@@ will not create any utmp/wtmp
422 entries and will not tinker with pty/tty permissions - you have to do that
423 yourself if you want that.
425 Here is a example in perl that illustrates how this option can be used (a
426 longer example is in F<doc/pty-fd>):
431 my $pty = new IO::Pty;
432 fcntl $pty, F_SETFD, 0; # clear close-on-exec
433 system "@@RXVT_NAME@@ -pty-fd " . (fileno $pty) . "&";
436 # now communicate with rxvt
437 my $slave = $pty->slave;
438 while (<$slave>) { print $slave "got <$_>\n" }
442 =head1 RESOURCES (available also as long-options)
444 Note: `@@RXVT_NAME@@ --help' gives a list of all resources (long
445 options) compiled into your version.
447 There are two different methods that @@RXVT_NAME@@ can use to get the
448 Xresource data: using the X libraries (Xrm*-functions) or internal
449 Xresources reader (B<~/.Xdefaults>). For the first method (ie.
450 B<@@RXVT_NAME@@ -h> lists B<XGetDefaults>), you can set and change the
451 resources using X11 tools like B<xrdb>. Many distribution do also load
452 settings from the B<~/.Xresources> file when X starts. @@RXVT_NAME@@
453 will consult the following files/resources in order, with later settings
454 overwriting earlier ones:
456 1. system-wide app-defaults file, either locale-dependent OR global
457 2. app-defaults file in $XAPPLRESDIR
458 3. RESOURCE_MANAGER property on root-window OR $HOME/.Xdefaults
459 4. SCREEN_RESOURCES for the current screen
460 5. $XENVIRONMENT file OR $HOME/.Xdefaults-<nodename>
462 If compiled with internal Xresources support (i.e. B<@@RXVT_NAME@@ -h>
463 lists B<.Xdefaults>) then B<@@RXVT_NAME@@> accepts application defaults
464 set in XAPPLOADDIR/URxvt (compile-time defined: usually
465 B</usr/lib/X11/app-defaults/URxvt>) and resources set in
466 B<~/.Xdefaults>, or B<~/.Xresources> if B<~/.Xdefaults> does not exist.
467 Note that when reading X resources, B<@@RXVT_NAME@@> recognizes two
468 class names: B<XTerm> and B<URxvt>. The class name B<Rxvt> allows
469 resources common to both B<@@RXVT_NAME@@> and the original I<rxvt> to be
470 easily configured, while the class name B<URxvt> allows resources
471 unique to B<@@RXVT_NAME@@>, notably colours and key-handling, to be
472 shared between different B<@@RXVT_NAME@@> configurations. If no
473 resources are specified, suitable defaults will be used. Command-line
474 arguments can be used to override resource settings. The following
475 resources are allowed:
479 =item B<geometry:> I<geom>
481 Create the window with the specified X window geometry [default 80x24];
484 =item B<background:> I<colour>
486 Use the specified colour as the window's background colour [default
487 White]; option B<-bg>.
489 =item B<foreground:> I<colour>
491 Use the specified colour as the window's foreground colour [default
492 Black]; option B<-fg>.
494 =item B<color>I<n>B<:> I<colour>
496 Use the specified colour for the colour value I<n>, where 0-7
497 corresponds to low-intensity (normal) colours and 8-15 corresponds to
498 high-intensity (bold = bright foreground, blink = bright background)
499 colours. The canonical names are as follows: 0=black, 1=red, 2=green,
500 3=yellow, 4=blue, 5=magenta, 6=cyan, 7=white, but the actual colour
501 names used are listed in the B<COLORS AND GRAPHICS> section.
503 Colours higher than 15 cannot be set using resources (yet), but can be
504 changed using an escape command (see @@RXVT_NAME@@(7)).
506 Colours 16-79 form a standard 4x4x4 colour cube (the same as xterm with
507 88 colour support). Colours 80-87 are evenly spaces grey steps.
509 =item B<colorBD:> I<colour>
511 =item B<colorIT:> I<colour>
513 Use the specified colour to display bold or italic characters when the
514 foreground colour is the default. If font styles are not available
515 (Compile I<styles>) and this option is unset, reverse video is used instead.
517 =item B<colorUL:> I<colour>
519 Use the specified colour to display underlined characters when the
520 foreground colour is the default.
522 =item B<colorRV:> I<colour>
524 Use the specified colour as the background for reverse video
527 =item B<underlineColor:> I<colour>
529 If set, use the specified colour as the colour for the underline
530 itself. If unset, use the foreground colour.
532 =item B<cursorColor:> I<colour>
534 Use the specified colour for the cursor. The default is to use the
535 foreground colour; option B<-cr>.
537 =item B<cursorColor2:> I<colour>
539 Use the specified colour for the colour of the cursor text. For this to
540 take effect, B<cursorColor> must also be specified. The default is to
541 use the background colour.
543 =item B<reverseVideo:> I<boolean>
545 B<True>: simulate reverse video by foreground and background colours;
546 option B<-rv>. B<False>: regular screen colours [default]; option
547 B<+rv>. See note in B<COLORS AND GRAPHICS> section.
549 =item B<jumpScroll:> I<boolean>
551 B<True>: specify that jump scrolling should be used. When scrolling
552 quickly, fewer screen updates are performed [default]; option B<-j>.
553 B<False>: specify that smooth scrolling should be used; option B<+j>.
555 =item B<inheritPixmap:> I<boolean>
557 B<True>: make the background inherit the parent windows' pixmap, giving
558 artificial transparency. B<False>: do not inherit the parent windows'
561 =item B<fading:> I<number>
563 Fade the text by the given percentage when focus is lost; option B<-fade>.
565 =item B<fadeColor:> I<colour>
567 Fade to this colour, when fading is used (see B<fading:>). The default
568 colour is black; option B<-fadecolor>.
570 =item B<tintColor:> I<colour>
572 Tint the transparent background pixmap with the given colour; option
575 =item B<shading:> I<number>
577 Darken (0 .. 100) or lighten (-1 .. -100) the transparent background
578 image in addition to tinting it.
580 =item B<scrollColor:> I<colour>
582 Use the specified colour for the scrollbar [default #B2B2B2].
584 =item B<troughColor:> I<colour>
586 Use the specified colour for the scrollbar's trough area [default
587 #969696]. Only relevant for rxvt (non XTerm/NeXT) scrollbar.
589 =item B<borderColor:> I<colour>
591 The colour of the border around the text area and between the scrollbar
594 =item B<backgroundPixmap:> I<file[;geom]>
596 Use the specified XPM file (note the `.xpm' extension is optional) for
597 the background and also optionally specify its scaling with a geometry
598 string B<WxH+X+Y>, in which B<"W" / "H"> specify the
599 horizontal/vertical scale (percent) and B<"X" / "Y"> locate the image
600 centre (percent). A scale of 0 displays the image with tiling. A scale
601 of 1 displays the image without any scaling. A scale of 2 to 9
602 specifies an integer number of images in that direction. No image will
603 be magnified beyond 10 times its original size. The maximum permitted
604 scale is 1000. [default 0x0+50+50]
606 =item B<menu:> I<file[;tag]>
608 Read in the specified menu file (note the `.menu' extension is
609 optional) and also optionally specify a starting tag to find. See the
610 reference documentation for details on the syntax for the menuBar.
612 =item B<path:> I<path>
614 Specify the colon-delimited search path for finding files (XPM and
615 menus), in addition to the paths specified by the B<RXVTPATH> and
616 B<PATH> environment variables.
618 =item B<font:> I<fontlist>
620 Select the fonts to be used. This is a comma separated list of font
621 names that are used in turn when trying to display Unicode characters.
622 The first font defines the cell size for characters; other fonts might
623 be smaller, but not larger. A reasonable default font list is always
624 appended to it. option B<-fn>.
626 Each font can either be a standard X11 core font (XLFD) name, with
627 optional prefix C<x:> or a Xft font (Compile I<xft>), prefixed with C<xft:>.
629 In addition, each font can be prefixed with additional hints and
630 specifications enclosed in square brackets (C<[]>). The only available
631 hint currently is C<codeset=codeset-name>, and this is only used for Xft
634 For example, this font resource
636 URxvt*font: 9x15bold,\
637 -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso10646-1,\
638 -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1, \
639 [codeset=JISX0208]xft:Kochi Gothic:antialias=false, \
640 xft:Code2000:antialias=false
642 specifies five fonts to be used. The first one is C<9x15bold> (actually
643 the iso8859-1 version of the second font), which is the base font (because
644 it is named first) and thus defines the character cell grid to be 9 pixels
645 wide and 15 pixels high.
647 The second font is just used to add additional unicode characters not in
648 the base font, likewise the third, which is unfortunately non-bold, but
649 the bold version of the font does contain less characters, so this is a
652 The third font is an Xft font with aliasing turned off, and the characters
653 are limited to the B<JIS 0208> codeset (i.e. japanese kanji). The font
654 contains other characters, but we are not interested in them.
656 The last font is a useful catch-all font that supplies most of the
657 remaining unicode characters.
659 =item B<boldFont:> I<fontlist>
661 =item B<italicFont:> I<fontlist>
663 =item B<boldItalicFont:> I<fontlist>
665 The font list to use for displaying B<bold>, I<italic> or B<< I<bold
666 italic> >> characters, respectively.
668 If specified and non-empty, then the syntax is the same as for the
669 B<font>-resource, and the given font list will be used as is, which makes
670 it possible to substitute completely different font styles for bold and
673 If unset (the default), a suitable font list will be synthesized by
674 "morphing" the normal text font list into the desired shape. If that is
675 not possible, replacement fonts of the desired shape will be tried.
677 If set, but empty, then this specific style is disabled and the normal
678 text font will being used for the given style.
680 =item B<selectstyle:> I<mode>
682 Set mouse selection style to B<old> which is 2.20, B<oldword> which is
683 xterm style with 2.20 old word selection, or anything else which gives
684 xterm style selection.
686 =item B<scrollstyle:> I<mode>
688 Set scrollbar style to B<rxvt>, B<plain>, B<next> or B<xterm>. B<plain> is
689 the author's favourite.
691 =item B<title:> I<string>
693 Set window title string, the default title is the command-line
694 specified after the B<-e> option, if any, otherwise the application
695 name; option B<-title>.
697 =item B<iconName:> I<string>
699 Set the name used to label the window's icon or displayed in an icon
700 manager window, it also sets the window's title unless it is explicitly
703 =item B<mapAlert:> I<boolean>
705 B<True>: de-iconify (map) on receipt of a bell character. B<False>: no
706 de-iconify (map) on receipt of a bell character [default].
708 =item B<visualBell:> I<boolean>
710 B<True>: use visual bell on receipt of a bell character; option B<-vb>.
711 B<False>: no visual bell [default]; option B<+vb>.
713 =item B<loginShell:> I<boolean>
715 B<True>: start as a login shell by prepending a `-' to B<argv[0]> of
716 the shell; option B<-ls>. B<False>: start as a normal sub-shell
717 [default]; option B<+ls>.
719 =item B<utmpInhibit:> I<boolean>
721 B<True>: inhibit writing record into the system log file B<utmp>;
722 option B<-ut>. B<False>: write record into the system log file B<utmp>
723 [default]; option B<+ut>.
725 =item B<print-pipe:> I<string>
727 Specify a command pipe for vt100 printer [default I<lpr(1)>]. Use
728 B<Print> to initiate a screen dump to the printer and B<Ctrl-Print> or
729 B<Shift-Print> to include the scrollback as well.
731 The string will be interpreted as if typed into the shell as-is.
735 URxvt*print-pipe: cat > $(TMPDIR=$HOME mktemp urxvt.XXXXXX)
737 This creates a new file in your home directory with the screen contents
738 everytime you hit C<Print>.
740 =item B<scrollBar:> I<boolean>
742 B<True>: enable the scrollbar [default]; option B<-sb>. B<False>:
743 disable the scrollbar; option B<+sb>.
745 =item B<scrollBar_right:> I<boolean>
747 B<True>: place the scrollbar on the right of the window; option B<-sr>.
748 B<False>: place the scrollbar on the left of the window; option B<+sr>.
750 =item B<scrollBar_floating:> I<boolean>
752 B<True>: display an rxvt scrollbar without a trough; option B<-st>.
753 B<False>: display an rxvt scrollbar with a trough; option B<+st>.
755 =item B<scrollBar_align:> I<mode>
757 Align the B<top>, B<bottom> or B<centre> [default] of the scrollbar
758 thumb with the pointer on middle button press/drag.
760 =item B<scrollTtyOutput:> I<boolean>
762 B<True>: scroll to bottom when tty receives output; option B<-si>.
763 B<False>: do not scroll to bottom when tty receives output; option
766 =item B<scrollWithBuffer:> I<boolean>
768 B<True>: scroll with scrollback buffer when tty receives new lines (and
769 B<scrollTtyOutput> is False); option B<-sw>. B<False>: do not scroll
770 with scrollback buffer when tty recieves new lines; option B<+sw>.
772 =item B<scrollTtyKeypress:> I<boolean>
774 B<True>: scroll to bottom when a non-special key is pressed. Special keys
775 are those which are intercepted by rxvt-unicode for special handling and
776 are not passed onto the shell; option B<-sk>. B<False>: do not scroll to
777 bottom when a non-special key is pressed; option B<+sk>.
779 =item B<saveLines:> I<number>
781 Save I<number> lines in the scrollback buffer [default 64]. This
782 resource is limited on most machines to 65535; option B<-sl>.
784 =item B<internalBorder:> I<number>
786 Internal border of I<number> pixels. This resource is limited to 100;
789 =item B<externalBorder:> I<number>
791 External border of I<number> pixels. This resource is limited to 100;
792 option B<-w>, B<-bw>, B<-borderwidth>.
794 =item B<borderLess:> I<boolean>
796 Set MWM hints to request a borderless window, i.e. if honoured by the
797 WM, the rxvt-unicode window will not have window decorations; option B<-bl>.
799 =item B<termName:> I<termname>
801 Specifies the terminal type name to be set in the B<TERM> environment
802 variable; option B<-tn>.
804 =item B<linespace:> I<number>
806 Specifies number of lines (pixel height) to insert between each row of
807 the display [default 0]; option B<-lsp>.
809 =item B<meta8:> I<boolean>
811 B<True>: handle Meta (Alt) + keypress to set the 8th bit. B<False>:
812 handle Meta (Alt) + keypress as an escape prefix [default].
814 =item B<mouseWheelScrollPage:> I<boolean>
816 B<True>: the mouse wheel scrolls a page full. B<False>: the mouse wheel
817 scrolls five lines [default].
819 =item B<pastableTabs:> I<boolean>
821 B<True>: store tabs as wide characters. B<False>: interpret tabs as cursor
822 movement only; option C<-ptab>.
824 =item B<cursorBlink:> I<boolean>
826 B<True>: blink the cursor. B<False>: do not blink the cursor [default];
829 =item B<pointerBlank:> I<boolean>
831 B<True>: blank the pointer when a key is pressed or after a set number
832 of seconds of inactivity. B<False>: the pointer is always visible
835 =item B<pointerColor:> I<colour>
837 Mouse pointer foreground colour.
839 =item B<pointerColor2:> I<colour>
841 Mouse pointer background colour.
843 =item B<pointerBlankDelay:> I<number>
845 Specifies number of seconds before blanking the pointer [default 2]. Use a
846 large number (e.g. C<987654321>) to effectively disable the timeout.
848 =item B<backspacekey:> I<string>
850 The string to send when the backspace key is pressed. If set to B<DEC>
851 or unset it will send B<Delete> (code 127) or, if shifted, B<Backspace>
852 (code 8) - which can be reversed with the appropriate DEC private mode
855 =item B<deletekey:> I<string>
857 The string to send when the delete key (not the keypad delete key) is
858 pressed. If unset it will send the sequence traditionally associated
859 with the B<Execute> key.
861 =item B<cutchars:> I<string>
863 The characters used as delimiters for double-click word selection. The
866 B<< BACKSLASH `"'&()*,;<=>?@[]{|} >>
868 =item B<preeditType:> I<style>
870 B<OverTheSpot>, B<OffTheSpot>, B<Root>; option B<-pt>.
872 =item B<inputMethod:> I<name>
874 I<name> of inputMethod to use; option B<-im>.
876 =item B<imLocale:> I<name>
878 The locale to use for opening the IM. You can use an C<LC_CTYPE> of e.g.
879 C<de_DE.UTF-8> for normal text processing but C<ja_JP.EUC-JP> for the
880 input extension to be able to input japanese characters while staying in
881 another locale. option B<-imlocale>.
883 =item B<imFont:> I<fontset>
885 Specify the font-set used for XIM styles C<OverTheSpot> or
886 C<OffTheSpot>. It must be a standard X font set (XLFD patterns separated
887 by commas), i.e. it's not in the same format as the other font lists used
888 in @@RXVT_NAME@@. The default will be set-up to chose *any* suitable found
889 found, preferably one or two pixels differing in size to the base font.
892 =item B<tripleclickwords:> I<boolean>
894 Change the meaning of triple-click selection with the left mouse
895 button. Instead of selecting a full line it will extend the selection to
896 the end of the logical line only. option B<-tcw>.
898 =item B<insecure:> I<boolean>
900 Enables "insecure" mode. Rxvt-unicode offers some escape sequences that
901 echo arbitrary strings like the icon name or the locale. This could be
902 abused if somebody gets 8-bit-clean access to your display, whether
903 throuh a mail client displaying mail bodies unfiltered or though
904 write(1). Therefore, these sequences are disabled by default. (Note
905 that other terminals, including xterm, have these sequences
906 enabled by default). You can enable them by setting this boolean
907 resource or specifying B<-insecure> as an option. At the moment, this
908 enabled display-answer, locale, findfont, icon label and window title
909 requests as well as dynamic menubar dispatch.
911 =item B<modifier:> I<modifier>
913 Set the key to be interpreted as the Meta key to: B<alt>, B<meta>,
914 B<hyper>, B<super>, B<mod1>, B<mod2>, B<mod3>, B<mod4>, B<mod5>; option
917 =item B<answerbackString:> I<string>
919 Specify the reply rxvt-unicode sends to the shell when an ENQ (control-E)
920 character is passed through. It may contain escape values as described
921 in the entry on B<keysym> following.
923 =item B<secondaryScreen:> I<bool>
925 Turn on/off secondary screen (default enabled).
927 =item B<secondaryScroll:> I<bool>
929 Turn on/off secondary screen scroll (default enabled). If the this
930 option is enabled, scrolls on the secondary screen will change the
931 scrollback buffer and switching to/from the secondary screen will
932 instead scroll the screen up.
934 =item B<keysym.>I<sym>: I<string>
936 Compile I<frills>: Associate I<string> with keysym I<sym>. The
937 intervening resource name B<keysym.> cannot be omitted.
939 The format of I<sym> is "I<(modifiers-)key>", where I<modifiers> can be
940 any combination of B<ISOLevel3>, B<AppKeypad>, B<Control>, B<NumLock>,
941 B<Shift>, B<Meta>, B<Lock>, B<Mod1>, B<Mod2>, B<Mod3>, B<Mod4>, B<Mod5>,
942 and the abbreviated B<I>, B<K>, B<C>, B<N>, B<S>, B<M>, B<A>, B<L>, B<1>,
943 B<2>, B<3>, B<4>, B<5>.
945 The B<NumLock>, B<Meta> and B<ISOLevel3> modifiers are usually aliased to
946 whatever modifier the NumLock key, Meta/Alt keys or ISO Level3 Shift/AltGr
947 keys are being mapped. B<AppKeypad> is a synthetic modifier mapped to the
948 current application keymap mode state.
950 The spellings of I<key> can be obtained by using B<xev>(1) command or
951 searching keysym macros from B</usr/X11R6/include/X11/keysymdef.h> and
952 omitting the prefix B<XK_>. Alternatively you can specify I<key> by its hex
953 keysym value (B<0x0000 - 0xFFFF>). Note that the lookup of I<sym>s is not
954 performed in an exact manner; however, the closest match is assured.
956 I<string> may contain escape values (C<\a>: bell, C<\b>: backspace,
957 C<\e>, C<\E>: escape, C<\n>: newline, C<\r>: carriage return, C<\t>: tab,
958 C<\000>: octal number) or verbatim control characters (C<^?>: delete,
959 C<^@>: null, C<^A> ...) and may be enclosed with double quotes so that it
960 can start or end with whitespace.
962 Please note that you need to double the C<\> when using
963 C<--enable-xgetdefault>, as X itself does it's own de-escaping (you can
964 use C<\033> instead of C<\e> (and so on), which will work with both Xt and
965 @@RXVT_NAME@@'s own processing).
967 You can define a range of keysyms in one shot by providing a I<string>
968 with pattern B<list/PREFIX/MIDDLE/SUFFIX>, where the delimeter `/'
969 should be a character not used by the strings.
971 Its usage can be demonstrated by an example:
973 URxvt.keysym.M-C-0x61: list|\033<M-C-|abc|>
975 The above line is equivalent to the following three lines:
977 URxvt.keysym.Meta-Control-0x61: \033<M-C-a>
978 URxvt.keysym.Meta-Control-0x62: \033<M-C-b>
979 URxvt.keysym.Meta-Control-0x63: \033<M-C-c>
981 If I<string> takes the form of C<command:STRING>, the specified B<STRING>
982 is interpreted and executed as @@RXVT_NAME@@'s control sequence. For
983 example the following means "change the current locale to C<zh_CN.GBK>
984 when Control-Meta-c is being pressed":
986 URxvt.keysym.M-C-c: command:\033]701;zh_CN.GBK\007
988 Due the the large number of modifier combinations, a defined key mapping
989 will match if at I<at least> the specified identifiers are being set, and
990 no other key mappings with those and more bits are being defined. That
991 means that defining a key map for C<a> will automatically provide
992 definitions for C<Meta-a>, C<Shift-a> and so on, unless some of those are defined
995 Unfortunately, this will override built-in key mappings. For example
996 if you overwrite the C<Insert> key you will disable @@RXVT_NAME@@'s
997 C<Shift-Insert> mapping. To re-enable that, you can poke "holes" into the
998 user-defined keymap using the C<builtin:> replacement:
1000 URxvt.keysym.Insert: <my insert key sequence>
1001 URxvt.keysym.S-Insert: builtin:
1003 The first line defines a mapping for C<Insert> and I<any> combination
1004 of modifiers. The second line re-establishes the default mapping for
1007 The following example will map Control-Meta-1 and Control-Meta-2 to
1008 the fonts C<suxuseuro> and C<9x15bold>, so you can have some limited
1009 font-switching at runtime:
1011 URxvt.keysym.M-C-1: command:\033]50;suxuseuro\007
1012 URxvt.keysym.M-C-2: command:\033]50;9x15bold\007
1014 Other things are possible, e.g. resizing (see @@RXVT_NAME@@(7) for more
1017 URxvt.keysym.M-C-3: command:\033[8;25;80t
1018 URxvt.keysym.M-C-4: command:\033[8;48;110t
1022 =head1 THE SCROLLBAR
1024 Lines of text that scroll off the top of the B<@@RXVT_NAME@@> window
1025 (resource: B<saveLines>) and can be scrolled back using the scrollbar
1026 or by keystrokes. The normal B<@@RXVT_NAME@@> scrollbar has arrows and
1027 its behaviour is fairly intuitive. The B<xterm-scrollbar> is without
1028 arrows and its behaviour mimics that of I<xterm>
1030 Scroll down with B<Button1> (B<xterm-scrollbar>) or B<Shift-Next>.
1031 Scroll up with B<Button3> (B<xterm-scrollbar>) or B<Shift-Prior>.
1032 Continuous scroll with B<Button2>.
1034 =head1 MOUSE REPORTING
1036 To temporarily override mouse reporting, for either the scrollbar or
1037 the normal text selection/insertion, hold either the Shift or the Meta
1038 (Alt) key while performing the desired mouse action.
1040 If mouse reporting mode is active, the normal scrollbar actions are
1041 disabled -- on the assumption that we are using a fullscreen
1042 application. Instead, pressing Button1 and Button3 sends B<ESC [ 6 ~>
1043 (Next) and B<ESC [ 5 ~> (Prior), respectively. Similarly, clicking on the
1044 up and down arrows sends B<ESC [ A> (Up) and B<ESC [ B> (Down),
1047 =head1 TEXT SELECTION AND INSERTION
1049 The behaviour of text selection and insertion mechanism is similar to
1056 Left click at the beginning of the region, drag to the end of the region
1057 and release; Right click to extend the marked region; Left double-click
1058 to select a word; Left triple-click to select the entire logical line
1059 (which can span multiple screen lines), unless modified by resource
1060 B<tripleclickwords>.
1062 Starting a selection while pressing the B<Meta> key (or B<Meta+Ctrl> keys)
1063 (Compile: I<frills>) will create a rectangular selection instead of a normal
1068 Pressing and releasing the Middle mouse button (or B<Shift-Insert>) in
1069 an B<@@RXVT_NAME@@> window causes the current text selection to be
1070 inserted as if it had been typed on the keyboard.
1074 =head1 CHANGING FONTS
1076 Changing fonts (or font sizes, respectively) via the keypad is not yet
1077 supported in rxvt-unicode. Bug me if you need this.
1079 You can, however, switch fonts at runtime using escape sequences (and
1080 therefore using the menubar), e.g.:
1082 printf '\e]701;%s\007' "9x15bold,xft:Kochi Gothic"
1084 rxvt-unicode will automatically re-apply these fonts to the output so far.
1086 =head1 ISO 14755 SUPPORT
1088 ISO 14755 is a standard for entering and viewing unicode characters
1089 and character codes using the keyboard. It consists of 4 parts. The
1090 first part is available rxvt-unicode has been compiled with
1091 C<--enable-frills>, the rest is available when rxvt-unicode was compiled
1092 with C<--enable-iso14755>.
1096 =item * 5.1: Basic method
1098 This allows you to enter unicode characters using their hexcode.
1100 Start by pressing and holding both C<Control> and C<Shift>, then enter
1101 hex-digits (between one and six). Releasing C<Control> and C<Shift> will
1102 commit the character as if it were typed directly. While holding down
1103 C<Control> and C<Shift> you can also enter multiple characters by pressing
1104 C<Space>, which will commit the current character and lets you start a new
1107 As an example of use, imagine a business card with a japanese e-mail
1108 address, which you cannot type. Fortunately, the card has the e-mail
1109 address printed as hexcodes, e.g. C<671d 65e5>. You can enter this easily
1110 by pressing C<Control> and C<Shift>, followed by C<6-7-1-D-SPACE-6-5-E-5>,
1111 followed by releasing the modifier keys.
1113 =item * 5.2: Keyboard symbols entry method
1115 This mode lets you input characters representing the keycap symbols of
1116 your keyboard, if representable in the current locale encoding.
1118 Start by pressing C<Control> and C<Shift> together, then releasing
1119 them. The next special key (cursor keys, home etc.) you enter will not
1120 invoke it's usual function but instead will insert the corresponding
1121 keycap symbol. The symbol will only be entered when the key has been
1122 released, otherwise pressing e.g. C<Shift> would enter the symbol for
1123 C<ISO Level 2 Switch>, although your intention might have been to enter a
1124 reverse tab (Shift-Tab).
1126 =item * 5.3: Screen-selection entry method
1128 While this is implemented already (it's basically the selection
1129 mechanism), it could be extended by displaying a unicode character map.
1131 =item * 5.4: Feedback method for identifying displayed characters for later input
1133 This method lets you display the unicode character code associated with
1134 characters already displayed.
1136 You enter this mode by holding down C<Control> and C<Shift> together, then
1137 pressing and holding the left mouse button and moving around. The unicode
1138 hex code(s) (it might be a combining character) of the character under the
1139 pointer is displayed until you release C<Control> and C<Shift>.
1141 In addition to the hex codes it will display the font used to draw this
1142 character - due to implementation reasons, characters combined with
1143 combining characters, line drawing characters and unknown characters will
1144 always be drawn using the built-in support font.
1148 With respect to conformance, rxvt-unicode is supposed to be compliant to
1149 both scenario A and B of ISO 14755, including part 5.2.
1153 B<@@RXVT_NAME@@> tries to write an entry into the I<utmp>(5) file so that
1154 it can be seen via the I<who(1)> command, and can accept messages. To
1155 allow this feature, B<@@RXVT_NAME@@> may need to be installed setuid root
1156 on some systems or setgid to root or to some other group on others.
1158 =head1 COLORS AND GRAPHICS
1160 In addition to the default foreground and background colours,
1161 B<@@RXVT_NAME@@> can display up to 16 colours (8 ANSI colours plus
1162 high-intensity bold/blink versions of the same). Here is a list of the
1163 colours with their B<rgb.txt> names.
1167 B<color0> (black) = Black
1168 B<color1> (red) = Red3
1169 B<color2> (green) = Green3
1170 B<color3> (yellow) = Yellow3
1171 B<color4> (blue) = Blue3
1172 B<color5> (magenta) = Magenta3
1173 B<color6> (cyan) = Cyan3
1174 B<color7> (white) = AntiqueWhite
1175 B<color8> (bright black) = Grey25
1176 B<color9> (bright red) = Red
1177 B<color10> (bright green) = Green
1178 B<color11> (bright yellow) = Yellow
1179 B<color12> (bright blue) = Blue
1180 B<color13> (bright magenta) = Magenta
1181 B<color14> (bright cyan) = Cyan
1182 B<color15> (bright white) = White
1183 B<foreground> = Black
1184 B<background> = White
1188 It is also possible to specify the colour values of B<foreground>,
1189 B<background>, B<cursorColor>, B<cursorColor2>, B<colorBD>, B<colorUL> as
1190 a number 0-15, as a convenient shorthand to reference the colour name of
1193 Note that B<-rv> (B<"reverseVideo: True">) simulates reverse video by
1194 always swapping the foreground/background colours. This is in contrast to
1195 I<xterm>(1) where the colours are only swapped if they have not otherwise
1196 been specified. For example,
1200 =item B<@@RXVT_NAME@@ -fg Black -bg White -rv>
1202 would yield White on Black, while on I<xterm>(1) it would yield Black
1209 B<@@RXVT_NAME@@> sets and/or uses the following environment variables:
1215 Normally set to C<rxvt-unicode>, unless overwritten at configure time, via
1216 resources or on the commandline.
1220 Either C<rxvt>, C<rxvt-xpm>, depending on wether @@RXVT_NAME@@ was
1221 compiled with XPM support, and optionally with the added extension
1222 C<-mono> to indicate that rxvt-unicode runs on a monochrome screen.
1226 Set to a string of the form C<fg;bg> or C<fg;xpm;bg>, where C<fg> is
1227 the colour code used as default foreground/text colour (or the string
1228 C<default> to indicate that the default-colour escape sequence is to be
1229 used), C<bg> is the colour code used as default background colour (or the
1230 string C<default>), and C<xpm> is the string C<default> if @@RXVT_NAME@@
1231 was compiled with XPM support. Libraries like C<ncurses> and C<slang> can
1232 (and do) use this information to optimize screen output.
1236 Set to the (decimal) X Window ID of the @@RXVT_NAME@@ window (the toplevel
1237 window, which usually has subwindows for the scrollbar, the terminal
1242 Set to the terminfo directory iff @@RXVT_NAME@@ was configured with
1243 C<--with-terminfo=PATH>.
1247 Used by @@RXVT_NAME@@ to connect to the display and set to the correct
1248 display in it's child processes.
1252 The shell to be used for command execution, defaults to C</bin/sh>.
1256 The path where @@RXVT_NAME@@ looks for support files such as menu and xpm
1261 Used in the same way as C<RXVTPATH>.
1263 =item B<RXVT_SOCKET>
1265 The unix domain socket path used by @@RXVT_NAME@@c(1) and
1268 Default F<<< $HOME/.rxvt-unicode-I<< <nodename >> >>>.
1272 Used to locate the default directory for the unix domain socket for
1273 daemon communications and to locate various resource files (such as
1276 =item B<XAPPLRESDIR>
1278 Directory where various X resource files are being located.
1280 =item B<XENVIRONMENT>
1282 If set and accessible, gives the name of a X resource file to be loaded by
1291 =item B</usr/lib/X11/rgb.txt>
1299 @@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)
1301 =head1 CURRENT PROJECT COORDINATOR
1305 =item Project Coordinator
1307 Marc A. Lehmann L<< <rxvt-unicode@schmorp.de> >>
1309 L<http://software.schmorp.de/#rxvt-unicode>
1319 University of Kent, 1992, wrote the original Xvt.
1321 =item Rob Nation L<< <nation@rocket.sanders.lockheed.com> >>
1323 very heavily modified Xvt and came up with Rxvt
1325 =item Angelo Haritsis L<< <ah@doc.ic.ac.uk> >>
1327 wrote the Greek Keyboard Input (no longer in code)
1329 =item mj olesen L<< <olesen@me.QueensU.CA> >>
1331 Wrote the menu system.
1333 Project Coordinator (changes.txt 2.11 to 2.21)
1335 =item Oezguer Kesim L<< <kesim@math.fu-berlin.de> >>
1337 Project Coordinator (changes.txt 2.21a to 2.4.5)
1339 =item Geoff Wing L<< <gcw@pobox.com> >>
1341 Rewrote screen display and text selection routines. Project Coordinator
1342 (changes.txt 2.4.6 - rxvt-unicode)
1344 =item Marc Alexander Lehmann L<< <rxvt-unicode@schmorp.de> >>
1346 Forked rxvt-unicode, rewrote most of the display code and internal
1347 character handling to store text in unicode, improve xterm
1348 compatibility and apply numerous other bugfixes and extensions.
1350 Project Coordinator (Changes 1.0 -)