157
157
like mongolian or scripts requiring extremely complex combining rules,
158
158
like tibetan or devenagari. Don't expect pretty output when using these
159
159
scripts. Most other scripts, latin, cyrillic, kanji, thai etc. should work
160
fine, though. A somewhat difficult case are left-to-right scripts, such
160
fine, though. A somewhat difficult case are right-to-left scripts, such
161
161
as hebrew: \fBrxvt-unicode\fR adopts the view that bidirectional algorithms
162
162
belong into the application, not the terminal emulator (too many things \*(--
163
163
such as cursor-movement while editing \*(-- break otherwise), but that might
166
166
If you are looking for a terminal that supports more exotic scripts, let
167
me recommend \f(CW\*(C`mlterm\*(C'\fR, which is a very userfriendly, lean and clean
167
me recommend \f(CW\*(C`mlterm\*(C'\fR, which is a very user friendly, lean and clean
168
168
terminal emulator. In fact, the reason rxvt-unicode was born was solely
169
169
because the author couldn't get \f(CW\*(C`mlterm\*(C'\fR to use one font for latin1 and
170
170
another for japanese.
172
172
Therefore another design rationale was the use of multiple fonts to
173
173
display characters: The idea of a single unicode font which many other
174
programs force onto it's users never made sense to me: You should be able
174
programs force onto its users never made sense to me: You should be able
175
175
to choose any font for any script freely.
177
177
Apart from that, rxvt-unicode is also much better internationalised than
178
it's predecessor, supports things such as \s-1XFT\s0 and \s-1ISO\s0 14755 that are handy
179
in i18n\-environments, is faster, and has a lot less bugs than the original
178
its predecessor, supports things such as \s-1XFT\s0 and \s-1ISO\s0 14755 that are handy
179
in i18n\-environments, is faster, and has a lot bugs less than the original
180
180
rxvt. This all in addition to dozens of other small improvements.
182
182
It is still faithfully following the original rxvt idea of being lean
183
183
and nice on resources: for example, you can still configure rxvt-unicode
184
without most of it's features to get a lean binary. It also comes with
184
without most of its features to get a lean binary. It also comes with
185
185
a client/daemon pair that lets you open any number of terminal windows
186
186
from within a single process, which makes startup time very fast and
187
187
drastically reduces memory usage. See @@RXVT_NAME@@d(1) (daemon) and
188
188
@@RXVT_NAME@@c(1) (client).
190
190
It also makes technical information about escape sequences (which have
191
been extended) easier accessible: see @@RXVT_NAME@@(7) for technical
191
been extended) more accessible: see @@RXVT_NAME@@(7) for technical
192
192
reference documentation (escape sequences etc.).
194
194
.IX Header "OPTIONS"
294
295
smaller, but not (in general) larger. A (hopefully) reasonable default
295
296
font list is always appended to it. See resource \fBfont\fR for more details.
297
In short, to specify an X11 core font, just specify it's name or prefix it
298
In short, to specify an X11 core font, just specify its name or prefix it
298
299
with \f(CW\*(C`x:\*(C'\fR. To specify an XFT\-font, you need to prefix it with \f(CW\*(C`xft:\*(C'\fR,
302
\& @@RXVT_NAME@@ -fn "xft:Bitstream Vera Sans Mono:pixelsize=15"
303
\& @@RXVT_NAME@@ -fn "9x15bold,xft:Bitstream Vera Sans Mono"
303
\& @@RXVT_NAME@@ \-fn "xft:Bitstream Vera Sans Mono:pixelsize=15"
304
\& @@RXVT_NAME@@ \-fn "9x15bold,xft:Bitstream Vera Sans Mono"
306
307
See also the question \*(L"How does rxvt-unicode choose fonts?\*(R" in the \s-1FAQ\s0
495
496
Remap a key symbol. See resource \fBkeysym\fR.
496
497
.IP "\fB\-embed\fR \fIwindowid\fR" 4
497
498
.IX Item "-embed windowid"
498
Tells @@RXVT_NAME@@ to embed it's windows into an already-existing window,
499
Tells @@RXVT_NAME@@ to embed its windows into an already-existing window,
499
500
which enables applications to easily embed a terminal.
501
502
Right now, @@RXVT_NAME@@ will first unmap/map the specified window, so it
508
509
It might be useful to know that @@RXVT_NAME@@ will not close file
509
510
descriptors passed to it (except for stdin/out/err, of course), so you
510
511
can use file descriptors to communicate with the programs within the
511
terminal. This works regardless of wether the \f(CW\*(C`\-embed\*(C'\fR option was used or
512
terminal. This works regardless of whether the \f(CW\*(C`\-embed\*(C'\fR option was used or
514
515
Here is a short Gtk2\-perl snippet that illustrates how this option can be
518
519
\& my $rxvt = new Gtk2::Socket;
519
\& $rxvt->signal_connect_after (realize => sub {
520
\& my $xid = $_[0]->window->get_xid;
521
\& system "@@RXVT_NAME@@ -embed $xid &";
520
\& $rxvt\->signal_connect_after (realize => sub {
521
\& my $xid = $_[0]\->window\->get_xid;
522
\& system "@@RXVT_NAME@@ \-embed $xid &";
524
525
.IP "\fB\-pty\-fd\fR \fIfile descriptor\fR" 4
525
526
.IX Item "-pty-fd file descriptor"
526
527
Tells @@RXVT_NAME@@ \s-1NOT\s0 to execute any commands or create a new pty/tty
527
pair but instead use the given filehandle as the tty master. This is
528
pair but instead use the given file descriptor as the tty master. This is
528
529
useful if you want to drive @@RXVT_NAME@@ as a generic terminal emulator
529
530
without having to run a program within it.
547
546
\& my $pty = new IO::Pty;
548
\& fcntl $pty, F_SETFD, 0; # clear close-on-exec
549
\& system "@@RXVT_NAME@@ -pty-fd " . (fileno $pty) . "&";
547
\& fcntl $pty, F_SETFD, 0; # clear close\-on\-exec
548
\& system "@@RXVT_NAME@@ \-pty\-fd " . (fileno $pty) . "&";
554
551
\& # now communicate with rxvt
555
\& my $slave = $pty->slave;
552
\& my $slave = $pty\->slave;
556
553
\& while (<$slave>) { print $slave "got <$_>\en" }
558
555
.IP "\fB\-pe\fR \fIstring\fR" 4
570
567
with later settings overwriting earlier ones:
573
\& 1. system-wide app-defaults file, either locale-dependent OR global
574
\& 2. app-defaults file in $XAPPLRESDIR
575
\& 3. RESOURCE_MANAGER property on root-window OR $HOME/.Xdefaults
570
\& 1. system\-wide app\-defaults file, either locale\-dependent OR global
571
\& 2. app\-defaults file in $XAPPLRESDIR
572
\& 3. RESOURCE_MANAGER property on root\-window OR $HOME/.Xdefaults
576
573
\& 4. SCREEN_RESOURCES for the current screen
577
\& 5. $XENVIRONMENT file OR $HOME/.Xdefaults-<nodename>
574
\& 5. $XENVIRONMENT file OR $HOME/.Xdefaults\-<nodename>
580
577
Note that when reading X resources, \fB@@RXVT_NAME@@\fR recognizes two class
727
724
\& URxvt.font: 9x15bold,\e
728
\& -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso10646-1,\e
729
\& -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1, \e
725
\& \-misc\-fixed\-bold\-r\-normal\-\-15\-140\-75\-75\-c\-90\-iso10646\-1,\e
726
\& \-misc\-fixed\-medium\-r\-normal\-\-15\-140\-75\-75\-c\-90\-iso10646\-1, \e
730
727
\& [codeset=JISX0208]xft:Kochi Gothic:antialias=false, \e
731
728
\& xft:Code2000:antialias=false
773
770
.IX Item "intensityStyles: boolean"
774
771
When font styles are not enabled, or this option is enabled (\fBTrue\fR,
775
772
option \fB\-is\fR, the default), bold and italic font styles imply high
776
intensity foreground/backround colours. Disabling this option (\fBFalse\fR,
773
intensity foreground/background colours. Disabling this option (\fBFalse\fR,
777
774
option \fB+is\fR) disables this behaviour, the high intensity colours are not
779
776
.IP "\fBselectstyle:\fR \fImode\fR" 4
827
\& URxvt.print-pipe: cat > $(TMPDIR=$HOME mktemp urxvt.XXXXXX)
824
\& URxvt.print\-pipe: cat > $(TMPDIR=$HOME mktemp urxvt.XXXXXX)
830
827
This creates a new file in your home directory with the screen contents
831
everytime you hit \f(CW\*(C`Print\*(C'\fR.
828
every time you hit \f(CW\*(C`Print\*(C'\fR.
832
829
.IP "\fBscrollBar:\fR \fIboolean\fR" 4
833
830
.IX Item "scrollBar: boolean"
834
831
\&\fBTrue\fR: enable the scrollbar [default]; option \fB\-sb\fR. \fBFalse\fR:
854
851
.IX Item "scrollWithBuffer: boolean"
855
852
\&\fBTrue\fR: scroll with scrollback buffer when tty receives new lines (and
856
853
\&\fBscrollTtyOutput\fR is False); option \fB\-sw\fR. \fBFalse\fR: do not scroll
857
with scrollback buffer when tty recieves new lines; option \fB+sw\fR.
854
with scrollback buffer when tty receives new lines; option \fB+sw\fR.
858
855
.IP "\fBscrollTtyKeypress:\fR \fIboolean\fR" 4
859
856
.IX Item "scrollTtyKeypress: boolean"
860
857
\&\fBTrue\fR: scroll to bottom when a non-special key is pressed. Special keys
1039
1036
can start or end with whitespace.
1041
1038
Please note that you need to double the \f(CW\*(C`\e\*(C'\fR in resource files, as
1042
Xlib itself does it's own de-escaping (you can use \f(CW\*(C`\e033\*(C'\fR instead of
1039
Xlib itself does its own de-escaping (you can use \f(CW\*(C`\e033\*(C'\fR instead of
1043
1040
\&\f(CW\*(C`\ee\*(C'\fR (and so on), which will work with both Xt and @@RXVT_NAME@@'s own
1046
1043
You can define a range of keysyms in one shot by providing a \fIstring\fR
1047
with pattern \fBlist/PREFIX/MIDDLE/SUFFIX\fR, where the delimeter `/'
1044
with pattern \fBlist/PREFIX/MIDDLE/SUFFIX\fR, where the delimiter `/'
1048
1045
should be a character not used by the strings.
1050
1047
Its usage can be demonstrated by an example:
1053
\& URxvt.keysym.M-C-0x61: list|\e033<M-C-|abc|>
1050
\& URxvt.keysym.M\-C\-0x61: list|\e033<M\-C\-|abc|>
1056
1053
The above line is equivalent to the following three lines:
1059
\& URxvt.keysym.Meta-Control-0x61: \e033<M-C-a>
1060
\& URxvt.keysym.Meta-Control-0x62: \e033<M-C-b>
1061
\& URxvt.keysym.Meta-Control-0x63: \e033<M-C-c>
1056
\& URxvt.keysym.Meta\-Control\-0x61: \e033<M\-C\-a>
1057
\& URxvt.keysym.Meta\-Control\-0x62: \e033<M\-C\-b>
1058
\& URxvt.keysym.Meta\-Control\-0x63: \e033<M\-C\-c>
1064
1061
If \fIstring\fR takes the form of \f(CW\*(C`command:STRING\*(C'\fR, the specified \fB\s-1STRING\s0\fR
1105
1102
font-switching at runtime:
1108
\& URxvt.keysym.M-C-1: command:\e033]50;suxuseuro\e007
1109
\& URxvt.keysym.M-C-2: command:\e033]50;9x15bold\e007
1105
\& URxvt.keysym.M\-C\-1: command:\e033]50;suxuseuro\e007
1106
\& URxvt.keysym.M\-C\-2: command:\e033]50;9x15bold\e007
1112
1109
Other things are possible, e.g. resizing (see @@RXVT_NAME@@(7) for more
1116
\& URxvt.keysym.M-C-3: command:\e033[8;25;80t
1117
\& URxvt.keysym.M-C-4: command:\e033[8;48;110t
1113
\& URxvt.keysym.M\-C\-3: command:\e033[8;25;80t
1114
\& URxvt.keysym.M\-C\-4: command:\e033[8;48;110t
1119
1116
.IP "\fBperl-ext-common\fR: \fIstring\fR" 4
1120
1117
.IX Item "perl-ext-common: string"
1243
1240
You can use keyboard shortcuts, too:
1246
\& URxvt.keysym.M-C-1: command:\e033]710;suxuseuro\e007\e033]711;suxuseuro\e007
1247
\& URxvt.keysym.M-C-2: command:\e033]710;9x15bold\e007\e033]711;9x15bold\e007
1243
\& URxvt.keysym.M\-C\-1: command:\e033]710;suxuseuro\e007\e033]711;suxuseuro\e007
1244
\& URxvt.keysym.M\-C\-2: command:\e033]710;9x15bold\e007\e033]711;9x15bold\e007
1250
1247
rxvt-unicode will automatically re-apply these fonts to the output so far.
1255
1252
first part is available rxvt-unicode has been compiled with
1256
1253
\&\f(CW\*(C`\-\-enable\-frills\*(C'\fR, the rest is available when rxvt-unicode was compiled
1257
1254
with \f(CW\*(C`\-\-enable\-iso14755\*(C'\fR.
1258
.IP "* 5.1: Basic method" 4
1259
.IX Item "5.1: Basic method"
1260
1258
This allows you to enter unicode characters using their hexcode.
1262
1260
Start by pressing and holding both \f(CW\*(C`Control\*(C'\fR and \f(CW\*(C`Shift\*(C'\fR, then enter
1271
1269
address printed as hexcodes, e.g. \f(CW\*(C`671d 65e5\*(C'\fR. You can enter this easily
1272
1270
by pressing \f(CW\*(C`Control\*(C'\fR and \f(CW\*(C`Shift\*(C'\fR, followed by \f(CW\*(C`6\-7\-1\-D\-SPACE\-6\-5\-E\-5\*(C'\fR,
1273
1271
followed by releasing the modifier keys.
1274
.IP "* 5.2: Keyboard symbols entry method" 4
1275
.IX Item "5.2: Keyboard symbols entry method"
1273
5.2: Keyboard symbols entry method
1276
1275
This mode lets you input characters representing the keycap symbols of
1277
1276
your keyboard, if representable in the current locale encoding.
1279
1278
Start by pressing \f(CW\*(C`Control\*(C'\fR and \f(CW\*(C`Shift\*(C'\fR together, then releasing
1280
1279
them. The next special key (cursor keys, home etc.) you enter will not
1281
invoke it's usual function but instead will insert the corresponding
1280
invoke its usual function but instead will insert the corresponding
1282
1281
keycap symbol. The symbol will only be entered when the key has been
1283
1282
released, otherwise pressing e.g. \f(CW\*(C`Shift\*(C'\fR would enter the symbol for
1284
1283
\&\f(CW\*(C`ISO Level 2 Switch\*(C'\fR, although your intention might have been to enter a
1285
1284
reverse tab (Shift\-Tab).
1286
.IP "* 5.3: Screen-selection entry method" 4
1287
.IX Item "5.3: Screen-selection entry method"
1286
5.3: Screen-selection entry method
1288
1288
While this is implemented already (it's basically the selection
1289
1289
mechanism), it could be extended by displaying a unicode character map.
1290
.IP "* 5.4: Feedback method for identifying displayed characters for later input" 4
1291
.IX Item "5.4: Feedback method for identifying displayed characters for later input"
1291
5.4: Feedback method for identifying displayed characters for later input
1292
1293
This method lets you display the unicode character code associated with
1293
1294
characters already displayed.
1390
1390
.IP "\fB\s-1TERM\s0\fR" 4
1391
1391
.IX Item "TERM"
1392
1392
Normally set to \f(CW\*(C`rxvt\-unicode\*(C'\fR, unless overwritten at configure time, via
1393
resources or on the commandline.
1393
resources or on the command line.
1394
1394
.IP "\fB\s-1COLORTERM\s0\fR" 4
1395
1395
.IX Item "COLORTERM"
1396
Either \f(CW\*(C`rxvt\*(C'\fR, \f(CW\*(C`rxvt\-xpm\*(C'\fR, depending on wether @@RXVT_NAME@@ was
1396
Either \f(CW\*(C`rxvt\*(C'\fR, \f(CW\*(C`rxvt\-xpm\*(C'\fR, depending on whether @@RXVT_NAME@@ was
1397
1397
compiled with \s-1XPM\s0 support, and optionally with the added extension
1398
1398
\&\f(CW\*(C`\-mono\*(C'\fR to indicate that rxvt-unicode runs on a monochrome screen.
1399
1399
.IP "\fB\s-1COLORFGBG\s0\fR" 4