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.12 by root, Mon Aug 16 02:09:28 2004 UTC vs.
Revision 1.263 by sf-exg, Sat Jan 20 08:00:50 2024 UTC

12emulator intended as an I<xterm>(1) replacement for users who do not 12emulator intended as an I<xterm>(1) replacement for users who do not
13require features such as Tektronix 4014 emulation and toolkit-style 13require features such as Tektronix 4014 emulation and toolkit-style
14configurability. As a result, B<rxvt-unicode> uses much less swap space -- 14configurability. As a result, B<rxvt-unicode> uses much less swap space --
15a significant advantage on a machine serving many X sessions. 15a significant advantage on a machine serving many X sessions.
16 16
17This document is also available on the World-Wide-Web at
18L<http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.1.pod>.
19
20=head1 FREQUENTLY ASKED QUESTIONS
21
22See @@RXVT_NAME@@(7) (try C<man 7 @@RXVT_NAME@@>) for a list of
23frequently asked questions and answer to them and some common
24problems. That document is also accessible on the World-Wide-Web at
25L<http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.7.pod>.
26
17=head1 RXVT-UNICODE VS. RXVT 27=head1 RXVT-UNICODE VS. RXVT
18 28
19Unlike the original rxvt, B<rxvt-unicode> stores all text in Unicode 29Unlike the original rxvt, B<rxvt-unicode> stores all text in Unicode
20internally. That means it can store and display most scripts in the 30internally. That means it can store and display most scripts in the
21world. Being a terminal emulator, however, some things are very difficult, 31world. Being a terminal emulator, however, some things are very difficult,
22especially cursive scripts such as arabic, vertically written scripts 32especially cursive scripts such as arabic, vertically written scripts
23like mongolian or scripts requiring extremely complex combining rules, 33like mongolian or scripts requiring extremely complex combining rules,
24like tibetan or devenagari. Don't expect pretty output when using these 34like tibetan or devanagari. Don't expect pretty output when using these
25scripts. Most other scripts, latin, cyrillic, kanji, thai etc. should work 35scripts. Most other scripts, latin, cyrillic, kanji, thai etc. should work
26fine, though. A somewhat difficult case are left-to-right scripts, such 36fine, though. A somewhat difficult case are right-to-left scripts, such
27as hebrew: B<rxvt-unicode> adopts the view that bidirectional algorithms 37as hebrew: B<rxvt-unicode> adopts the view that bidirectional algorithms
28belong into the application, not the terminal emulator (too many things -- 38belong in the application, not the terminal emulator (too many things --
29such as cursor-movement while editing -- break othwerwise), but that might 39such as cursor-movement while editing -- break otherwise), but that might
30change. 40change.
31 41
32If you are looking for a terminal that supports more exotic scripts, let 42If you are looking for a terminal that supports more exotic scripts, let
33me recommend C<mlterm>, which is a very userfriendly, lean and clean 43me recommend C<mlterm>, which is a very user friendly, lean and clean
34terminal emulator. In fact, the reason rxvt-unicode was born was solely 44terminal emulator. In fact, the reason rxvt-unicode was born was solely
35because the author couldn't get C<mlterm> to use one font for latin1 and 45because the author couldn't get C<mlterm> to use one font for latin1 and
36another for japanese. 46another for japanese.
37 47
38Therefore another design rationale was the use of multiple fonts to 48Therefore another design rationale was the use of multiple fonts to
39display characters: The idea of a single unicode font which many other 49display characters: The idea of a single unicode font which many other
40programs force onto it's users never made sense to me: You should be able 50programs force onto its users never made sense to me: You should be able
41to choose any font for any script freely. 51to choose any font for any script freely.
42 52
43Apart from that, rxvt-unicode is also much better internationalised than 53Apart from that, rxvt-unicode is also much better internationalised than
44it's predecessor, supports things such as XFT and ISO 14755 that are handy 54its predecessor, supports things such as XFT and ISO 14755 that are handy
45in i18n-environments, is faster, and has a lot less bugs than the original 55in i18n-environments, is faster, and has a lot bugs less than the original
46rxvt. This all in addition to dozens of other small improvements. 56rxvt. This all in addition to dozens of other small improvements.
47 57
48It is still faithfully following the original rxvt idea of being lean 58It is still faithfully following the original rxvt idea of being lean
49and nice on resources: for example, you can still configure rxvt-unicode 59and nice on resources: for example, you can still configure rxvt-unicode
50without most of it's features to get a lean binary. It also comes with 60without most of its features to get a lean binary. It also comes with
51a client/daemon pair that lets you open any number of terminal windows 61a client/daemon pair that lets you open any number of terminal windows
52from within a single process, which makes startup time very fast and 62from within a single process, which makes startup time very fast and
53drastically reduces memory usage. See @@RXVT_NAME@@d(1) (daemon) and 63drastically reduces memory usage. See @@RXVT_NAME@@d(1) (daemon) and
54@@RXVT_NAME@@c(1) (client). 64@@RXVT_NAME@@c(1) (client).
55 65
56It also makes technical information about escape sequences (which have 66It also makes technical information about escape sequences (which have
57been extended) easier accessible: see @@RXVT_NAME@@(7) for technical 67been extended) more accessible: see @@RXVT_NAME@@(7) for technical
58reference documentation (escape sequences etc.) and the FAQ section at the 68reference documentation (escape sequences etc.).
59end of this document.
60 69
61=head1 OPTIONS 70=head1 OPTIONS
62 71
63The B<@@RXVT_NAME@@> options (mostly a subset of I<xterm>'s) are listed 72The B<@@RXVT_NAME@@> options (mostly a subset of I<xterm>'s) are listed
64below. In keeping with the smaller-is-better philosophy, options may be 73below. In keeping with the smaller-is-better philosophy, options may be
75far greater than those listed. For example: `@@RXVT_NAME@@ --loginShell --color1 84far greater than those listed. For example: `@@RXVT_NAME@@ --loginShell --color1
76Orange'. 85Orange'.
77 86
78The following options are available: 87The following options are available:
79 88
80=over 4 89=over
81 90
82=item B<-help>, B<--help> 91=item B<-help>, B<--help>
83 92
84Print out a message describing available options. 93Print out a message describing available options.
85 94
86=item B<-display> I<displayname> 95=item B<-display> I<displayname>
87 96
88Attempt to open a window on the named X display (B<-d> still 97Attempt to open a window on the named X display (the older form B<-d>
89respected). In the absence of this option, the display specified by the 98is still respected. but deprecated). In the absence of this option, the
90B<DISPLAY> environment variable is used. 99display specified by the B<DISPLAY> environment variable is used.
100
101=item B<-depth> I<bitdepth>
102
103Compile I<frills>: Attempt to find a visual with the given bit depth;
104resource B<depth>.
105
106[Please note that many X servers (and libXft) are buggy with
107respect to C<-depth 32> and/or alpha channels, and will cause all sorts
108of graphical corruption. This is harmless, but we can't do anything about
109this, so watch out]
110
111=item B<-visual> I<visualID>
112
113Compile I<frills>: Use the given visual (see e.g. C<xdpyinfo> for
114possible visual ids) instead of the default, and also allocate a private
115colormap. All visual types except for DirectColor are supported.
91 116
92=item B<-geometry> I<geom> 117=item B<-geometry> I<geom>
93 118
94Window geometry (B<-g> still respected); resource B<geometry>. 119Window geometry (B<-g> still respected); resource B<geometry>.
95 120
97 122
98Turn on/off simulated reverse video; resource B<reverseVideo>. 123Turn on/off simulated reverse video; resource B<reverseVideo>.
99 124
100=item B<-j>|B<+j> 125=item B<-j>|B<+j>
101 126
102Turn on/off jump scrolling; resource B<jumpScroll>. 127Turn on/off jump scrolling (allow multiple lines per refresh); resource B<jumpScroll>.
103 128
104=item B<-ip>|B<+ip> 129=item B<-ss>|B<+ss>
105 130
106Turn on/off inheriting parent window's pixmap. Alternative form is 131Turn on/off skip scrolling (allow multiple screens per refresh); resource B<skipScroll>.
107B<-tr>; resource B<inheritPixmap>. 132
133=item B<-fps> I<number>
134
135Compile I<frills>: Set the refresh interval (in frames per second or
136negative seconds); resource B<refreshRate>.
108 137
109=item B<-fade> I<number> 138=item B<-fade> I<number>
110 139
111Fade the text by the given percentage when focus is lost. 140Fade the text by the given percentage when focus is lost. Small values
141fade a little only, 100 completely replaces all colours by the fade
142colour; resource B<fading>.
112 143
113=item B<-tint> I<colour> 144=item B<-fadecolor> I<colour>
114 145
115Tint the transparent background pixmap with the given colour when 146Fade to this colour when fading is used (see B<-fade>). The default colour
116transparency is enabled with B<-tr> or B<-ip>. See also the B<-sh> 147is opaque black. resource B<fadeColor>.
117option that can be used to brighten or darken the image in addition to
118tinting it.
119 148
120=item B<-sh> 149=item B<-icon> I<file>
121 150
122I<number> Darken (0 .. 100) or lighten (-1 .. -100) the transparent 151Compile I<pixbuf>: Use the specified image as application icon. This
123background image in addition to tinting it (i.e. B<-tint> must be 152is used by many window managers, taskbars and pagers to represent the
124specified, too). 153application window; resource I<iconFile>.
125 154
126=item B<-bg> I<colour> 155=item B<-bg> I<colour>
127 156
128Window background colour; resource B<background>. 157Window background colour; resource B<background>.
129 158
130=item B<-fg> I<colour> 159=item B<-fg> I<colour>
131 160
132Window foreground colour; resource B<foreground>. 161Window foreground colour; resource B<foreground>.
133 162
134=item B<-pixmap> I<file[;geom]>
135
136Compile I<XPM>: Specify XPM file for the background and also optionally
137specify its scaling with a geometry string. Note you may need to add
138quotes to avoid special shell interpretation of the `;' in the
139command-line; resource B<backgroundPixmap>.
140
141=item B<-cr> I<colour> 163=item B<-cr> I<colour>
142 164
143The cursor colour; resource B<cursorColor>. 165The cursor colour; resource B<cursorColor>.
144 166
145=item B<-pr> I<colour> 167=item B<-pr> I<colour>
150 172
151The mouse pointer background colour; resource B<pointerColor2>. 173The mouse pointer background colour; resource B<pointerColor2>.
152 174
153=item B<-bd> I<colour> 175=item B<-bd> I<colour>
154 176
155The colour of the border between the xterm scrollbar and the text; 177The colour of the border around the text area and between the scrollbar and the text;
156resource B<borderColor>. 178resource B<borderColor>.
157 179
158=item B<-fn> I<fontname> 180=item B<-fn> I<fontlist>
159 181
160Select the fonts to be used. This is a comma seperated list of font 182Select the fonts to be used. This is a comma separated list of font names
161names that are used in turn when trying to display Unicode characters. 183that are checked in order when trying to find glyphs for characters. The
162The first font defines the cell size for characters; other fonts might 184first font defines the cell size for characters; other fonts might be
163be smaller, but not larger. A reasonable default font list is always 185smaller, but not (in general) larger. A (hopefully) reasonable default
164appended to it. resource B<font>. 186font list is always appended to it. See resource B<font> for more details.
187
188In short, to specify an X11 core font, just specify its name or prefix it
189with C<x:>. To specify an XFT-font, you need to prefix it with C<xft:>,
190e.g.:
191
192 @@RXVT_NAME@@ -fn "xft:Bitstream Vera Sans Mono:pixelsize=15"
193 @@RXVT_NAME@@ -fn "9x15bold,xft:Bitstream Vera Sans Mono"
165 194
166See also the question "How does rxvt-unicode choose fonts?" in the FAQ 195See also the question "How does rxvt-unicode choose fonts?" in the FAQ
167section. 196section of @@RXVT_NAME@@(7).
168 197
198=item B<-fb> I<fontlist>
199
200Compile I<font-styles>: The bold font list to use when B<bold> characters
201are to be printed. See resource B<boldFont> for details.
202
203=item B<-fi> I<fontlist>
204
205Compile I<font-styles>: The italic font list to use when I<italic>
206characters are to be printed. See resource B<italicFont> for details.
207
208=item B<-fbi> I<fontlist>
209
210Compile I<font-styles>: The bold italic font list to use when B<< I<bold
211italic> >> characters are to be printed. See resource B<boldItalicFont>
212for details.
213
169=item B<-rb>|B<+rb> 214=item B<-is>|B<+is>
170 215
171Enable "real bold" support. When this option is on, bold text will be 216Compile I<font-styles>: Bold/Blink font styles imply high intensity
172displayed using the first available bold font in the font list. Bold 217foreground/background (default). See resource B<intensityStyles> for
173fonts should thus be specified in the font list after their 218details.
174corresponding regular fonts. If no bold font can be found, a regular
175font will be used. resource B<realBold>.
176 219
177=item B<-name> I<name> 220=item B<-name> I<name>
178 221
179Specify the application name under which resources are to be obtained, 222Specify the application name under which resources are to be obtained,
180rather than the default executable file name. Name should not contain 223rather than the default executable file name. Name should not contain
182 225
183=item B<-ls>|B<+ls> 226=item B<-ls>|B<+ls>
184 227
185Start as a login-shell/sub-shell; resource B<loginShell>. 228Start as a login-shell/sub-shell; resource B<loginShell>.
186 229
230=item B<-mc> I<milliseconds>
231
232Specify the maximum time between multi-click selections.
233
187=item B<-ut>|B<+ut> 234=item B<-ut>|B<+ut>
188 235
189Compile I<utmp>: Inhibit/enable writing a utmp entry; resource 236Compile I<utmp>: Inhibit/enable writing a utmp entry; resource
190B<utmpInhibit>. 237B<utmpInhibit>.
191 238
195B<visualBell>. 242B<visualBell>.
196 243
197=item B<-sb>|B<+sb> 244=item B<-sb>|B<+sb>
198 245
199Turn on/off scrollbar; resource B<scrollBar>. 246Turn on/off scrollbar; resource B<scrollBar>.
247
248=item B<-sr>|B<+sr>
249
250Put scrollbar on right/left; resource B<scrollBar_right>.
251
252=item B<-st>|B<+st>
253
254Display rxvt (non XTerm/NeXT) scrollbar without/with a trough;
255resource B<scrollBar_floating>.
200 256
201=item B<-si>|B<+si> 257=item B<-si>|B<+si>
202 258
203Turn on/off scroll-to-bottom on TTY output inhibit; resource 259Turn on/off scroll-to-bottom on TTY output inhibit; resource
204B<scrollTtyOutput> has opposite effect. 260B<scrollTtyOutput> has opposite effect.
212 268
213Turn on/off scrolling with the scrollback buffer as new lines appear. 269Turn on/off scrolling with the scrollback buffer as new lines appear.
214This only takes effect if B<-si> is also given; resource 270This only takes effect if B<-si> is also given; resource
215B<scrollWithBuffer>. 271B<scrollWithBuffer>.
216 272
217=item B<-sr>|B<+sr>
218
219Put scrollbar on right/left; resource B<scrollBar_right>.
220
221=item B<-st>|B<+st> 273=item B<-ptab>|B<+ptab>
222 274
223Display normal (non XTerm/NeXT) scrollbar without/with a trough; 275If enabled (default), "Horizontal Tab" characters are being stored as
224resource B<scrollBar_floating>. 276actual wide characters in the screen buffer, which makes it possible to
277select and paste them. Since a horizontal tab is a cursor movement and
278not an actual glyph, this can sometimes be visually annoying as the cursor
279on a tab character is displayed as a wide cursor; resource B<pastableTabs>.
225 280
226=item B<-bc>|B<+bc> 281=item B<-bc>|B<+bc>
227 282
228Blink the cursor; resource B<cursorBlink>. 283Blink the cursor; resource B<cursorBlink>.
284
285=item B<-uc>|B<+uc>
286
287Make the cursor underlined; resource B<cursorUnderline>.
229 288
230=item B<-iconic> 289=item B<-iconic>
231 290
232Start iconified, if the window manager supports that option. 291Start iconified, if the window manager supports that option.
233Alternative form is B<-ic>. 292Alternative form is B<-ic>.
250 309
251=item B<-bl> 310=item B<-bl>
252 311
253Compile I<frills>: Set MWM hints to request a borderless window, i.e. 312Compile I<frills>: Set MWM hints to request a borderless window, i.e.
254if honoured by the WM, the rxvt-unicode window will not have window 313if honoured by the WM, the rxvt-unicode window will not have window
255decorations; resource B<borderLess>. 314decorations; resource B<borderLess>. If the window manager does not
315support MWM hints (e.g. kwin), enables override-redirect mode.
316
317=item B<-override-redirect>
318
319Compile I<frills>: Sets override-redirect on the window; resource
320B<override-redirect>.
321
322=item B<-dockapp>
323
324Sets the initial state of the window to WithdrawnState, which makes
325window managers that support this extension treat it as a dockapp.
326
327=item B<-sbg>
328
329Compile I<frills>: Disable the usage of the built-in block graphics/line
330drawing characters and just rely on what the specified fonts provide. Use
331this if you have a good font and want to use its block graphic glyphs;
332resource B<skipBuiltinGlyphs>.
256 333
257=item B<-lsp> I<number> 334=item B<-lsp> I<number>
258 335
259Compile I<linespace>: Lines (pixel height) to insert between each row 336Compile I<frills>: Lines (pixel height) to insert between each row of
260of the display; resource B<linespace>. 337the display. Useful to work around font rendering problems; resource
338B<lineSpace>.
339
340=item B<-letsp> I<number>
341
342Compile I<frills>: Amount to adjust the computed character width by
343to control overall letter spacing. Negative values will tighten up the
344letter spacing, positive values will space letters out more. Useful to
345work around odd font metrics; resource B<letterSpace>.
261 346
262=item B<-tn> I<termname> 347=item B<-tn> I<termname>
263 348
264This option specifies the name of the terminal type to be set in the 349This option specifies the name of the terminal type to be set in the
265B<TERM> environment variable. This terminal type must exist in the 350B<TERM> environment variable. This terminal type must exist in the
274given on the command line. If this option is used, it must be the last 359given on the command line. If this option is used, it must be the last
275on the command-line. If there is no B<-e> option then the default is to 360on the command-line. If there is no B<-e> option then the default is to
276run the program specified by the B<SHELL> environment variable or, 361run the program specified by the B<SHELL> environment variable or,
277failing that, I<sh(1)>. 362failing that, I<sh(1)>.
278 363
364Please note that you must specify a program with arguments. If you want to
365run shell commands, you have to specify the shell, like this:
366
367 @@RXVT_NAME@@ -e sh -c "shell commands"
368
279=item B<-title> I<text> 369=item B<-title> I<text>
280 370
281Window title (B<-T> still respected); the default title is the basename 371Window title (B<-T> still respected); the default title is the basename
282of the program specified after the B<-e> option, if any, otherwise the 372of the program specified after the B<-e> option, if any, otherwise the
283application name; resource B<title>. 373application name; resource B<title>.
295=item B<-pt> I<style> 385=item B<-pt> I<style>
296 386
297Compile I<XIM>: input style for input method; B<OverTheSpot>, 387Compile I<XIM>: input style for input method; B<OverTheSpot>,
298B<OffTheSpot>, B<Root>; resource B<preeditType>. 388B<OffTheSpot>, B<Root>; resource B<preeditType>.
299 389
390If the perl extension C<xim-onthespot> is used (which is the default),
391then additionally the C<OnTheSpot> preedit type is available.
392
300=item B<-im> I<text> 393=item B<-im> I<text>
301 394
302Compile I<XIM>: input method name. resource B<inputMethod>. 395Compile I<XIM>: input method name. resource B<inputMethod>.
303 396
304=item B<-imlocale> I<string> 397=item B<-imlocale> I<string>
305 398
306The locale to use for opening the IM. You can use an LC_CTYPE of e.g. 399The locale to use for opening the IM. You can use an C<LC_CTYPE> of e.g.
307de_DE.UTF-8 for normal text processing but ja_JP.EUC-JP for the input 400C<de_DE.UTF-8> for normal text processing but C<ja_JP.EUC-JP> for the
308extension to be able to input japanese characters while staying in 401input extension to be able to input japanese characters while staying in
309another locale. 402another locale. resource B<imLocale>.
403
404=item B<-imfont> I<fontset>
405
406Set the font set to use for the X Input Method, see resource B<imFont>
407for more info.
408
409=item B<-tcw>
410
411Change the meaning of triple-click selection with the left mouse
412button. Only effective when the original (non-perl) selection code is
413in-use. Instead of selecting a full line it will extend the selection to
414the end of the logical line only. resource B<tripleclickwords>.
415
416=item B<-dpb>|B<+dpb>
417
418Compile frills: Disable (or enable) emitting bracketed paste mode
419sequences (default enabled). Bracketed paste mode allows programs
420to detect when something is pasted. Since more and more programs
421abuse this, these sequences can be disabled. The command sequences to
422enable and query paste mode will still work, but the actual bracket
423sequences will no longer be emitted. You can also toggle this from the
424ctrl-middle-mouse-button menu; resource B<disablePasteBrackets>.
310 425
311=item B<-insecure> 426=item B<-insecure>
312 427
313Enable "insecure" mode, which currently enables most of the escape 428Enable "insecure" mode, which currently enables most of the escape
314sequences that echo strings. See the resource B<insecure> for more 429sequences that echo strings. See the resource B<insecure> for more
328=item B<-ssr>|B<+ssr> 443=item B<-ssr>|B<+ssr>
329 444
330Turn on/off secondary screen scroll (default enabled); resource 445Turn on/off secondary screen scroll (default enabled); resource
331B<secondaryScroll>. 446B<secondaryScroll>.
332 447
448=item B<-rm> I<mode>
449
450Compile I<frills>: Sets long line rewrapping behaviour on window resizes
451to one of B<auto> (the default), B<always> or B<never>. The latter two
452modes do the obvious, B<auto> rewraps (acts like B<always>) if scrollback
453is non-empty, and wings lines (acts like B<never>) otherwise; resource
454B<rewrapMode>.
455
456=item B<-hold>|B<+hold>
457
458Turn on/off hold window after exit support. If enabled, @@RXVT_NAME@@
459will not immediately destroy its window when the program executed within
460it exits. Instead, it will wait till it is being killed or closed by the
461user; resource B<hold>.
462
463=item B<-cd> I<path>
464
465Sets the working directory for the shell (or the command specified via
466B<-e>). The I<path> must be an absolute path and it must exist for
467@@RXVT_NAME@@ to start; resource B<chdir>.
468
333=item B<-xrm> I<resourcestring> 469=item B<-xrm> I<string>
334 470
335No effect on rxvt-unicode. Simply passes through an argument to be made 471Works like the X Toolkit option of the same name, by adding the I<string>
336available in the instance's argument list. Appears in I<WM_COMMAND> in 472as if it were specified in a resource file. Resource values specified this
337some window managers. 473way take precedence over all other resource specifications.
474
475Note that you need to use the I<same> syntax as in the .Xdefaults file,
476e.g. C<*.background: black>. Also note that all @@RXVT_NAME@@-specific
477options can be specified as long-options on the commandline, so use
478of B<-xrm> is mostly limited to cases where you want to specify other
479resources (e.g. for input methods) or for compatibility with other
480programs.
481
482=item B<-keysym.>I<sym> I<string>
483
484Remap a key symbol. See resource B<keysym>.
485
486=item B<-embed> I<windowid>
487
488Tells @@RXVT_NAME@@ to embed its windows into an already-existing window,
489which enables applications to easily embed a terminal.
490
491Right now, @@RXVT_NAME@@ will first unmap/map the specified window, so it
492shouldn't be a top-level window. @@RXVT_NAME@@ will also reconfigure it
493quite a bit, so don't expect it to keep some specific state. It's best to
494create an extra subwindow for @@RXVT_NAME@@ and leave it alone.
495
496The window will not be destroyed when @@RXVT_NAME@@ exits.
497
498It might be useful to know that @@RXVT_NAME@@ will not close file
499descriptors passed to it (except for stdin/out/err, of course), so you
500can use file descriptors to communicate with the programs within the
501terminal. This works regardless of whether the C<-embed> option was used or
502not.
503
504Here is a short Gtk2-perl snippet that illustrates how this option can be
505used (a longer example is in F<doc/embed>):
506
507 my $rxvt = new Gtk2::Socket;
508 $rxvt->signal_connect_after (realize => sub {
509 my $xid = $_[0]->window->get_xid;
510 system "@@RXVT_NAME@@ -embed $xid &";
511 });
512
513=item B<-pty-fd> I<file descriptor>
514
515Tells @@RXVT_NAME@@ NOT to execute any commands or create a new pty/tty
516pair but instead use the given file descriptor as the tty master. This is
517useful if you want to drive @@RXVT_NAME@@ as a generic terminal emulator
518without having to run a program within it.
519
520If this switch is given, @@RXVT_NAME@@ will not create any utmp/wtmp
521entries and will not tinker with pty/tty permissions - you have to do that
522yourself if you want that.
523
524As an extremely special case, specifying C<-1> will completely suppress
525pty/tty operations, which is probably only useful in conjunction with some
526perl extension that manages the terminal.
527
528Here is a example in perl that illustrates how this option can be used (a
529longer example is in F<doc/pty-fd>):
530
531 use IO::Pty;
532 use Fcntl;
533
534 my $pty = new IO::Pty;
535 fcntl $pty, F_SETFD, 0; # clear close-on-exec
536 system "@@RXVT_NAME@@ -pty-fd " . (fileno $pty) . "&";
537 close $pty;
538
539 # now communicate with rxvt
540 my $slave = $pty->slave;
541 while (<$slave>) { print $slave "got <$_>\n" }
542
543Note that, despite what the name might imply, the file descriptor does not
544need to be a pty, it can be a bi-directional pipe as well (e.g. a unix
545domain or tcp socket). While tty operations cannot be done in this case,
546B<@@RXVT_NAME@@> can still be remote controlled with it:
547
548 use Socket;
549 use Fcntl;
550
551 socketpair my $URXVT, my $slave, Socket::AF_UNIX, Socket::SOCK_STREAM, Socket::PF_UNSPEC;
552 fcntl $slave, Fcntl::F_SETFD, 0;
553 system "exec @@RXVT_NAME@@ -pty-fd " . (fileno $slave) . " &";
554 close $slave;
555
556 syswrite $URXVT, "Type a secret password: ";
557 my $secret = do { local $/ = "\r"; <$URXVT> };
558 print "Not so secret anymore: $secret\n";
559
560=item B<-pe> I<string>
561
562Comma-separated list of perl extension scripts to use (or not to use) in
563this terminal instance. See resource B<perl-ext> for details.
338 564
339=back 565=back
340 566
341=head1 RESOURCES (available also as long-options) 567=head1 RESOURCES
342 568
343Note: `@@RXVT_NAME@@ --help' gives a list of all resources (long 569Note: `@@RXVT_NAME@@ --help' gives a list of all resources (long
344options) compiled into your version. 570options) compiled into your version. All resources are also available as
571long-options.
345 572
346There are two different methods that @@RXVT_NAME@@ can use to get the 573You can set and change the resources using X11 tools like B<xrdb>. Many
347Xresource data: using the X libraries (Xrm*-functions) or internal 574distribution do also load settings from the B<~/.Xresources> file when X
348Xresources reader (B<~/.Xdefaults>). For the first method (ie. 575starts. @@RXVT_NAME@@ will consult the following files/resources in order,
349B<@@RXVT_NAME@@ -h> lists B<XGetDefaults>), you can set and change the 576with later settings overwriting earlier ones:
350resources using X11 tools like B<xset>. Many distribution do also load
351settings from the B<~/.Xresources> file when X starts.
352 577
353If compiled with internal Xresources support (i.e. B<@@RXVT_NAME@@ -h> 578 1. app-defaults file in $XAPPLRESDIR
354lists B<.Xdefaults>) then B<@@RXVT_NAME@@> accepts application defaults 579 2. $HOME/.Xdefaults
355set in XAPPLOADDIR/URxvt (compile-time defined: usually 580 3. RESOURCE_MANAGER property on root-window of screen 0
356B</usr/lib/X11/app-defaults/URxvt>) and resources set in 581 4. SCREEN_RESOURCES property on root-window of the current screen
357B<~/.Xdefaults>, or B<~/.Xresources> if B<~/.Xdefaults> does not exist. 582 5. $XENVIRONMENT file OR $HOME/.Xdefaults-<nodename>
583 6. resources specified via -xrm on the commandline
584
358Note that when reading X resources, B<@@RXVT_NAME@@> recognizes two 585Note that when reading X resources, B<@@RXVT_NAME@@> recognizes two class
359class names: B<XTerm> and B<URxvt>. The class name B<Rxvt> allows 586names: B<Rxvt> and B<URxvt>. The class name B<Rxvt> allows resources
360resources common to both B<@@RXVT_NAME@@> and the original I<rxvt> to be 587common to both B<@@RXVT_NAME@@> and the original I<rxvt> to be easily
361easily configured, while the class name B<URxvt> allows resources 588configured, while the class name B<URxvt> allows resources unique to
362unique to B<@@RXVT_NAME@@>, notably colours and key-handling, to be 589B<@@RXVT_NAME@@>, to be shared between different B<@@RXVT_NAME@@>
363shared between different B<@@RXVT_NAME@@> configurations. If no 590configurations. If no resources are specified, suitable defaults will
364resources are specified, suitable defaults will be used. Command-line 591be used. Command-line arguments can be used to override resource
365arguments can be used to override resource settings. The following 592settings. The following resources are supported (you might want to
366resources are allowed: 593check the @@RXVT_NAME@@perl(3) manpage for additional settings by perl
594extensions not documented here):
367 595
368=over 4 596=over
597
598=item B<depth:> I<bitdepth>
599
600Compile I<xft>: Attempt to find a visual with the given bit depth;
601option B<-depth>.
602
603=item B<buffered:> I<boolean>
604
605Compile I<xft>: Turn on/off double-buffering for xft (default enabled).
606On some card/driver combination enabling it slightly decreases
607performance, on most it greatly helps it. The slowdown is small, so it
608should normally be enabled.
369 609
370=item B<geometry:> I<geom> 610=item B<geometry:> I<geom>
371 611
372Create the window with the specified X window geometry [default 80x24]; 612Create the window with the specified X window geometry [default 80x24];
373option B<-geometry>. 613option B<-geometry>.
387Use the specified colour for the colour value I<n>, where 0-7 627Use the specified colour for the colour value I<n>, where 0-7
388corresponds to low-intensity (normal) colours and 8-15 corresponds to 628corresponds to low-intensity (normal) colours and 8-15 corresponds to
389high-intensity (bold = bright foreground, blink = bright background) 629high-intensity (bold = bright foreground, blink = bright background)
390colours. The canonical names are as follows: 0=black, 1=red, 2=green, 630colours. The canonical names are as follows: 0=black, 1=red, 2=green,
3913=yellow, 4=blue, 5=magenta, 6=cyan, 7=white, but the actual colour 6313=yellow, 4=blue, 5=magenta, 6=cyan, 7=white, but the actual colour
392names used are listed in the B<COLORS AND GRAPHICS> section. 632names used are listed in the B<COLOURS AND GRAPHICS> section.
633
634Colours higher than 15 cannot be set using resources (yet), but can be
635changed using an escape command (see @@RXVT_NAME@@(7)).
636
637Colours 16-79 form a standard 4x4x4 colour cube (the same as xterm with
63888 colour support). Colours 80-87 are evenly spaces grey steps.
393 639
394=item B<colorBD:> I<colour> 640=item B<colorBD:> I<colour>
395 641
642=item B<colorIT:> I<colour>
643
396Use the specified colour to display bold characters when the foreground 644Use the specified colour to display bold or italic characters when the
397colour is the default. This option will be ignored if B<realBold> is 645foreground colour is the default. If font styles are not available
398enabled. 646(Compile I<styles>) and this option is unset, reverse video is used instead.
399 647
400=item B<colorUL:> I<colour> 648=item B<colorUL:> I<colour>
401 649
402Use the specified colour to display underlined characters when the 650Use the specified colour to display underlined characters when the
403foreground colour is the default. 651foreground colour is the default.
404 652
405=item B<colorRV:> I<colour> 653=item B<underlineColor:> I<colour>
406 654
655If set, use the specified colour as the colour for the underline
656itself. If unset, use the foreground colour.
657
658=item B<highlightColor:> I<colour>
659
407Use the specified colour as the background for reverse video 660If set, use the specified colour as the background for highlighted
408characters. 661characters. If unset, use reverse video.
662
663=item B<highlightTextColor:> I<colour>
664
665If set and highlightColor is set, use the specified colour as the
666foreground for highlighted characters.
409 667
410=item B<cursorColor:> I<colour> 668=item B<cursorColor:> I<colour>
411 669
412Use the specified colour for the cursor. The default is to use the 670Use the specified colour for the cursor. The default is to use the
413foreground colour; option B<-cr>. 671foreground colour; option B<-cr>.
420 678
421=item B<reverseVideo:> I<boolean> 679=item B<reverseVideo:> I<boolean>
422 680
423B<True>: simulate reverse video by foreground and background colours; 681B<True>: simulate reverse video by foreground and background colours;
424option B<-rv>. B<False>: regular screen colours [default]; option 682option B<-rv>. B<False>: regular screen colours [default]; option
425B<+rv>. See note in B<COLORS AND GRAPHICS> section. 683B<+rv>. See note in B<COLOURS AND GRAPHICS> section.
426 684
427=item B<jumpScroll:> I<boolean> 685=item B<jumpScroll:> I<boolean>
428 686
429B<True>: specify that jump scrolling should be used. When scrolling 687B<True>: specify that jump scrolling should be used. When receiving lots
430quickly, fewer screen updates are performed [default]; option B<-j>. 688of lines, @@RXVT_NAME@@ will only scroll once a whole screen height of lines
689has been read, resulting in fewer updates while still displaying every
690received line; option B<-j>.
691
431B<False>: specify that smooth scrolling should be used; option B<+j>. 692B<False>: specify that smooth scrolling should be used. @@RXVT_NAME@@ will
693force a screen refresh on each new line it received; option B<+j>.
432 694
433=item B<inheritPixmap:> I<boolean> 695=item B<skipScroll:> I<boolean>
434 696
435B<True>: make the background inherit the parent windows' pixmap, giving 697B<True>: (the default) specify that skip scrolling should be used. When
436artificial transparency. B<False>: do not inherit the parent windows' 698receiving lots of lines, @@RXVT_NAME@@ will only scroll once in a while
437pixmap. 699(around 60 times per second), resulting in far fewer updates. This can
700result in @@RXVT_NAME@@ not ever displaying some of the lines it receives;
701option B<-ss>.
702
703B<False>: specify that everything is to be displayed, even
704if the refresh is too fast for the human eye to read anything (or the
705monitor to display anything); option B<+ss>.
706
707=item B<refreshRate:> I<number>
708
709Compile I<frills>: When positive, sets the maximum refreshes per second
710(the default is C<60>). When zero or negative, sets the minimum interval
711between refreshes, negated. That is, positive numbers limit the number
712of refreshes per second to that number, similar to a fps limiter in
713games. A negative number gets negated and directly sets the minimum
714interval between refreshes, that is, C<10> and C<-0.1> both specify
715the same refresh interval (likewise C<50> and C<0.02>). Finally, zero
716makes @@RXVT_NAME@@ refresh as fast as possible. Fractional values are
717supported; option B<-fps>.
438 718
439=item B<fading:> I<number> 719=item B<fading:> I<number>
440 720
441Fade the text by the given percentage when focus is lost. 721Fade the text by the given percentage when focus is lost; option B<-fade>.
442 722
443=item B<tintColor:> I<colour> 723=item B<fadeColor:> I<colour>
444 724
445Tint the transparent background pixmap with the given colour. 725Fade to this colour, when fading is used (see B<fading:>). The default
726colour is black; option B<-fadecolor>.
446 727
447=item B<shading:> I<number> 728=item B<iconFile:> I<file>
448 729
449Darken (0 .. 100) or lighten (-1 .. -100) the transparent background 730Set the application icon pixmap; option B<-icon>.
450image in addition to tinting it.
451
452=item B<fading:> I<number>
453
454Scale the tint colour by the given percentage.
455 731
456=item B<scrollColor:> I<colour> 732=item B<scrollColor:> I<colour>
457 733
458Use the specified colour for the scrollbar [default #B2B2B2]. 734Use the specified colour for the scrollbar [default #B2B2B2].
459 735
460=item B<troughColor:> I<colour> 736=item B<troughColor:> I<colour>
461 737
462Use the specified colour for the scrollbar's trough area [default 738Use the specified colour for the scrollbar's trough area [default
463#969696]. Only relevant for normal (non XTerm/NeXT) scrollbar. 739#969696]. Only relevant for rxvt (non XTerm/NeXT) scrollbar.
464 740
465=item B<backgroundPixmap:> I<file[;geom]> 741=item B<borderColor:> I<colour>
466 742
467Use the specified XPM file (note the `.xpm' extension is optional) for 743The colour of the border around the text area and between the scrollbar
468the background and also optionally specify its scaling with a geometry 744and the text.
469string B<WxH+X+Y>, in which B<"W" / "H"> specify the
470horizontal/vertical scale (percent) and B<"X" / "Y"> locate the image
471centre (percent). A scale of 0 displays the image with tiling. A scale
472of 1 displays the image without any scaling. A scale of 2 to 9
473specifies an integer number of images in that direction. No image will
474be magnified beyond 10 times its original size. The maximum permitted
475scale is 1000. [default 0x0+50+50]
476 745
477=item B<menu:> I<file[;tag]>
478
479Read in the specified menu file (note the `.menu' extension is
480optional) and also optionally specify a starting tag to find. See the
481reference documentation for details on the syntax for the menuBar.
482
483=item B<path:> I<path>
484
485Specify the colon-delimited search path for finding files (XPM and
486menus), in addition to the paths specified by the B<RXVTPATH> and
487B<PATH> environment variables.
488
489=item B<font:> I<fontname> 746=item B<font:> I<fontlist>
490 747
491Select the fonts to be used. This is a comma seperated list of font 748Select the fonts to be used. This is a comma separated list of font names
492names that are used in turn when trying to display Unicode characters. 749that are checked in order when trying to find glyphs for characters. The
493The first font defines the cell size for characters; other fonts might 750first font defines the cell size for characters; other fonts might be
494be smaller, but not larger. A reasonable default font list is always 751smaller, but not (in general) larger. A (hopefully) reasonable default
495appended to it. option B<-fn>. 752font list is always appended to it; option B<-fn>.
496 753
497=item B<realBold:> I<boolean> 754Each font can either be a standard X11 core font (XLFD) name, with
755optional prefix C<x:> or a Xft font (Compile I<xft>), prefixed with C<xft:>.
498 756
499B<True>: Enable "real bold" support. When this option is on, bold text 757In addition, each font can be prefixed with additional hints and
500will be displayed using the first available bold font in the font list. 758specifications enclosed in square brackets (C<[]>). The only available
501Bold fonts should thus be specified in the font list after their 759hint currently is C<codeset=codeset-name>, and this is only used for Xft
502corresponding regular fonts. If no bold font can be found, a regular 760fonts.
503font will be used. option B<-rb>. B<False>: Display bold text in a
504regular font, using the color specified with B<colorBD>; option B<+rb>.
505 761
506=item B<selectstyle:> I<mode> 762For example, this font resource
507 763
508Set mouse selection style to B<old> which is 2.20, B<oldword> which is 764 URxvt.font: 9x15bold,\
509xterm style with 2.20 old word selection, or anything else which gives 765 -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso10646-1,\
510xterm style selection. 766 -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1, \
767 [codeset=JISX0208]xft:Kochi Gothic:antialias=false, \
768 xft:Code2000:antialias=false
511 769
512=item B<scrollstyle:> I<mode> 770specifies five fonts to be used. The first one is C<9x15bold> (actually
771the iso8859-1 version of the second font), which is the base font (because
772it is named first) and thus defines the character cell grid to be 9 pixels
773wide and 15 pixels high.
513 774
514Set scrollbar style to B<rxvt>, B<plain>, B<next> or B<xterm>. B<plain> is 775The second font is just used to add additional unicode characters not in
515the author's favourite.. 776the base font, likewise the third, which is unfortunately non-bold, but
777the bold version of the font does contain fewer characters, so this is a
778useful supplement.
779
780The third font is an Xft font with aliasing turned off, and the characters
781are limited to the B<JIS 0208> codeset (i.e. japanese kanji). The font
782contains other characters, but we are not interested in them.
783
784The last font is a useful catch-all font that supplies most of the
785remaining unicode characters.
786
787=item B<boldFont:> I<fontlist>
788
789=item B<italicFont:> I<fontlist>
790
791=item B<boldItalicFont:> I<fontlist>
792
793The font list to use for displaying B<bold>, I<italic> or B<< I<bold
794italic> >> characters, respectively.
795
796If specified and non-empty, then the syntax is the same as for the
797B<font>-resource, and the given font list will be used as is, which makes
798it possible to substitute completely different font styles for bold and
799italic.
800
801If unset (the default), a suitable font list will be synthesized by
802"morphing" the normal text font list into the desired shape. If that is
803not possible, replacement fonts of the desired shape will be tried.
804
805If set, but empty, then this specific style is disabled and the normal
806text font will being used for the given style.
807
808=item B<intensityStyles:> I<boolean>
809
810When font styles are not enabled, or this option is enabled (B<True>,
811option B<-is>, the default), bold/blink font styles imply high
812intensity foreground/background colours. Disabling this option (B<False>,
813option B<+is>) disables this behaviour, the high intensity colours are not
814reachable.
516 815
517=item B<title:> I<string> 816=item B<title:> I<string>
518 817
519Set window title string, the default title is the command-line 818Set window title string, the default title is the command-line
520specified after the B<-e> option, if any, otherwise the application 819specified after the B<-e> option, if any, otherwise the application
529=item B<mapAlert:> I<boolean> 828=item B<mapAlert:> I<boolean>
530 829
531B<True>: de-iconify (map) on receipt of a bell character. B<False>: no 830B<True>: de-iconify (map) on receipt of a bell character. B<False>: no
532de-iconify (map) on receipt of a bell character [default]. 831de-iconify (map) on receipt of a bell character [default].
533 832
833=item B<urgentOnBell:> I<boolean>
834
835B<True>: set the urgency hint for the wm on receipt of a bell character.
836B<False>: do not set the urgency hint [default].
837
838@@RXVT_NAME@@ resets the urgency hint on every focus change.
839
534=item B<visualBell:> I<boolean> 840=item B<visualBell:> I<boolean>
535 841
536B<True>: use visual bell on receipt of a bell character; option B<-vb>. 842B<True>: use visual bell on receipt of a bell character; option B<-vb>.
537B<False>: no visual bell [default]; option B<+vb>. 843B<False>: no visual bell [default]; option B<+vb>.
538 844
540 846
541B<True>: start as a login shell by prepending a `-' to B<argv[0]> of 847B<True>: start as a login shell by prepending a `-' to B<argv[0]> of
542the shell; option B<-ls>. B<False>: start as a normal sub-shell 848the shell; option B<-ls>. B<False>: start as a normal sub-shell
543[default]; option B<+ls>. 849[default]; option B<+ls>.
544 850
851=item B<multiClickTime:> I<number>
852
853Specify the maximum time in milliseconds between multi-click select
854events. The default is 500 milliseconds; option B<-mc>.
855
545=item B<utmpInhibit:> I<boolean> 856=item B<utmpInhibit:> I<boolean>
546 857
547B<True>: inhibit writing record into the system log file B<utmp>; 858B<True>: inhibit writing record into the system log file B<utmp>;
548option B<-ut>. B<False>: write record into the system log file B<utmp> 859option B<-ut>. B<False>: write record into the system log file B<utmp>
549[default]; option B<+ut>. 860[default]; option B<+ut>.
552 863
553Specify a command pipe for vt100 printer [default I<lpr(1)>]. Use 864Specify a command pipe for vt100 printer [default I<lpr(1)>]. Use
554B<Print> to initiate a screen dump to the printer and B<Ctrl-Print> or 865B<Print> to initiate a screen dump to the printer and B<Ctrl-Print> or
555B<Shift-Print> to include the scrollback as well. 866B<Shift-Print> to include the scrollback as well.
556 867
868The string will be interpreted as if typed into the shell as-is.
869
870Example:
871
872 URxvt.print-pipe: cat > $(TMPDIR=$HOME mktemp urxvt.XXXXXX)
873
874This creates a new file in your home directory with the screen contents
875every time you hit C<Print>.
876
877=item B<scrollstyle:> I<mode>
878
879Set scrollbar style to B<rxvt>, B<plain>, B<next> or B<xterm>. B<plain> is
880the author's favourite.
881
882=item B<thickness:> I<number>
883
884Set the scrollbar width in pixels.
885
557=item B<scrollBar:> I<boolean> 886=item B<scrollBar:> I<boolean>
558 887
559B<True>: enable the scrollbar [default]; option B<-sb>. B<False>: 888B<True>: enable the scrollbar [default]; option B<-sb>. B<False>:
560disable the scrollbar; option B<+sb>. 889disable the scrollbar; option B<+sb>.
561 890
574Align the B<top>, B<bottom> or B<centre> [default] of the scrollbar 903Align the B<top>, B<bottom> or B<centre> [default] of the scrollbar
575thumb with the pointer on middle button press/drag. 904thumb with the pointer on middle button press/drag.
576 905
577=item B<scrollTtyOutput:> I<boolean> 906=item B<scrollTtyOutput:> I<boolean>
578 907
579B<True>: scroll to bottom when tty receives output; option B<-si>. 908B<True>: scroll to bottom when tty receives output; option B<+si>.
580B<False>: do not scroll to bottom when tty receives output; option 909B<False>: do not scroll to bottom when tty receives output; option
581B<+si>. 910B<-si>.
582 911
583=item B<scrollWithBuffer:> I<boolean> 912=item B<scrollWithBuffer:> I<boolean>
584 913
585B<True>: scroll with scrollback buffer when tty recieves new lines (and 914B<True>: scroll with scrollback buffer when tty receives new lines (i.e.
586B<scrollTtyOutput> is False); option B<+sw>. B<False>: do not scroll 915try to show the same lines) and B<scrollTtyOutput> is False; option
587with scrollback buffer when tty recieves new lines; option B<-sw>. 916B<-sw>. B<False>: do not scroll with scrollback buffer when tty receives
917new lines; option B<+sw>.
588 918
589=item B<scrollTtyKeypress:> I<boolean> 919=item B<scrollTtyKeypress:> I<boolean>
590 920
591B<True>: scroll to bottom when a non-special key is pressed. Special keys 921B<True>: scroll to bottom when a non-special key is pressed. Special keys
592are those which are intercepted by rxvt-unicode for special handling and 922are those which are intercepted by rxvt-unicode for special handling and
593are not passed onto the shell; option B<-sk>. B<False>: do not scroll to 923are not passed onto the shell; option B<-sk>. B<False>: do not scroll to
594bottom when a non-special key is pressed; option B<+sk>. 924bottom when a non-special key is pressed; option B<+sk>.
595 925
596=item B<saveLines:> I<number> 926=item B<saveLines:> I<number>
597 927
598Save I<number> lines in the scrollback buffer [default 64]. This 928Save I<number> lines in the scrollback buffer [default 1000]; option B<-sl>.
599resource is limited on most machines to 65535; option B<-sl>.
600 929
601=item B<internalBorder:> I<number> 930=item B<internalBorder:> I<number>
602 931
603Internal border of I<number> pixels. This resource is limited to 100; 932Internal border of I<number> pixels. This resource is limited to 100;
604option B<-b>. 933option B<-b>.
611=item B<borderLess:> I<boolean> 940=item B<borderLess:> I<boolean>
612 941
613Set MWM hints to request a borderless window, i.e. if honoured by the 942Set MWM hints to request a borderless window, i.e. if honoured by the
614WM, the rxvt-unicode window will not have window decorations; option B<-bl>. 943WM, the rxvt-unicode window will not have window decorations; option B<-bl>.
615 944
945=item B<skipBuiltinGlyphs:> I<boolean>
946
947Compile I<frills>: Disable the usage of the built-in block graphics/line
948drawing characters and just rely on what the specified fonts provide. Use
949this if you have a good font and want to use its block graphic glyphs;
950option B<-sbg>.
951
616=item B<termName:> I<termname> 952=item B<termName:> I<termname>
617 953
618Specifies the terminal type name to be set in the B<TERM> environment 954Specifies the terminal type name to be set in the B<TERM> environment
619variable; option B<-tn>. 955variable; option B<-tn>.
620 956
621=item B<linespace:> I<number> 957=item B<lineSpace:> I<number>
622 958
623Specifies number of lines (pixel height) to insert between each row of 959Specifies number of lines (pixel height) to insert between each row of
624the display [default 0]; option B<-lsp>. 960the display [default 0]; option B<-lsp>.
625 961
626=item B<meta8:> I<boolean> 962=item B<meta8:> I<boolean>
631=item B<mouseWheelScrollPage:> I<boolean> 967=item B<mouseWheelScrollPage:> I<boolean>
632 968
633B<True>: the mouse wheel scrolls a page full. B<False>: the mouse wheel 969B<True>: the mouse wheel scrolls a page full. B<False>: the mouse wheel
634scrolls five lines [default]. 970scrolls five lines [default].
635 971
972=item B<pastableTabs:> I<boolean>
973
974B<True>: store tabs as wide characters. B<False>: interpret tabs as cursor
975movement only; option C<-ptab>.
976
636=item B<cursorBlink:> I<boolean> 977=item B<cursorBlink:> I<boolean>
637 978
638B<True>: blink the cursor. B<False>: do not blink the cursor [default]; 979B<True>: blink the cursor. B<False>: do not blink the cursor [default];
639option B<-bc>. 980option B<-bc>.
981
982=item B<cursorUnderline:> I<boolean>
983
984B<True>: Make the cursor underlined. B<False>: Make the cursor a box [default];
985option B<-uc>.
640 986
641=item B<pointerBlank:> I<boolean> 987=item B<pointerBlank:> I<boolean>
642 988
643B<True>: blank the pointer when a key is pressed or after a set number 989B<True>: blank the pointer when a key is pressed or after a set number
644of seconds of inactivity. B<False>: the pointer is always visible 990of seconds of inactivity. B<False>: the pointer is always visible
650 996
651=item B<pointerColor2:> I<colour> 997=item B<pointerColor2:> I<colour>
652 998
653Mouse pointer background colour. 999Mouse pointer background colour.
654 1000
1001=item B<pointerShape:> I<string>
1002
1003Compile I<frills>: Specifies the name of the mouse pointer shape
1004[default B<xterm>]. See the macros in the B<X11/cursorfont.h> include
1005file for possible values (omit the C<XC_> prefix).
1006
655=item B<pointerBlankDelay:> I<number> 1007=item B<pointerBlankDelay:> I<number>
656 1008
657Specifies number of seconds before blanking the pointer [default 2]. 1009Specifies number of seconds before blanking the pointer [default 2]. Use a
1010large number (e.g. C<987654321>) to effectively disable the timeout.
658 1011
659=item B<backspacekey:> I<string> 1012=item B<backspacekey:> I<string>
660 1013
661The string to send when the backspace key is pressed. If set to B<DEC> 1014The string to send when the backspace key is pressed. If set to B<DEC>
662or unset it will send B<Delete> (code 127) or, if shifted, B<Backspace> 1015or unset it will send B<Delete> (code 127) or, with control, B<Backspace>
663(code 8) - which can be reversed with the appropriate DEC private mode 1016(code 8) - which can be reversed with the appropriate DEC private mode
664escape sequence. 1017escape sequence.
665 1018
666=item B<deletekey:> I<string> 1019=item B<deletekey:> I<string>
667 1020
669pressed. If unset it will send the sequence traditionally associated 1022pressed. If unset it will send the sequence traditionally associated
670with the B<Execute> key. 1023with the B<Execute> key.
671 1024
672=item B<cutchars:> I<string> 1025=item B<cutchars:> I<string>
673 1026
674The characters used as delimiters for double-click word selection. The 1027The characters used as delimiters for double-click word selection
675built-in default: 1028(whitespace delimiting is added automatically if resource is given).
676 1029
1030When the perl selection extension is in use (the default if compiled
1031in, see the @@RXVT_NAME@@perl(3) manpage), a suitable regex using these
1032characters will be created (if the resource exists, otherwise, no regex
1033will be created). In this mode, characters outside ISO-8859-1 can be used.
1034
1035When the selection extension is not used, only ISO-8859-1 characters can
1036be used. If not specified, the built-in default is used:
1037
677B<< BACKSLASH `"'&()*,;<=>?@[]{|} >> 1038B<< BACKSLASH `"'&()*,;<=>?@[]^{|} >>
678 1039
679=item B<preeditType:> I<style> 1040=item B<preeditType:> I<style>
680 1041
681B<OverTheSpot>, B<OffTheSpot>, B<Root>; option B<-pt>. 1042B<OnTheSpot>, B<OverTheSpot>, B<OffTheSpot>, B<Root>; option B<-pt>.
682 1043
683=item B<inputMethod:> I<name> 1044=item B<inputMethod:> I<name>
684 1045
685I<name> of inputMethod to use; option B<-im>. 1046I<name> of inputMethod to use; option B<-im>.
686 1047
687=item B<imLocale:> I<name> 1048=item B<imLocale:> I<name>
688 1049
689The locale to use for opening the IM. You can use an LC_CTYPE of e.g. 1050The locale to use for opening the IM. You can use an C<LC_CTYPE> of e.g.
690de_DE.UTF-8 for normal text processing but ja_JP.EUC-JP for the input 1051C<de_DE.UTF-8> for normal text processing but C<ja_JP.EUC-JP> for the
691extension to be able to input japanese characters while staying in 1052input extension to be able to input japanese characters while staying in
692another locale. option B<-imlocale>. 1053another locale; option B<-imlocale>.
693 1054
694=item B<insecure> 1055=item B<imFont:> I<fontset>
695 1056
1057Specify the font-set used for XIM styles C<OverTheSpot> or
1058C<OffTheSpot>. It must be a standard X font set (XLFD patterns separated
1059by commas), i.e. it's not in the same format as the other font lists used
1060in @@RXVT_NAME@@. The default will be set-up to chose *any* suitable found
1061found, preferably one or two pixels differing in size to the base font.
1062option B<-imfont>.
1063
1064=item B<tripleclickwords:> I<boolean>
1065
1066Change the meaning of triple-click selection with the left mouse
1067button. Instead of selecting a full line it will extend the selection to
1068the end of the logical line only; option B<-tcw>.
1069
1070=item B<disablePasteBrackets:> I<boolean>
1071
1072Prevent emission of paste bracket sequences; option B<-dpb>.
1073
1074=item B<insecure:> I<boolean>
1075
696Enables "insecure" mode. Rxvt-unicode offers some escape sequences that 1076Enable "insecure" mode. Rxvt-unicode offers some escape sequences that
697echo arbitrary strings like the icon name or the locale. This could be 1077echo arbitrary strings like the icon name or the locale. This could be
698abused if somebody gets 8-bit-clean access to your display, wether 1078abused if somebody gets 8-bit-clean access to your display, whether
699throuh a mail client displaying mail bodies unfiltered or though 1079through a mail client displaying mail bodies unfiltered or through
700write(1). Therefore, these sequences are disabled by default. (Note 1080write(1) or any other means. Therefore, these sequences are disabled by
701that other terminals, including xterm, have these sequences 1081default. (Note that many other terminals, including xterm, have these
702enabled by default). You can enable them by setting this boolean 1082sequences enabled by default, which doesn't make it safer, though).
703resource or specifying B<-insecure> as an option. At the moment, this 1083
704enabled display-answer, locale, findfont, icon label and window title 1084You can enable them by setting this boolean resource or specifying
705requests as well as dynamic menubar dispatch. 1085B<-insecure> as an option. At the moment, this enables display-answer,
1086locale, findfont, icon label and window title requests.
706 1087
707=item B<modifier:> I<modifier> 1088=item B<modifier:> I<modifier>
708 1089
709Set the key to be interpreted as the Meta key to: B<alt>, B<meta>, 1090Set the key to be interpreted as the Meta key to: B<alt>, B<meta>,
710B<hyper>, B<super>, B<mod1>, B<mod2>, B<mod3>, B<mod4>, B<mod5>; option 1091B<hyper>, B<super>, B<mod1>, B<mod2>, B<mod3>, B<mod4>, B<mod5>; option
714 1095
715Specify the reply rxvt-unicode sends to the shell when an ENQ (control-E) 1096Specify the reply rxvt-unicode sends to the shell when an ENQ (control-E)
716character is passed through. It may contain escape values as described 1097character is passed through. It may contain escape values as described
717in the entry on B<keysym> following. 1098in the entry on B<keysym> following.
718 1099
719=item B<secondaryScreen:> I<bool> 1100=item B<secondaryScreen:> I<boolean>
720 1101
721Turn on/off secondary screen (default enabled). 1102Turn on/off secondary screen (default enabled).
722 1103
1104=item B<rewrapMode:> I<mode>
1105
1106Sets long line rewrap behaviour on window resize to one of B<auto>
1107(default), B<always> or B<never>.
1108
723=item B<secondaryScroll:> I<bool> 1109=item B<secondaryScroll:> I<boolean>
724 1110
725Turn on/off secondary screen scroll (default enabled). If the this 1111Turn on/off secondary screen scroll (default enabled). If this
726option is enabled, scrolls on the secondary screen will change the 1112option is enabled, scrolls on the secondary screen will change the
727scrollback buffer and switching to/from the secondary screen will 1113scrollback buffer and, when secondaryScreen is off, switching
728instead scroll the screen up. 1114to/from the secondary screen will instead scroll the screen up.
729 1115
1116=item B<hold>: I<boolean>
1117
1118Turn on/off hold window after exit support. If enabled, @@RXVT_NAME@@
1119will not immediately destroy its window when the program executed within
1120it exits. Instead, it will wait till it is being killed or closed by the
1121user.
1122
1123=item B<chdir>: I<path>
1124
1125Sets the working directory for the shell (or the command specified via
1126B<-e>). The I<path> must be an absolute path and it must exist for
1127@@RXVT_NAME@@ to start. If it isn't specified then the current working
1128directory will be used; option B<-cd>.
1129
730=item B<keysym.>I<sym>: I<string> 1130=item B<keysym.>I<sym>: I<action>
731 1131
732Associate I<string> with keysym I<sym> (B<0xFF00 - 0xFFFF>). It may 1132Compile I<frills>: Associate I<action> with keysym I<sym>. The intervening
733contain escape values (\a: bell, \b: backspace, \e, \E: escape, \n: 1133resource name B<keysym.> cannot be omitted.
734newline, \r: return, \t: 1134
735tab, \000: octal number) or control characters (^?: delete, ^@: null, 1135Using this resource, you can map key combinations such as
736^A ...) and may enclosed with double quotes so that it can start or end 1136C<Ctrl-Shift-BackSpace> to various actions, such as outputting a different
737with whitespace. The intervening resource name B<keysym.> cannot be 1137string than would normally result from that combination, making the
738omitted. This resource is only available when compiled with 1138terminal scroll up or down the way you want it, or any other thing an
739KEYSYM_RESOURCE. 1139extension might provide.
1140
1141The key combination that triggers the action, I<sym>, has the following format:
1142
1143 (modifiers-)key
1144
1145Where I<modifiers> can be any combination of the following full or
1146abbreviated modifier names:
1147
1148=begin table
1149
1150 B<ISOLevel3> B<I>
1151 B<AppKeypad> B<K>
1152 B<Control> B<C>
1153 B<NumLock> B<N>
1154 B<Shift> B<S>
1155 B<Meta> B<M> I<or> B<A>
1156 B<Lock> B<L>
1157 B<Mod1> B<1>
1158 B<Mod2> B<2>
1159 B<Mod3> B<3>
1160 B<Mod4> B<4>
1161 B<Mod5> B<5>
1162
1163=end table
1164
1165The B<NumLock>, B<Meta> and B<ISOLevel3> modifiers are usually aliased to
1166whatever modifier the NumLock key, Meta/Alt keys or ISO Level3 Shift/AltGr
1167keys are being mapped. B<AppKeypad> is a synthetic modifier mapped to the
1168current application keymap mode state.
1169
1170Due the the large number of modifier combinations, a key mapping will
1171match if I<at least> the specified identifiers are being set, and no other
1172key mappings with those and more bits are being defined. That means that
1173defining a mapping for C<a> will automatically provide definitions for
1174C<Meta-a>, C<Shift-a> and so on, unless some of those are defined mappings
1175themselves. See the C<builtin:> action, below, for a way to work around
1176this when this is a problem.
1177
1178The spelling of I<key> depends on your implementation of X. An easy way to
1179find a key name is to use the B<xev>(1) command. You can find a list by
1180looking for the C<XK_> macros in the B<X11/keysymdef.h> include file (omit
1181the C<XK_> prefix). Alternatively you can specify I<key> by its hex keysym
1182value (B<0x0000 - 0xFFFF>).
1183
1184As with any resource value, the I<action> string may contain backslash
1185escape sequences (C<\n>: newline, C<\\>: backslash, C<\000>: octal
1186number), see RESOURCES in C<man 7 X> for further details.
1187
1188An action starts with an action prefix that selects a certain type
1189of action, followed by a colon. An action string without colons is
1190interpreted as a literal string to pass to the tty (as if it was
1191prefixed with C<string:>).
1192
1193The following action prefixes are known - extensions can provide
1194additional prefixes:
1195
1196=over
1197
1198=item string:STRING
1199
1200If the I<action> starts with C<string:> (or otherwise contains no colons),
1201then the remaining C<STRING> will be passed to the program running in the
1202terminal. For example, you could replace whatever Shift-Tab outputs by the
1203string C<echo rm -rf /> followed by a newline:
1204
1205 URxvt.keysym.Shift-Tab: string:echo rm -rf /\n
1206
1207This could in theory be used to completely redefine your keymap.
1208
1209In addition, for actions of this type, you can define a range of
1210keysyms in one shot by loading the C<keysym-list> perl extension and
1211providing an I<action> with pattern B<list/PREFIX/MIDDLE/SUFFIX>, where
1212the delimiter `/' should be a character not used by the strings.
1213
1214Its usage can be demonstrated by an example:
1215
1216 URxvt.keysym.M-C-0x61: list|\033<|abc|>
1217
1218The above line is equivalent to the following three lines:
1219
1220 URxvt.keysym.Meta-Control-0x61: string:\033<a>
1221 URxvt.keysym.Meta-Control-0x62: string:\033<b>
1222 URxvt.keysym.Meta-Control-0x63: string:\033<c>
1223
1224=item command:STRING
1225
1226If I<action> takes the form of C<command:STRING>, the specified B<STRING>
1227is interpreted and executed as @@RXVT_NAME@@'s control sequence (basically
1228the opposite of C<string:> - instead of sending it to the program running
1229in the terminal, it will be treated as if it were program output). This is
1230most useful to feed command sequences into @@RXVT_NAME@@.
1231
1232For example the following means "change the current locale to C<zh_CN.GBK>
1233when Control-Meta-c is being pressed":
1234
1235 URxvt.keysym.M-C-c: command:\033]701;zh_CN.GBK\007
1236
1237The following example will map Control-Meta-1 and Control-Meta-2 to
1238the fonts C<suxuseuro> and C<9x15bold>, so you can have some limited
1239font-switching at runtime:
1240
1241 URxvt.keysym.M-C-1: command:\033]50;suxuseuro\007
1242 URxvt.keysym.M-C-2: command:\033]50;9x15bold\007
1243
1244Other things are possible, e.g. resizing (see @@RXVT_NAME@@(7) for more
1245info):
1246
1247 URxvt.keysym.M-C-3: command:\033[8;25;80t
1248 URxvt.keysym.M-C-4: command:\033[8;48;110t
1249
1250=item builtin:
1251
1252The builtin action is the action that @@RXVT_NAME@@ would execute if no
1253key binding existed for the key combination. The obvious use is to undo
1254the effect of existing bindings. The not so obvious use is to reinstate
1255bindings when another binding overrides too many modifiers.
1256
1257For example if you overwrite the C<Insert> key you will disable
1258@@RXVT_NAME@@'s C<Shift-Insert> mapping. To re-enable that, you can poke
1259"holes" into the user-defined keymap using the C<builtin:> replacement:
1260
1261 URxvt.keysym.Insert: <my insert key sequence>
1262 URxvt.keysym.S-Insert: builtin:
1263
1264The first line defines a mapping for C<Insert> and I<any> combination
1265of modifiers. The second line re-establishes the default mapping for
1266C<Shift-Insert>.
1267
1268=item builtin-string:
1269
1270This action is mainly useful to restore string mappings for keys that
1271have predefined actions in @@RXVT_NAME@@. The exact semantics are a bit
1272difficult to explain - basically, this action will send the string to the
1273application that would be sent if @@RXVT_NAME@@ wouldn't have a built-in
1274action for it.
1275
1276An example might make it clearer: @@RXVT_NAME@@ normally pastes the
1277selection when you press C<Shift-Insert>. With the following bindings, it
1278would instead emit the (undocumented, but what applications running in the
1279terminal might expect) sequence C<ESC [ 2 $> instead:
1280
1281 URxvt.keysym.S-Insert: builtin-string:
1282 URxvt.keysym.C-S-Insert: builtin:
1283
1284The first line disables the paste functionality for that key
1285combination, and the second reinstates the default behaviour for
1286C<Control-Shift-Insert>, which would otherwise be overridden.
1287
1288Similarly, to let applications gain access to the C<C-M-c> (copy to
1289clipboard) and C<C-M-v> (paste clipboard) key combination, you can do
1290this:
1291
1292 URxvt.keysym.C-M-c: builtin-string:
1293 URxvt.keysym.C-M-v: builtin-string:
1294
1295=item EXTENSION:STRING
1296
1297An action of this form invokes the action B<STRING>, if any, provided
1298by the @@RXVT_NAME@@perl(3) extension B<EXTENSION>. The extension will
1299be loaded automatically if necessary.
1300
1301Not all extensions define actions, but popular extensions that do
1302include the I<selection> and I<matcher> extensions (documented in their
1303own manpages, @@RXVT_NAME@@-selection(1) and @@RXVT_NAME@@-matcher(1),
1304respectively).
1305
1306From the silly examples department, this will rot13-"encrypt"
1307@@RXVT_NAME@@'s selection when Alt-Control-c is pressed on typical PC
1308keyboards:
1309
1310 URxvt.keysym.M-C-c: selection:rot13
1311
1312=item perl:STRING *DEPRECATED*
1313
1314This is a deprecated way of invoking commands provided by perl
1315extensions. It is still supported, but should not be used anymore.
1316
1317=back
1318
1319=item B<perl-ext-common>: I<string>
1320
1321=item B<perl-ext>: I<string>
1322
1323Comma-separated list(s) of perl extension scripts (default: C<default>) to
1324use in this terminal instance; option B<-pe>.
1325
1326Extension names can be prefixed with a C<-> sign to remove them again, in
1327case they had been specified earlier. This can be useful to selectively
1328disable some extensions loaded by default, or specified via the
1329C<perl-ext-common> resource. For example, C<default,-selection> will use
1330all the default extensions except C<selection>.
1331
1332To prohibit autoloading of extensions, you can prefix them with C</>,
1333which will make urxvt refuse to automatically load them (this can be
1334overridden, however, by specifying the extension name again without a
1335prefix, though). This does not prohibit extensions themselves loading
1336other extensions. For example, C<default,/background> will keep the
1337C<background> extension from being loaded when a background OSC sequence
1338is received.
1339
1340The default set includes the C<selection>, C<option-popup>,
1341C<selection-popup>, C<readline>, C<searchable-scrollback> and
1342C<confirm-paste> extensions, as well as any extensions which are mentioned
1343in B<keysym> resources.
1344
1345Any extension such that a corresponding resource is given on the
1346command line is automatically appended to B<perl-ext>.
1347
1348Each extension is looked up in the library directories, loaded if
1349necessary, and bound to the current terminal instance. When the library
1350search path contains multiple extension files of the same name, then the
1351first one found will be used.
1352
1353If both of these resources are the empty string, then the perl interpreter
1354will not be initialized. The rationale for having two options is that
1355B<perl-ext-common> will be used for extensions that should be available to
1356all instances, while B<perl-ext> is used for specific instances.
1357
1358=item B<perl-eval>: I<string>
1359
1360Perl code to be evaluated when all extensions have been registered. See
1361the @@RXVT_NAME@@perl(3) manpage.
1362
1363=item B<perl-lib>: I<path>
1364
1365Colon-separated list of additional directories that hold extension
1366scripts. When looking for perl extensions, @@RXVT_NAME@@ will first look
1367in these directories, then in C<$URXVT_PERL_LIB>, F<$HOME/.urxvt/ext> and
1368lastly in F<@@RXVT_LIBDIR@@/urxvt/perl/>.
1369
1370See the @@RXVT_NAME@@perl(3) manpage.
1371
1372=item B<< selection.pattern-I<idx> >>: I<perl-regex>
1373
1374Additional selection patterns, see the @@RXVT_NAME@@perl(3) manpage for
1375details.
1376
1377=item B<< selection-autotransform.I<idx> >>: I<perl-transform>
1378
1379Selection auto-transform patterns, see the @@RXVT_NAME@@perl(3) manpage
1380for details.
1381
1382=item B<searchable-scrollback:> I<keysym> *DEPRECATED*
1383
1384This resource is deprecated and will be removed. Use a B<keysym> resource
1385instead, e.g.:
1386
1387 URxvt.keysym.M-s: searchable-scrollback:start
1388
1389=item B<url-launcher>: I<string>
1390
1391Specifies the program to be started with a URL argument. Used by the
1392C<selection-popup> and C<matcher> perl extensions.
1393
1394=item B<transient-for>: I<windowid>
1395
1396Compile I<frills>: Sets the WM_TRANSIENT_FOR property to the given window id.
1397
1398=item B<override-redirect>: I<boolean>
1399
1400Compile I<frills>: Sets override-redirect for the terminal window, making
1401it almost invisible to window managers; option B<-override-redirect>.
1402
1403=item B<iso14755:> I<boolean>
1404
1405Turn on/off ISO 14755 (default enabled).
1406
1407=item B<iso14755_52:> I<boolean>
1408
1409Turn on/off ISO 14755 5.2 mode (default enabled).
740 1410
741=back 1411=back
742 1412
743=head1 THE SCROLLBAR 1413=head1 THE SCROLLBAR
744 1414
758the normal text selection/insertion, hold either the Shift or the Meta 1428the normal text selection/insertion, hold either the Shift or the Meta
759(Alt) key while performing the desired mouse action. 1429(Alt) key while performing the desired mouse action.
760 1430
761If mouse reporting mode is active, the normal scrollbar actions are 1431If mouse reporting mode is active, the normal scrollbar actions are
762disabled -- on the assumption that we are using a fullscreen 1432disabled -- on the assumption that we are using a fullscreen
763application. Instead, pressing Button1 and Button3 sends B<ESC[6~> 1433application. Instead, pressing Button1 and Button3 sends B<ESC [ 6 ~>
764(Next) and B<ESC[5~> (Prior), respectively. Similarly, clicking on the 1434(Next) and B<ESC [ 5 ~> (Prior), respectively. Similarly, clicking on the
765up and down arrows sends B<ESC[A> (Up) and B<ESC[B> (Down), 1435up and down arrows sends B<ESC [ A> (Up) and B<ESC [ B> (Down),
766respectively. 1436respectively.
767 1437
768=head1 TEXT SELECTION AND INSERTION 1438=head1 THE SELECTION: SELECTING AND PASTING TEXT
769 1439
770The behaviour of text selection and insertion mechanism is similar to 1440The behaviour of text selection and insertion/pasting mechanism is similar
771I<xterm>(1). 1441to I<xterm>(1).
772 1442
773=over 4 1443=over
774 1444
775=item B<Selection>: 1445=item B<Selecting>:
776 1446
777Left click at the beginning of the region, drag to the end of the 1447Left click at the beginning of the region, drag to the end of the region
778region and release; Right click to extend the marked region; Left 1448and release; Right click to extend the marked region; Left double-click
779double-click to select a word; Left triple-click to select the entire 1449to select a word; Left triple-click to select the entire logical line
780line. 1450(which can span multiple screen lines), unless modified by resource
1451B<tripleclickwords>.
781 1452
1453Starting a selection while pressing the B<Meta> key (or B<Meta+Ctrl> keys)
1454(Compile: I<frills>) will create a rectangular selection instead of a
1455normal one. In this mode, every selected row becomes its own line in the
1456selection, and trailing whitespace is visually underlined and removed from
1457the selection.
1458
782=item B<Insertion>: 1459=item B<Pasting>:
783 1460
784Pressing and releasing the Middle mouse button (or B<Shift-Insert>) in 1461Pressing and releasing the Middle mouse button in an B<@@RXVT_NAME@@>
785an B<@@RXVT_NAME@@> window causes the current text selection to be 1462window causes the value of the PRIMARY selection (or CLIPBOARD with the
786inserted as if it had been typed on the keyboard. 1463B<Meta> modifier) to be inserted as if it had been typed on the keyboard.
1464
1465Pressing B<Shift-Insert> causes the value of the PRIMARY selection to be
1466inserted too.
1467
1468rxvt-unicode also provides the bindings B<Ctrl-Meta-c> and
1469B<Ctrl-Meta-v> to interact with the CLIPBOARD selection. The first
1470binding causes the value of the internal selection to be copied to the
1471CLIPBOARD selection, while the second binding causes the value of the
1472CLIPBOARD selection to be inserted.
787 1473
788=back 1474=back
789 1475
790=head1 CHANGING FONTS 1476=head1 CHANGING FONTS
791 1477
792Changing fonts (or font sizes, respectively) via the keypad is not yet 1478Changing fonts (or font sizes, respectively) via the keypad is not yet
793supported in rxvt-unicode. Bug me if you need this. 1479supported in rxvt-unicode. Bug me if you need this.
794 1480
795You can, however, switch fonts at runtime using escape sequences (and 1481You can, however, switch fonts at runtime using escape sequences, e.g.:
796therefore using the menubar), e.g.:
797 1482
798 printf '\e]701;%s\007' "9x15bold,xft:Kochi Gothic" 1483 printf '\e]710;%s\007' "9x15bold,xft:Kochi Gothic"
1484
1485You can use keyboard shortcuts, too:
1486
1487 URxvt.keysym.M-C-1: command:\033]710;suxuseuro\007\033]711;suxuseuro\007
1488 URxvt.keysym.M-C-2: command:\033]710;9x15bold\007\033]711;9x15bold\007
799 1489
800rxvt-unicode will automatically re-apply these fonts to the output so far. 1490rxvt-unicode will automatically re-apply these fonts to the output so far.
801 1491
802=head1 ISO 14755 SUPPORT 1492=head1 ISO 14755 SUPPORT
803 1493
804ISO 14755 is a standard for entering and viewing unicode characters 1494ISO 14755 is a standard for entering and viewing unicode characters
805and character codes using the keyboard. It consists of 4 parts. The 1495and character codes using the keyboard. It consists of 4 parts. The
806first part is available rxvt-unicode has been compiled with 1496first part is available if rxvt-unicode has been compiled with
807C<--enable-frills>, the rest is available when rxvt-unicode was compiled 1497C<--enable-frills>, the rest is available when rxvt-unicode was compiled
808with C<--enable-iso14755>. 1498with C<--enable-iso14755>.
809 1499
810=over 4 1500=over
811 1501
812=item 5.1: Basic method 1502=item * 5.1: Basic method
813 1503
814This allows you to enter unicode characters using their hexcode. 1504This allows you to enter unicode characters using their hexcode.
815 1505
816Start by pressing and holding both C<Control> and C<Shift>, then enter 1506Start by pressing and holding both C<Control> and C<Shift>, then enter
817hex-digits (between one and six). Releasing C<Control> and C<Shift> will 1507hex-digits (between one and six). Releasing C<Control> and C<Shift> will
824address, which you cannot type. Fortunately, the card has the e-mail 1514address, which you cannot type. Fortunately, the card has the e-mail
825address printed as hexcodes, e.g. C<671d 65e5>. You can enter this easily 1515address printed as hexcodes, e.g. C<671d 65e5>. You can enter this easily
826by pressing C<Control> and C<Shift>, followed by C<6-7-1-D-SPACE-6-5-E-5>, 1516by pressing C<Control> and C<Shift>, followed by C<6-7-1-D-SPACE-6-5-E-5>,
827followed by releasing the modifier keys. 1517followed by releasing the modifier keys.
828 1518
829=item 5.2: Keyboard symbols entry method 1519=item * 5.2: Keyboard symbols entry method
830 1520
831This mode lets you input characters representing the keycap symbols of 1521This mode lets you input characters representing the keycap symbols of
832your keyboard, if representable in the current locale encoding. 1522your keyboard, if representable in the current locale encoding.
833 1523
834Start by pressing C<Control> and C<Shift> together, then releasing 1524Start by pressing C<Control> and C<Shift> together, then releasing
835them. The next special key (cursor keys, home etc.) you enter will not 1525them. The next special key (cursor keys, home etc.) you enter will not
836invoke it's usual function but instead will insert the corresponding 1526invoke its usual function but instead will insert the corresponding
837keycap symbol. The symbol will only be entered when the key has been 1527keycap symbol. The symbol will only be entered when the key has been
838released, otherwise pressing e.g. C<Shift> would enter the symbol for 1528released, otherwise pressing e.g. C<Shift> would enter the symbol for
839C<ISO Level 2 Switch>, although your intention might have beenm to enter a 1529C<ISO Level 2 Switch>, although your intention might have been to enter a
840reverse tab (Shift-Tab). 1530reverse tab (Shift-Tab).
841 1531
842=item 5.3: Screen-selection entry method 1532=item * 5.3: Screen-selection entry method
843 1533
844While this is implemented already (it's basically the selection 1534While this is implemented already (it's basically the selection
845mechanism), it could be extended by displaying a unicode character map. 1535mechanism), it could be extended by displaying a unicode character map.
846 1536
847=item 5.4: Feedback method for identifying displayed characters for later input 1537=item * 5.4: Feedback method for identifying displayed characters for later input
848 1538
849This method lets you display the unicode character code associated with 1539This method lets you display the unicode character code associated with
850characters already displayed. 1540characters already displayed.
851 1541
852You enter this mode by holding down C<Control> and C<Shift> together, then 1542You enter this mode by holding down C<Control> and C<Shift> together, then
853pressing and holding the left mouse button and moving around. The unicode 1543pressing and holding the left mouse button and moving around. The unicode
854hex code(s) (it might be a combining character) of the character under the 1544hex code(s) (it might be a combining character) of the character under the
855pointer is displayed until you release C<Control> and C<Shift>. 1545pointer is displayed until you release C<Control> and C<Shift>.
856 1546
1547In addition to the hex codes it will display the font used to draw this
1548character - due to implementation reasons, characters combined with
1549combining characters, line drawing characters and unknown characters will
1550always be drawn using the built-in support font.
1551
857=back 1552=back
858 1553
859With respect to conformance, rxvt-unicode is supposed to be compliant to 1554With respect to conformance, rxvt-unicode is supposed to be compliant to
860both scenario A and B of ISO 14755, including part 5.2. 1555both scenario A and B of ISO 14755, including part 5.2.
861 1556
862=head1 LOGIN STAMP 1557=head1 LOGIN STAMP
863 1558
864B<@@RXVT_NAME@@> tries to write an entry into the I<utmp>(5) file so 1559B<@@RXVT_NAME@@> tries to write an entry into the I<utmp>(5) file so that
865that it can be seen via the I<who(1)> command, and can accept messages. 1560it can be seen via the I<who(1)> command, and can accept messages. To
866To allow this feature, B<@@RXVT_NAME@@> must be installed setuid root on 1561allow this feature, B<@@RXVT_NAME@@> may need to be installed setuid root
867some systems. 1562on some systems or setgid to root or to some other group on others.
868 1563
869=head1 COLORS AND GRAPHICS 1564=head1 COLOURS AND GRAPHICS
870 1565
871In addition to the default foreground and background colours, 1566In addition to the default foreground and background colours,
872B<@@RXVT_NAME@@> can display up to 16 colours (8 ANSI colours plus 1567B<@@RXVT_NAME@@> can display up to 88/256 colours: 8 ANSI colours plus
873high-intensity bold/blink versions of the same). Here is a list of the 1568high-intensity (potentially bold/blink) versions of the same, and 72 (or
874colours with their B<rgb.txt> names. 1569240 in 256 colour mode) colours arranged in an 4x4x4 (or 6x6x6) colour RGB
1570cube plus a 8 (24) colour greyscale ramp.
1571
1572B<@@RXVT_NAME@@> supports direct 24-bit fg/bg RGB colour escapes
1573C< ESC [ 38 ; 2 ; R ; G ; Bm > / C< ESC [ 48 ; 2; R ; G ; Bm >. However the
1574number of 24-bit colours that can be used is limited: an internal 7x7x5 (256
1575colour mode) or 6x6x4 (88 colour mode) colour cube is used to index into the
157624-bit colour space. When indexing collisions happen, the nearest old colour in
1577the cube will be adapted to the new 24-bit RGB colour. That means one cannot
1578use many similar 24-bit colours. It's typically not a problem in common
1579scenarios.
1580
1581Here is a list of the ANSI colours with their names.
875 1582
876=begin table 1583=begin table
877 1584
878 B<color0> (black) = Black 1585 B<color0> (black) = Black
879 B<color1> (red) = Red3 1586 B<color1> (red) = Red3
899It is also possible to specify the colour values of B<foreground>, 1606It is also possible to specify the colour values of B<foreground>,
900B<background>, B<cursorColor>, B<cursorColor2>, B<colorBD>, B<colorUL> as 1607B<background>, B<cursorColor>, B<cursorColor2>, B<colorBD>, B<colorUL> as
901a number 0-15, as a convenient shorthand to reference the colour name of 1608a number 0-15, as a convenient shorthand to reference the colour name of
902color0-color15. 1609color0-color15.
903 1610
1611The following text gives values for the standard 88 colour mode (and
1612values for the 256 colour mode in parentheses).
1613
1614The RGB cube uses indices 16..79 (16..231) using the following formulas:
1615
1616 index_88 = (r * 4 + g) * 4 + b + 16 # r, g, b = 0..3
1617 index_256 = (r * 6 + g) * 6 + b + 16 # r, g, b = 0..5
1618
1619The grayscale ramp uses indices 80..87 (232..239), from 10% to 90% in 10%
1620steps (1/26 to 25/26 in 1/26 steps) - black and white are already part of
1621the RGB cube.
1622
1623Together, all those colours implement the 88 (256) colour xterm
1624colours. Only the first 16 can be changed using resources currently, the
1625rest can only be changed via command sequences ("escape codes").
1626
1627Applications are advised to use terminfo or command sequences to discover
1628number and RGB values of all colours (yes, you can query this...).
1629
904Note that B<-rv> (B<"reverseVideo: True">) simulates reverse video by 1630Note that B<-rv> (B<"reverseVideo: True">) simulates reverse video by
905always swapping the foreground/background colours. This is in contrast to 1631always swapping the foreground/background colours. This is in contrast to
906I<xterm>(1) where the colours are only swapped if they have not otherwise 1632I<xterm>(1) where the colours are only swapped if they have not otherwise
907been specified. For example, 1633been specified. For example,
908 1634
909=over 4
910
911=item B<@@RXVT_NAME@@ -fg Black -bg White -rv> 1635 @@RXVT_NAME@@ -fg Black -bg White -rv
912 1636
913would yield White on Black, while on I<xterm>(1) it would yield Black 1637would yield White on Black, while on I<xterm>(1) it would yield Black on
914on White. 1638White.
1639
1640=head2 ALPHA CHANNEL SUPPORT
1641
1642If Xft support has been compiled in and as long as Xft/Xrender/X don't get
1643their act together, rxvt-unicode will do its own alpha channel management:
1644
1645You can prefix any colour with an opaqueness percentage enclosed in
1646brackets, i.e. C<[percent]>, where C<percent> is a decimal percentage
1647(0-100) that specifies the opacity of the colour, where C<0> is completely
1648transparent and C<100> is completely opaque. For example, C<[50]red> is a
1649half-transparent red, while C<[95]#00ff00> is an almost opaque green. This
1650is the recommended format to specify transparency values, and works with
1651all ways to specify a colour.
1652
1653For complete control, rxvt-unicode also supports
1654C<rgba:rrrr/gggg/bbbb/aaaa> (exactly four hex digits/component) colour
1655specifications, where the additional C<aaaa> component specifies opacity
1656(alpha) values. The minimum value of C<0000> is completely transparent,
1657while C<ffff> is completely opaque). The two example colours from
1658earlier could also be specified as C<rgba:ff00/0000/0000/8000> and
1659C<rgba:0000/ff00/0000/f332>.
1660
1661You probably need to specify B<"-depth 32">, too, to force a visual with
1662alpha channels, and have the luck that your X-server uses ARGB pixel
1663layout, as X is far from just supporting ARGB visuals out of the box, and
1664rxvt-unicode just fudges around.
1665
1666For example, the following selects an almost completely transparent black
1667background, and an almost opaque pink foreground:
1668
1669 @@RXVT_NAME@@ -depth 32 -bg rgba:0000/0000/0000/4444 -fg "[80]pink"
1670
1671When not using a background image, then the interpretation of the
1672alpha channel is up to your compositing manager (most interpret it as
1673transparency of course).
1674
1675When using a background pixmap or pseudo-transparency, then the background
1676colour will always behave as if it were completely transparent (so the
1677background image shows instead), regardless of how it was specified, while
1678other colours will either be transparent as specified (the background
1679image will show through) on servers supporting the RENDER extension, or
1680fully opaque on servers not supporting the RENDER EXTENSION.
1681
1682Please note that due to bugs in Xft, specifying alpha values might result
1683in garbage being displayed when the X-server does not support the RENDER
1684extension.
1685
1686=head1 ENVIRONMENT
1687
1688B<@@RXVT_NAME@@> sets and/or uses the following environment variables:
1689
1690=over
1691
1692=item B<TERM>
1693
1694Normally set to C<rxvt-unicode>, unless overwritten at configure time, via
1695resources or on the command line.
1696
1697=item B<COLORTERM>
1698
1699Either C<rxvt>, C<rxvt-xpm>, depending on whether @@RXVT_NAME@@ was
1700compiled with background image support, and optionally with the added
1701extension C<-mono> to indicate that rxvt-unicode runs on a monochrome
1702screen.
1703
1704=item B<COLORFGBG>
1705
1706Set to a string of the form C<fg;bg> or C<fg;xpm;bg>, where C<fg> is
1707the colour code used as default foreground/text colour (or the string
1708C<default> to indicate that the default-colour escape sequence is to be
1709used), C<bg> is the colour code used as default background colour (or the
1710string C<default>), and C<xpm> is the string C<default> if @@RXVT_NAME@@
1711was compiled with background image support. Libraries like C<ncurses>
1712and C<slang> can (and do) use this information to optimize screen output.
1713
1714=item B<WINDOWID>
1715
1716Set to the (decimal) X Window ID of the @@RXVT_NAME@@ window (the toplevel
1717window, which usually has subwindows for the scrollbar, the terminal
1718window and so on).
1719
1720=item B<TERMINFO>
1721
1722Set to the terminfo directory iff @@RXVT_NAME@@ was configured with
1723C<--with-terminfo=PATH>.
1724
1725=item B<DISPLAY>
1726
1727Used by @@RXVT_NAME@@ to connect to the display and set to the correct
1728display in its child processes if C<-display> isn't used to override. It
1729defaults to C<:0> if it doesn't exist.
1730
1731=item B<SHELL>
1732
1733The shell to be used for command execution, defaults to C</bin/sh>.
1734
1735=item B<RXVT_SOCKET> [I<sic>]
1736
1737The unix domain socket path used by @@RXVT_NAME@@c(1) and
1738@@RXVT_NAME@@d(1).
1739
1740Default F<<< $HOME/.urxvt/urxvtd-I<< <nodename> >> >>>.
1741
1742=item B<URXVT_PERL_LIB>
1743
1744Additional F<:>-separated library search path for perl extensions. Will be
1745searched after B<-perl-lib> but before F<~/.urxvt/ext> and the system library
1746directory.
1747
1748=item B<URXVT_PERL_VERBOSITY>
1749
1750See L<@@RXVT_NAME@@perl>(3).
1751
1752=item B<HOME>
1753
1754Used to locate the default directory for the unix domain socket for
1755daemon communications and to locate various resource files (such as
1756C<.Xdefaults>)
1757
1758=item B<XAPPLRESDIR>
1759
1760Directory where application-specific X resource files are located.
1761
1762=item B<XENVIRONMENT>
1763
1764If set and accessible, gives the name of a X resource file to be loaded by
1765@@RXVT_NAME@@.
915 1766
916=back 1767=back
917 1768
918=head1 FREQUENTLY ASKED QUESTIONS (FAQ) 1769=head1 FILES
919 1770
920=over 4 1771=over
921 1772
922=item How do I know which rxvt-unicode version I'm using? 1773=item B</usr/lib/X11/rgb.txt>
923 1774
924The version number is displayed with the usage (-h). For rxvt-unicode 1775Colour names.
925version 2.14 and later, the escape sequence C<ESC[8n> sets the window
926title to the version number.
927
928=item Rxvt-unicode does not seem to understand the selected encoding?
929
930=item Unicode does not seem to work?
931
932If you encounter strange problems like typing an accented character but
933getting two unrelated other characters or similar, or if program output is
934subtly garbled, then you should check your locale settings.
935
936Rxvt-unicode must be started with the same C<LC_CTYPE> setting as the
937programs. Often rxvt-unicode is started in the C<C> locale, while the
938login script running within the rxvt-unicode window changes the locale to
939sth. else, e.h. C<en_GB.UTF-8>. Needless to say, this is not going to work.
940
941The best thing is to fix your startup environment, as you will likely run
942into other problems. If nothing works you can try this in your .profile.
943
944 printf '\e]701;%s\007' "$LC_CTYPE"
945
946If this doesn't work, then maybe you use a C<LC_CTYPE> specification not
947supported on your systems. Some systems have a C<locale> comamnd which
948displays this. If it displays sth. like:
949
950 locale: Cannot set LC_CTYPE to default locale: ...
951
952Then the locale you specified is not supported on your system.
953
954If nothing works and you are sure that everything is set correctly then
955you will need to remember a little known fact: Some programs just don't
956support locales :(
957
958=item Why do the characters look ugly?
959
960=item How does rxvt-unicode choose fonts?
961
962Most fonts do not contain the full range of Unicode, which is
963fine. Chances are that the font you (or the admin/package maintainer of
964your system/os) have specified does not cover all the characters you want
965to display.
966
967B<rxvt-unicode> makes a best-effort try at finding a replacement
968font. Often the result is fine, but sometimes the chosen font looks
969bad. In that case, select a font of your taste and add it to the font
970list, e.g.:
971
972 @@RXVT_NAME@@ -fn basefont,font2,font3...
973
974When rxvt-unicode sees a character, it will first look at the base
975font. If the base font does not contain the character, it will go to the
976next font, and so on.
977
978The only limitation is that all the fonts must not be larger than the base
979font, as the base font defines the principial cell size, which must be the
980same due to the way terminals work.
981
982=item Why do some chinese characters look so different than others?
983
984This is because there is a difference between script and language --
985rxvt-unicode does not know which language the text that is output
986is, as it only knows the unicode character codes. If rxvt-unicode
987first sees a japanese character, it might choose a japanese font for
988it. Subseqzuent japanese characters will take that font. Now, many chinese
989characters aren't represented in japanese fonts, so when the first
990non-japanese character comes up, rxvt-unicode will look for a chinese font
991-- unfortunately at this point, it will still use the japanese font for
992japanese characters that are also chinese.
993
994The workaround is easy: just tag a chinese font at the end of your font
995list (see the previous question). The key is to view the font list as
996a preference list: If you expect more japanese, list a japanese font
997first. If you expect more chinese, put a chinese font first.
998
999In the future it might be possible to switch preferences at runtime (the
1000internal data structure has no problem with using different fonts for
1001the same character at the same time, but no interface for this has been
1002designed yet).
1003
1004=item How does rxvt-unicode determine the encoding to use?
1005
1006=item Is there an option to switch encodings?
1007
1008Unlike some other terminals, rxvt-unicode has no encoding switch, and no
1009specific "utf-8" mode, such as xterm. In fact, it doesn't even know about
1010UTF-8 or any other encodings with respect to terminal I/O.
1011
1012The reasons is that there exists a perfectly fine mechanism for selecting
1013the encoding, doing I/O and (most important) communicating this to all
1014applications so everybody agrees on character properties such as width and
1015code number. This mechanism is the I<locale>.
1016
1017Rxvt-unicode uses the C<LC_CTYPE> locale category to select encoding. All
1018programs doing the same (that is, most) will automatically agree in the
1019interpretation of characters.
1020
1021Unfortunately, there is no system-independent way to select locales, nor
1022is there a standard on how locale specifiers will look like.
1023
1024On most systems, the content of the C<LC_CTYPE> environment variable
1025contains an arbitrary string which corresponds to an already-installed
1026locale. Common names for locales are C<en_US.UTF-8>, C<de_DE.ISO-8859-15>,
1027C<ja_JP.EUC-JP>, i.e. C<language_country.encoding>, but other forms
1028(i.e. C<de> or C<german>) are also common.
1029
1030Rxvt-unicode ignores all other locale categories, and except for
1031the encoding, ignores country or language-specific settings,
1032i.e. C<de_DE.UTF-8> and C<ja_JP.UTF-8> are the same for rxvt-unicode.
1033
1034If you want to use a specific encoding you have to make sure you start
1035rxvt-unicode with the correct C<LC_CTYPE> category.
1036
1037=item Can I switch locales at runtime?
1038
1039Yes, using an escape sequence. Try sth. like this, which sets
1040rxvt-unicode's idea of C<LC_CTYPE>.
1041
1042 printf '\e]701;%s\007' ja_JP.SJIS
1043
1044See also the previous question.
1045
1046Sometimes this capability is rather handy when you want to work in one
1047locale (e.g. C<de_DE.UTF-8>) but some programs don't support UTF-8. For
1048example, I use this script to start C<xjdic>, which first switches to a
1049locale supported by xjdic and back later:
1050
1051 printf '\e]701;%s\007' ja_JP.SJIS
1052 xjdic -js
1053 printf '\e]701;%s\007' de_DE.UTF-8
1054
1055=item Can I switch the fonts at runtime?
1056
1057Yes, using an escape sequence. Try sth. like this, which has the same
1058effect as using the C<-fn> switch, and takes effect immediately:
1059
1060 printf '\e]50;%s\007' "9x15bold,xft:Kochi Gothic"
1061
1062This is useful if you e.g. work primarily with japanese (and prefer a
1063japanese font), but you have to switch to chinese temporarily, where
1064japanese fonts would only be in your way.
1065
1066You can think of this as a kind of manual ISO-2022 switching.
1067
1068=item Mouse cut/paste suddenly no longer works.
1069
1070Make sure that mouse reporting is actually turned off since killing
1071some editors prematurely may leave the mouse in mouse report mode. I've
1072heard that tcsh may use mouse reporting unless it otherwise specified. A
1073quick check is to see if cut/paste works when the Alt or Shift keys are
1074depressed. See @@RXVT_NAME@@(7)
1075
1076=item What's with this bold/blink stuff?
1077
1078If no bold colour is set via C<colorBD:>, bold will invert text using the
1079standard foreground colour.
1080
1081For the standard background colour, blinking will actually make the
1082text blink when compiled with C<--enable-blinking>. with standard
1083colours. Without C<--enable-blinking>, the blink attribute will be
1084ignored.
1085
1086On ANSI colours, bold/blink attributes are used to set high-intensity
1087foreground/background colors.
1088
1089color0-7 are the low-intensity colors.
1090
1091color8-15 are the corresponding high-intensity colors.
1092
1093=item I don't like the screen colors. How do I change them?
1094
1095You can change the screen colors at run-time using F<~/.Xdefaults>
1096resources (or as long-options).
1097
1098Here are values that are supposed to resemble a VGA screen,
1099including the murky brown that passes for low-intensity yellow:
1100
1101 Rxvt*color0: #000000
1102 Rxvt*color1: #A80000
1103 Rxvt*color2: #00A800
1104 Rxvt*color3: #A8A800
1105 Rxvt*color4: #0000A8
1106 Rxvt*color5: #A800A8
1107 Rxvt*color6: #00A8A8
1108 Rxvt*color7: #A8A8A8
1109
1110 Rxvt*color8: #000054
1111 Rxvt*color9: #FF0054
1112 Rxvt*color10: #00FF54
1113 Rxvt*color11: #FFFF54
1114 Rxvt*color12: #0000FF
1115 Rxvt*color13: #FF00FF
1116 Rxvt*color14: #00FFFF
1117 Rxvt*color15: #FFFFFF
1118
1119=item What's with the strange Backspace/Delete key behaviour?
1120
1121Assuming that the physical Backspace key corresponds to the
1122BackSpace keysym (not likely for Linux ... see the following
1123question) there are two standard values that can be used for
1124Backspace: C<^H> and C<^?>.
1125
1126Historically, either value is correct, but rxvt-unicode adopts the debian
1127policy of using C<^?> when unsure, because it's the one only only correct
1128choice :).
1129
1130Rxvt-unicode tries to inherit the current stty settings and uses the value
1131of `erase' to guess the value for backspace. If rxvt-unicode wasn't
1132started from a terminal (say, from a menu or by remote shell), then the
1133system value of `erase', which corresponds to CERASE in <termios.h>, will
1134be used (which may not be the same as your stty setting).
1135
1136For starting a new rxvt-unicode:
1137
1138 # use Backspace = ^H
1139 $ stty erase ^H
1140 $ @@RXVT_NAME@@
1141
1142 # use Backspace = ^?
1143 $ stty erase ^?
1144 $ @@RXVT_NAME@@
1145
1146Toggle with "ESC[36h" / "ESC[36l" as documented in @@RXVT_NAME@@(7).
1147
1148For an existing rxvt-unicode:
1149
1150 # use Backspace = ^H
1151 $ stty erase ^H
1152 $ echo -n "^[[36h"
1153
1154 # use Backspace = ^?
1155 $ stty erase ^?
1156 $ echo -n "^[[36l"
1157
1158This helps satisfy some of the Backspace discrepancies that occur, but
1159if you use Backspace = C<^H>, make sure that the termcap/terminfo value
1160properly reflects that.
1161
1162The Delete key is a another casualty of the ill-defined Backspace problem.
1163To avoid confusion between the Backspace and Delete keys, the Delete
1164key has been assigned an escape sequence to match the vt100 for Execute
1165(ESC[3~) and is in the supplied termcap/terminfo.
1166
1167Some other Backspace problems:
1168
1169some editors use termcap/terminfo,
1170some editors (vim I'm told) expect Backspace = ^H,
1171GNU Emacs (and Emacs-like editors) use ^H for help.
1172
1173Perhaps someday this will all be resolved in a consistent manner.
1174
1175=item I don't like the key-bindings. How do I change them?
1176
1177There are some compile-time selections available via configure. Unless
1178you have run "configure" with the C<--disable-resources> option you can
1179use the `keysym' resource to alter the keystrings associated with keysym
11800xFF00 - 0xFFFF (function, cursor keys, etc).
1181
1182Here's an example for a tn3270 session started using `@@RXVT_NAME@@ -name tn3270'
1183
1184 !# ----- special uses ------:
1185 ! tn3270 login, remap function and arrow keys.
1186 tn3270*font: *clean-bold-*-*--15-*
1187
1188 ! keysym - used by rxvt only
1189 ! Delete - ^D
1190 tn3270*keysym.0xFFFF: \004
1191
1192 ! Home - ^A
1193 tn3270*keysym.0xFF50: \001
1194 ! Left - ^B
1195 tn3270*keysym.0xFF51: \002
1196 ! Up - ^P
1197 tn3270*keysym.0xFF52: \020
1198 ! Right - ^F
1199 tn3270*keysym.0xFF53: \006
1200 ! Down - ^N
1201 tn3270*keysym.0xFF54: \016
1202 ! End - ^E
1203 tn3270*keysym.0xFF57: \005
1204
1205 ! F1 - F12
1206 tn3270*keysym.0xFFBE: \e1
1207 tn3270*keysym.0xFFBF: \e2
1208 tn3270*keysym.0xFFC0: \e3
1209 tn3270*keysym.0xFFC1: \e4
1210 tn3270*keysym.0xFFC2: \e5
1211 tn3270*keysym.0xFFC3: \e6
1212 tn3270*keysym.0xFFC4: \e7
1213 tn3270*keysym.0xFFC5: \e8
1214 tn3270*keysym.0xFFC6: \e9
1215 tn3270*keysym.0xFFC7: \e0
1216 tn3270*keysym.0xFFC8: \e-
1217 tn3270*keysym.0xFFC9: \e=
1218
1219 ! map Prior/Next to F7/F8
1220 tn3270*keysym.0xFF55: \e7
1221 tn3270*keysym.0xFF56: \e8
1222
1223=item I'm using keyboard model XXX that has extra Prior/Next/Insert keys.
1224How do I make use of them? For example, the Sun Keyboard type 4
1225has the following mappings that rxvt-unicode doesn't recognize.
1226
1227 KP_Insert == Insert
1228 F22 == Print
1229 F27 == Home
1230 F29 == Prior
1231 F33 == End
1232 F35 == Next
1233
1234Rather than have rxvt-unicode try to accomodate all the various possible keyboard
1235mappings, it is better to use `xmodmap' to remap the keys as required for
1236your particular machine.
1237
1238=item How do I distinguish if I'm running rxvt-unicode or a regular xterm?
1239I need this to decide about setting colors etc.
1240
1241rxvt and rxvt-unicode always export the variable "COLORTERM", so you can
1242check and see if that is set. Note that several programs, JED, slrn,
1243Midnight Commander automatically check this variable to decide whether or
1244not to use color.
1245
1246=item How do I set the correct, full IP address for the DISPLAY variable?
1247
1248If you've compiled rxvt-unicode with DISPLAY_IS_IP and ahve enabled
1249insecure mode then it is possible to use the following shell script
1250snippets to correctly set the display. If your version of rxvt-unicode
1251wasn't also compiled with ESCZ_ANSWER (as assumed in these snippets) then
1252the COLORTERM variable can be used to distinguish rxvt-unicode from a
1253regular xterm.
1254
1255Courtesy of Chuck Blake <cblake@BBN.COM> with the following shell script
1256snippets:
1257
1258 # Bourne/Korn/POSIX family of shells:
1259 [ ${TERM:-foo} = foo ] && TERM=xterm # assume an xterm if we don't know
1260 if [ ${TERM:-foo} = xterm ]; then
1261 stty -icanon -echo min 0 time 15 # see if enhanced rxvt or not
1262 echo -n '^[Z'
1263 read term_id
1264 stty icanon echo
1265 if [ ""${term_id} = '^[[?1;2C' -a ${DISPLAY:-foo} = foo ]; then
1266 echo -n '^[[7n' # query the rxvt we are in for the DISPLAY string
1267 read DISPLAY # set it in our local shell
1268 fi
1269 fi
1270
1271=item How do I compile the manual pages for myself?
1272
1273You need to have a recent version of perl installed as F</usr/bin/perl>,
1274one that comes with F<pod2man>, F<pod2text> and F<pod2html>. Then go to
1275the doc subdirectory and enter C<make alldoc>.
1276 1776
1277=back 1777=back
1278 1778
1279=head1 ENVIRONMENT 1779=head1 SEE ALSO
1280 1780
1281B<@@RXVT_NAME@@> sets the environment variables B<TERM>, B<COLORTERM> 1781@@RXVT_NAME@@(7), @@RXVT_NAME@@c(1), @@RXVT_NAME@@d(1), @@RXVT_NAME@@-extensions(1),
1282and B<COLORFGBG>. The environment variable B<WINDOWID> is set to the X 1782@@RXVT_NAME@@perl(3), xterm(1), sh(1), resize(1), X(1), pty(4), tty(4), utmp(5)
1283window id number of the B<@@RXVT_NAME@@> window and it also uses and
1284sets the environment variable B<DISPLAY> to specify which display
1285terminal to use. B<@@RXVT_NAME@@> uses the environment variables
1286B<RXVTPATH> and B<PATH> to find XPM files.
1287 1783
1288=head1 FILES 1784=head1 CURRENT PROJECT COORDINATOR
1289 1785
1290=over 4 1786=over
1291 1787
1292=item B</etc/utmp> 1788=item Project Coordinator
1293 1789
1294System file for login records. 1790Marc A. Lehmann <rxvt-unicode@schmorp.de>.
1295 1791
1296=item B</usr/lib/X11/rgb.txt> 1792L<http://software.schmorp.de/pkg/rxvt-unicode.html>
1297
1298Color names.
1299 1793
1300=back 1794=back
1301 1795
1302=head1 SEE ALSO 1796=head1 AUTHORS
1303 1797
1304@@RXVT_NAME@@(7), xterm(1), sh(1), resize(1), X(1), pty(4), tty(4), utmp(5)
1305
1306=head1 BUGS
1307
1308Check the BUGS file for an up-to-date list.
1309
1310Cursor change support is not yet implemented.
1311
1312Click-and-drag doesn't work with X11 mouse report overriding.
1313
1314=head1 CURRENT PROJECT COORDINATOR
1315
1316=over 4 1798=over
1317 1799
1318=item Project Coordinator 1800=item John Bovey
1319 1801
1320@@RXVT_MAINT@@ L<@@RXVT_MAINTEMAIL@@> 1802University of Kent, 1992, wrote the original Xvt.
1321 1803
1322=item Web page maintainter 1804=item Rob Nation <nation@rocket.sanders.lockheed.com>
1323 1805
1324@@RXVT_WEBMAINT@@ L<@@RXVT_WEBMAINTEMAIL@@> 1806very heavily modified Xvt and came up with Rxvt
1325 1807
1326L<@@RXVT_WEBPAGE@@> 1808=item Angelo Haritsis <ah@doc.ic.ac.uk>
1809
1810wrote the Greek Keyboard Input (no longer in code)
1811
1812=item mj olesen <olesen@me.QueensU.CA>
1813
1814Wrote the menu system.
1815
1816Project Coordinator (changes.txt 2.11 to 2.21)
1817
1818=item Oezguer Kesim <kesim@math.fu-berlin.de>
1819
1820Project Coordinator (changes.txt 2.21a to 2.4.5)
1821
1822=item Geoff Wing <gcw@pobox.com>
1823
1824Rewrote screen display and text selection routines.
1825
1826Project Coordinator (changes.txt 2.4.6 - rxvt-unicode)
1827
1828=item Marc Alexander Lehmann <rxvt-unicode@schmorp.de>
1829
1830Forked rxvt-unicode, unicode support, rewrote almost all the code, perl
1831extension, random hacks, numerous bugfixes and extensions.
1832
1833Project Coordinator (Changes 1.0 -)
1834
1835=item Emanuele Giaquinta <emanuele.giaquinta@gmail.com>
1836
1837pty/utmp code rewrite, image code improvements, many random hacks and bugfixes.
1327 1838
1328=back 1839=back
1329 1840
1330=head1 AUTHORS
1331
1332=over 4
1333
1334=item John Bovey
1335
1336University of Kent, 1992, wrote the original Xvt.
1337
1338=item Rob Nation L<< <nation@rocket.sanders.lockheed.com> >>
1339
1340very heavily modified Xvt and came up with Rxvt
1341
1342=item Angelo Haritsis L<< <ah@doc.ic.ac.uk> >>
1343
1344wrote the Greek Keyboard Input (no longer in code)
1345
1346=item mj olesen L<< <olesen@me.QueensU.CA> >>
1347
1348Wrote the menu system.
1349
1350Project Coordinator (changes.txt 2.11 to 2.21)
1351
1352=item Oezguer Kesim L<< <kesim@math.fu-berlin.de> >>
1353
1354Project Coordinator (changes.txt 2.21a to 2.4.5)
1355
1356=item Geoff Wing L<< <gcw@pobox.com> >>
1357
1358Rewrote screen display and text selection routines. Project Coordinator
1359(changes.txt 2.4.6 - rxvt-unicode)
1360
1361=item Marc Alexander Lehmann L<< <rxvt@schmorp.de> >>
1362
1363Forked rxvt-unicode, rewrote most of the display code and internal
1364character handling to store text in unicode, improve xterm
1365compatibility and apply numerous other bugfixes and extensions.
1366
1367Project Coordinator (Changes 1.0 -)
1368
1369=back
1370

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines