--- rxvt-unicode/doc/rxvt.7.html 2005/01/17 01:44:51 1.3 +++ rxvt-unicode/doc/rxvt.7.html 2006/01/28 22:16:58 1.52 @@ -13,27 +13,17 @@
+ # set a new font set + printf '\33]50;%s\007' 9x15,xft:Kochi" Mincho"+
+ # change the locale and tell rxvt-unicode about it + export LC_CTYPE=ja_JP.EUC-JP; printf "\33]701;$LC_CTYPE\007"+
+ # set window title + printf '\33]2;%s\007' "new window title"+
+
+This document contains the FAQ, the RXVT TECHNICAL REFERENCE documenting +all escape sequences, and other background information.
+The newest version of this document is +also available on the World Wide Web at +http://cvs.schmorp.de/browse/*checkout*/rxvt-unicode/doc/rxvt.7.html.
++
++ URxvt.selection.pattern-0: ([[:word:]]+)+
If you click more than twice, the selection will be extended +more and more.
+To get a selection that is very similar to the old code, try this pattern:
++ URxvt.selection.pattern-0: ([^"&'()*,;<=>?@[\\\\]^`{|})]+)+
Please also note that the LeftClick Shift-LeftClik combination also +selects words like the old code.
+If you only want to disable specific features, you first have to
+identify which perl extension is responsible. For this, read the section
+PREPACKAGED EXTENSIONS in the rxvtperl(3)
manpage. For
+example, to disable the selection-popup and option-popup, specify
+this perl-ext-common resource:
+ URxvt.perl-ext-common: default,-selection-popup,-option-popup+
This will keep the default extensions, but disable the two popup +extensions. Some extensions can also be configured, for example, +scrollback search mode is triggered by M-s. You can move it to any +other combination either by setting the searchable-scrollback resource:
++ URxvt.searchable-scrollback: CM-s+
--disable-everything
, this comparison is a bit unfair, as many
+features unique to urxvt (locale, encoding conversion, iso14755 etc.) are
+already in use in this mode.
++ text data bss drs rss filename + 98398 1664 24 15695 1824 rxvt --disable-everything + 188985 9048 66616 18222 1788 urxvt --disable-everything+
When you --enable-everything
(which _is_ unfair, as this involves xft
+and full locale/XIM support which are quite bloaty inside libX11 and my
+libc), the two diverge, but not unreasnobaly so.
+ text data bss drs rss filename + 163431 2152 24 20123 2060 rxvt --enable-everything + 1035683 49680 66648 29096 3680 urxvt --enable-everything+
The very large size of the text section is explained by the east-asian +encoding tables, which, if unused, take up disk space but nothing else +and can be compiled out unless you rely on X11 core fonts that use those +encodings. The BSS size comes from the 64k emergency buffer that my c++ +compiler allocates (but of course doesn't use unless you are out of +memory). Also, using an xft font instead of a core font immediately adds a +few megabytes of RSS. Xft indeed is responsible for a lot of RSS even when +not used.
+Of course, due to every character using two or four bytes instead of one, +a large scrollback buffer will ultimately make rxvt-unicode use more +memory.
+Compared to e.g. Eterm (5112k), aterm (3132k) and xterm (4680k), this +still fares rather well. And compared to some monsters like gnome-terminal +(21152k + extra 4204k in separate processes) or konsole (22200k + extra +43180k in daemons that stay around after exit, plus half a minute of +startup time, including the hundreds of warnings it spits out), it fares +extremely well *g*.
+My personal stance on this is that C++ is less portable than C, but in +the case of rxvt-unicode this hardly matters, as its portability limits +are defined by things like X11, pseudo terminals, locale support and unix +domain sockets, which are all less portable than C++ itself.
+Regarding the bloat, see the above question: It's easy to write programs +in C that use gobs of memory, an certainly possible to write programs in +C++ that don't. C++ also often comes with large libraries, but this is +not necessarily the case with GCC. Here is what rxvt links against on my +system with a minimal config:
++ libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00002aaaaabc3000) + libc.so.6 => /lib/libc.so.6 (0x00002aaaaadde000) + libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab01d000) + /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000)+
And here is rxvt-unicode:
++ libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00002aaaaabc3000) + libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00002aaaaada2000) + libc.so.6 => /lib/libc.so.6 (0x00002aaaaaeb0000) + libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab0ee000) + /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000)+
No large bloated libraries (of course, none were linked in statically), +except maybe libX11 :)
++ rxvt -pe tabbed+
+ URxvt.perl-ext-common: default,tabbed+
It will also work fine with tabbing functionality of many window managers
+or similar tabbing programs, and its embedding-features allow it to be
+embedded into other programs, as witnessed by doc/rxvt-tabbed or
+the upcoming Gtk2::URxvt
perl module, which features a tabbed urxvt
+(murxvt) terminal as an example embedding application.
ESC[8n
sets the window title to the version number.
+sequence ESC [ 8 n
sets the window title to the version number. When
+using the rxvtc client, the version displayed is that of the
+daemon.
+reportbug
to report the bug).
+For other problems that also affect the Debian package, you can and +probably should use the Debian BTS, too, because, after all, it's also a +bug in the Debian version and it serves as a reminder for other users that +might encounter the same issue.
+You should not overwrite the perl-ext-common
snd perl-ext
resources
+system-wide (except maybe with defaults
). This will result in useful
+behaviour. If your distribution aims at low memory, add an empty
+perl-ext-common
resource to the app-defaults file. This will keep the
+perl interpreter disabled until the user enables it.
If you can/want build more binaries, I recommend building a minimal
+one with --disable-everything
(very useful) and a maximal one with
+--enable-everything
(less useful, it will be very big due to a lot of
+encodings built-in that increase download times and are rarely used).
When rxvt-unicode detects that it runs setuid or setgid, it will fork +into a helper process for privileged operations (pty handling on some +systems, utmp/wtmp/lastlog handling on others) and drop privileges +immediately. This is much safer than most other terminals that keep +privileges while running (but is more relevant to urxvt, as it contains +things as perl interpreters, which might be ``helpful'' to attackers).
+This forking is done as the very first within main(), which is very early +and reduces possible bugs to initialisation code run before main(), or +things like the dynamic loader of your system, which should result in very +little risk.
If you always want to do this you can either recompile rxvt-unicode with -the desired TERM value or use a resource to set it:
+If you always want to do this (and are fine with the consequences) you +can either recompile rxvt-unicode with the desired TERM value or use a +resource to set it:
@@ -97,40 +353,56 @@ the rxvt terminfo file with the rxvt-unicode one.
tic
outputs some error when compiling the terminfo entry.enacs=
. Just replace it by
+enacs=\E[0@
and try again.
+bash
's readline does not work correctly under rxvt.rxvt-unicode
.
+You could use rxvt's termcap entry with resonable results in many cases. You can also create a termcap entry by using terminfo's infocmp program -like this: +like this:
infocmp -C rxvt-unicode
OR you could this termcap entry:
+Or you could use this termcap entry, generated by the command above:
rxvt-unicode|rxvt-unicode terminal (X Window System):\ :am:bw:eo:km:mi:ms:xn:xo:\ - :co#80:it#8:li#24:\ + :co#80:it#8:li#24:lm#0:\ :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\ - :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ae=^O:al=\E[L:\ - :as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:\ - :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:\ - :ec=\E[%dX:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:ic=\E[@:\ - :im=\E[4h:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ - :k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\ - :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ - :kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:\ - :ke=\E[?1l\E>:kh=\E[7~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ - :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:\ - :nd=\E[C:rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:\ - :st=\EH:ta=^I:te=\E[r\E[?1049l:ti=\E[?1049h:ue=\E[24m:\ - :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:\ + :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ae=\E(B:al=\E[L:\ + :as=\E(0:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\ + :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\ + :dl=\E[M:do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:\ + :i1=\E[?47l\E=\E[?1l:ic=\E[@:im=\E[4h:\ + :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ + :k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\ + :k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:kD=\E[3~:\ + :kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:\ + :kh=\E[7~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:\ + :mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:nd=\E[C:rc=\E8:\ + :sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:\ + :te=\E[r\E[?1049l:ti=\E[?1049h:ue=\E[24m:up=\E[A:\ + :us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:\ :vs=\E[?25h:
TERM
setting, although the details of wether and how
+this can happen are unknown, as TERM=rxvt
should offer a compatible
+keymap. See the answer to the previous question, and please report if that
+helped.
+Rxvt-unicode must be started with the same LC_CTYPE
setting as the
programs. Often rxvt-unicode is started in the C
locale, while the
login script running within the rxvt-unicode window changes the locale to
-sth. else, e.h. en_GB.UTF-8
. Needless to say, this is not going to work.
en_GB.UTF-8
. Needless to say, this is not going to work.
The best thing is to fix your startup environment, as you will likely run @@ -200,7 +483,9 @@
If this doesn't work, then maybe you use a LC_CTYPE
specification not
supported on your systems. Some systems have a locale
command which
-displays this. If it displays sth. like:
perl -e0
can be used to check locale settings, as
+it will complain loudly if it cannot set the locale). If it displays something
+like:
@@ -228,10 +513,10 @@
rxvt-unicode makes a best-effort try at finding a replacement font. Often the result is fine, but sometimes the chosen font looks -bad. Many fonts have totally strange characters that don't resemble the -correct glyph at all, and rxvt-unicode lacks the artificial intelligence -to detect that a specific glyph is wrong: it has to believe the font that -the characters it contains indeed look correct.
+bad/ugly/wrong. Some fonts have totally strange characters that don't +resemble the correct glyph at all, and rxvt-unicode lacks the artificial +intelligence to detect that a specific glyph is wrong: it has to believe +the font that the characters it claims to contain indeed look correct.In that case, select a font of your taste and add it to the font list, @@ -248,23 +533,23 @@ search and use less resources within rxvt-unicode and the X-server.
The only limitation is that all the fonts must not be larger than the base -font, as the base font defines the principal cell size, which must be the -same due to the way terminals work.
+The only limitation is that none of the fonts may be larger than the base +font, as the base font defines the terminal character cell size, which +must be the same due to the way terminals work.
The workaround is easy: just tag a chinese font at the end of your font @@ -273,10 +558,13 @@ first. If you expect more chinese, put a chinese font first.
In the future it might be possible to switch preferences at runtime (the -internal data structure has no problem with using different fonts for -the same character at the same time, but no interface for this has been -designed yet).
+In the future it might be possible to switch language preferences at +runtime (the internal data structure has no problem with using different +fonts for the same character at the same time, but no interface for this +has been designed yet).
+Until then, you might get away with switching fonts at runtime (see Can I switch the fonts at runtime? later in this document).
+ #define wcwidth(x) wcwidth(x) > 1 ? 1 : wcwidth(x)+
urxvt
), which will get rid of most of these effects. Then make sure
-you have specified colours for italic and bold, as otherwise rxvt-unicode
-might use reverse video to simulate the effect:
+First of all, make sure you are running with the right terminal settings
+(TERM=rxvt-unicode
), which will get rid of most of these effects. Then
+make sure you have specified colours for italic and bold, as otherwise
+rxvt-unicode might use reverse video to simulate the effect:
- URxvt*colorBD: white - URxvt*colorIT: green+ URxvt.colorBD: white + URxvt.colorIT: green
In the meantime, you can either edit your urxvt
terminfo definition to
-only claim 8 colour support or use TERM=rxvt
, which will fix colours
-but keep you from using other rxvt-unicode features.
In the meantime, you can either edit your rxvt-unicode
terminfo
+definition to only claim 8 colour support or use TERM=rxvt
, which will
+fix colours but keep you from using other rxvt-unicode features.
As you might have guessed, FreeBSD does neither define this symobl nor does it support it. Instead, it uses it's own internal representation of -wchar_t. This is, of course, completely legal.
+wchar_t. This is, of course, completely fine with respect to standards. +However, that means rxvt-unicode only works in POSIX
, ISO-8859-1
and
+UTF-8
locales under FreeBSD (which all use Unicode as wchar_t.
However, __STDC_ISO_10646__
is the only sane way to support
-multi-language apps in an OS, as using a locale-dependent (and
-non-standardized) representation of wchar_t makes it impossible to
-convert between wchar_t (as used by X11 and your applications) and any
-other encoding without implementing OS-specific-wrappers for each and
-every locale. There simply are no APIs to convert wchar_t into anything
-except the current locale encoding.
__STDC_ISO_10646__
is the only sane way to support multi-language
+apps in an OS, as using a locale-dependent (and non-standardized)
+representation of wchar_t makes it impossible to convert between
+wchar_t (as used by X11 and your applications) and any other encoding
+without implementing OS-specific-wrappers for each and every locale. There
+simply are no APIs to convert wchar_t into anything except the current
+locale encoding.
Some applications (such as the formidable mlterm) work around this @@ -392,7 +695,30 @@
The rxvt-unicode author insists that the right way to fix this is in the system libraries once and for all, instead of forcing every app to carry -complete replacements.
+complete replacements for them :) +wcwidth
and a compile problem.
+-multiwindow
or
+-rootless
mode instead, which will result in similar look&feel as the
+old libW11 emulation.
+At the time of this writing, cygwin didn't seem to support any multi-byte
+encodings (you might try LC_CTYPE=C-UTF-8
), so you are likely limited
+to 8-bit encodings.
The reasons is that there exists a perfectly fine mechanism for selecting the encoding, doing I/O and (most important) communicating this to all -applications so everybody agrees on character properties such as width and -code number. This mechanism is the locale.
+applications so everybody agrees on character properties such as width +and code number. This mechanism is the locale. Applications not using +that info will have problems (for example,xterm
gets the width of
+characters wrong as it uses it's own, locale-independent table under all
+locales).
Rxvt-unicode uses the LC_CTYPE
locale category to select encoding. All
@@ -429,7 +758,8 @@
Rxvt-unicode ignores all other locale categories, and except for
the encoding, ignores country or language-specific settings,
-i.e. de_DE.UTF-8
and ja_JP.UTF-8
are the same for rxvt-unicode.
de_DE.UTF-8
and ja_JP.UTF-8
are the normally same to
+rxvt-unicode.
If you want to use a specific encoding you have to make sure you start @@ -439,7 +769,7 @@
LC_CTYPE
.
See also the previous question.
+See also the previous answer.
Sometimes this capability is rather handy when you want to work in one
-locale (e.g. de_DE.UTF-8
) but some programs don't support UTF-8. For
-example, I use this script to start xjdic
, which first switches to a
-locale supported by xjdic and back later:
Sometimes this capability is rather handy when you want to work in
+one locale (e.g. de_DE.UTF-8
) but some programs don't support it
+(e.g. UTF-8). For example, I use this script to start xjdic
, which
+first switches to a locale supported by xjdic and back later:
@@ -461,11 +791,16 @@ xjdic -js printf '\e]701;%s\007' de_DE.UTF-8
You can also use xterm's luit
program, which usually works fine, except
+for some locales where character width differs between program- and
+rxvt-unicode-locales.
-fn
switch, and takes effect immediately:
xft:Bitstream Vera Sans
-Mono
completely fails in it's italic face. A workaround is to enable
-freetype autohinting, i.e. like this:
+Mono completely fails in it's italic face. A workaround might be to
+enable freetype autohinting, i.e. like this:
- URxvt*italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true - URxvt*boldItalicFont: xft:Bitstream Vera Sans Mono:bold:italic:autohint=true+ URxvt.italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true + URxvt.boldItalicFont: xft:Bitstream Vera Sans Mono:bold:italic:autohint=true
- URxvt*imlocale: ja_JP.EUC-JP+ URxvt.imlocale: ja_JP.EUC-JP
Now you can start your terminal with LC_CTYPE=ja_JP.UTF-8
and still
@@ -512,10 +847,24 @@
method limits you.
So the only workaround is not to kill your Input Method Servers.
+Also, many people (me included) like large windows and even larger
-scrollback buffers: Without --enable-unicode3
, rxvt-unicode will use
+scrollback buffers: Without --enable-unicode3
, rxvt-unicode will use
6 bytes per screen cell. For a 160x?? window this amounts to almost a
kilobyte per line. A scrollback buffer of 10000 lines will then (if full)
-use 10 Megabytes of memory. With --enable-unicode3
it gets worse, as
+use 10 Megabytes of memory. With --enable-unicode3
it gets worse, as
rxvt-unicode then uses 8 bytes per screen cell.
:antialiasing=false
), which saves lots of
+antialiasing (by appending :antialias=false
), which saves lots of
memory and also speeds up rendering considerably.
rxvt(7)
+depressed.
- URxvt*color0: #000000 - URxvt*color1: #A80000 - URxvt*color2: #00A800 - URxvt*color3: #A8A800 - URxvt*color4: #0000A8 - URxvt*color5: #A800A8 - URxvt*color6: #00A8A8 - URxvt*color7: #A8A8A8+ URxvt.color0: #000000 + URxvt.color1: #A80000 + URxvt.color2: #00A800 + URxvt.color3: #A8A800 + URxvt.color4: #0000A8 + URxvt.color5: #A800A8 + URxvt.color6: #00A8A8 + URxvt.color7: #A8A8A8
- URxvt*color8: #000054 - URxvt*color9: #FF0054 - URxvt*color10: #00FF54 - URxvt*color11: #FFFF54 - URxvt*color12: #0000FF - URxvt*color13: #FF00FF - URxvt*color14: #00FFFF - URxvt*color15: #FFFFFF+ URxvt.color8: #000054 + URxvt.color9: #FF0054 + URxvt.color10: #00FF54 + URxvt.color11: #FFFF54 + URxvt.color12: #0000FF + URxvt.color13: #FF00FF + URxvt.color14: #00FFFF + URxvt.color15: #FFFFFF
And here is a more complete set of non-standard colors described as -``pretty girly'':
+And here is a more complete set of non-standard colors described (not by +me) as ``pretty girly''.
@@ -643,6 +992,13 @@ URxvt.color15: #e1dddd
rxvtd -f -o
, which tells rxvtd to open the
+display, create the listening socket and then fork.
+Toggle with ``ESC[36h'' / ``ESC[36l'' as documented in rxvt(7).
+Toggle with ESC [ 36 h
/ ESC [ 36 l
.
For an existing rxvt-unicode:
@@ -705,7 +1061,7 @@The Delete key is a another casualty of the ill-defined Backspace problem. To avoid confusion between the Backspace and Delete keys, the Delete key has been assigned an escape sequence to match the vt100 for Execute -(ESC[3~) and is in the supplied termcap/terminfo.
+(ESC [ 3 ~
) and is in the supplied termcap/terminfo.
Some other Backspace problems:
@@ -727,30 +1083,33 @@ use the `keysym' resource to alter the keystrings associated with keysyms.Here's an example for a URxvt session started using `rxvt -name URxvt'
+Here's an example for a URxvt session started using rxvt -name URxvt
- URxvt*keysym.Home: \e[1~ - URxvt*keysym.End: \e[4~ - URxvt*keysym.C-apostrophe: \e<C-'> - URxvt*keysym.C-slash: \e<C-/> - URxvt*keysym.C-semicolon: \e<C-;> - URxvt*keysym.C-grave: \e<C-`> - URxvt*keysym.C-comma: \e<C-,> - URxvt*keysym.C-period: \e<C-.> - URxvt*keysym.C-0x60: \e<C-`> - URxvt*keysym.C-Tab: \e<C-Tab> - URxvt*keysym.C-Return: \e<C-Return> - URxvt*keysym.S-Return: \e<S-Return> - URxvt*keysym.S-space: \e<S-Space> - URxvt*keysym.M-Up: \e<M-Up> - URxvt*keysym.M-Down: \e<M-Down> - URxvt*keysym.M-Left: \e<M-Left> - URxvt*keysym.M-Right: \e<M-Right> - URxvt*keysym.M-C-0: list.0123456789.\e<M-C-.> - URxvt*keysym.M-C-a: list.abcdefghijklmnopqrstuvwxyz.\033<M-C-.> - URxvt*keysym.F12: proto:\033]701;zh_CN.GBK\007+ URxvt.keysym.Home: \033[1~ + URxvt.keysym.End: \033[4~ + URxvt.keysym.C-apostrophe: \033<C-'> + URxvt.keysym.C-slash: \033<C-/> + URxvt.keysym.C-semicolon: \033<C-;> + URxvt.keysym.C-grave: \033<C-`> + URxvt.keysym.C-comma: \033<C-,> + URxvt.keysym.C-period: \033<C-.> + URxvt.keysym.C-0x60: \033<C-`> + URxvt.keysym.C-Tab: \033<C-Tab> + URxvt.keysym.C-Return: \033<C-Return> + URxvt.keysym.S-Return: \033<S-Return> + URxvt.keysym.S-space: \033<S-Space> + URxvt.keysym.M-Up: \033<M-Up> + URxvt.keysym.M-Down: \033<M-Down> + URxvt.keysym.M-Left: \033<M-Left> + URxvt.keysym.M-Right: \033<M-Right> + URxvt.keysym.M-C-0: list \033<M-C- 0123456789 > + URxvt.keysym.M-C-a: list \033<M-C- abcdefghijklmnopqrstuvwxyz > + URxvt.keysym.F12: command:\033]701;zh_CN.GBK\007 +
See some more examples in the documentation for the keysym resource.
Rather than have rxvt-unicode try to accommodate all the various possible keyboard -mappings, it is better to use `xmodmap' to remap the keys as required for -your particular machine.
+Rather than have rxvt-unicode try to accommodate all the various possible +keyboard mappings, it is better to use `xmodmap' to remap the keys as +required for your particular machine.
- # set a new font set - printf '\33]50;%s\007' 9x15,xft:Kochi" Mincho"-
- # change the locale and tell rxvt-unicode about it - export LC_CTYPE=ja_JP.EUC-JP; printf "\33]701;$LC_CTYPE\007"-
- # set window title - printf '\33]2;%s\007' "new window title"+
The rest of this document describes various technical aspects of
rxvt-unicode. First the description of supported command sequences,
-followed by menu and pixmap support and last by a description of all
-features selectable at configure
time.
-
-configure
time.
ESC Z
>ESC[?1;2C
> rxvt-unicode compile-time option
+Obsolete form of returns: ESC [ ? 1 ; 2 C
> rxvt-unicode compile-time option
ESC c
>ESC
( C >>ESC ( C
>C
.
ESC
) C >>ESC ) C
>C
.
@@ -1256,7 +1602,7 @@
Ps = 0
> (or omitted): request attributes from terminal
-returns: ESC[?1;2c
> (``I am a VT100 with Advanced Video
+returns: ESC [ ? 1 ; 2 c
> (``I am a VT100 with Advanced Video
Option'')
ESC [ Ps x
>ESC [ Ps;Pt t
>Ps = 1 | Deiconify (map) window |
Ps = 2 | Iconify window |
Ps = 3 | ESC [ 3 ; X ; Y t Move window to (X|Y) |
Ps = 4 | ESC [ 4 ; H ; W t Resize to WxH pixels |
Ps = 5 | Raise window |
Ps = 6 | Lower window |
Ps = 7 | Refresh screen once |
Ps = 8 | ESC [ 8 ; R ; C t Resize to R rows and C columns |
Ps = 11 | Report window state (responds with Ps = 1 or Ps = 2) |
Ps = 13 | Report window position (responds with Ps = 3) |
Ps = 14 | Report window pixel size (responds with Ps = 4) |
Ps = 18 | Report window text size (responds with Ps = 7) |
Ps = 19 | Currently the same as Ps = 18, but responds with Ps = 9 |
Ps = 20 | Reports icon label (ESC ] L NAME \234) |
Ps = 21 | Reports window title (ESC ] l NAME \234) |
Ps = 24.. | Set window height to Ps rows |
ESC [ u
>ESC [ Ps x
>@@ -1471,11 +1840,6 @@
h | Send Mouse X & Y on button press. |
l | No mouse reporting. |
Ps = 10
> (rxvt)h | menuBar visible |
l | menuBar invisible |
Ps = 25
>h | Scroll to bottom when a key is pressed |
l | Don't scroll to bottom when a key is pressed |
Ps = 1021
> (rxvt)h | Bold/italic implies high intensity (see option -is) |
l | Font styles have no effect on intensity (Compile styles) |
Ps = 1047
>Ps = 12 | Change colour of text cursor foreground to Pt |
Ps = 13 | Change colour of mouse foreground to Pt |
Ps = 17 | Change colour of highlight characters to Pt |
Ps = 18 | Change colour of bold characters to Pt |
Ps = 19 | Change colour of underlined characters to Pt |
Ps = 20 | Change default background to Pt |
Ps = 39 | Change default foreground colour to Pt rxvt compile-time option |
Ps = 18 | Change colour of bold characters to Pt [deprecated, see 706] |
Ps = 19 | Change colour of underlined characters to Pt [deprecated, see 707] |
Ps = 20 | Change background pixmap parameters (see section XPM) (Compile XPM). |
Ps = 39 | Change default foreground colour to Pt. |
Ps = 46 | Change Log File to Pt unimplemented |
Ps = 49 | Change default background colour to Pt rxvt compile-time option |
Ps = 49 | Change default background colour to Pt. |
Ps = 50 | Set fontset to Pt, with the following special values of Pt (rxvt) #+n change up n #-n change down n if n is missing of 0, a value of 1 is used empty change to font0 n change to font n |
Ps = 55 | Log all scrollback buffer and all of screen to Pt |
Ps = 701 | Change current locale to Pt, or, if Pt is ?, return the current locale (rxvt extension) |
Ps = 703 | Menubar command Pt rxvt compile-time option (rxvt-unicode extension) |
Ps = 701 | Change current locale to Pt, or, if Pt is ?, return the current locale (Compile frills). |
Ps = 702 | Request version if Pt is ?, returning rxvt-unicode, the resource name, the major and minor version numbers, e.g. ESC ] 702 ; rxvt-unicode ; urxvt ; 7 ; 4 ST. |
Ps = 704 | Change colour of italic characters to Pt |
Ps = 705 | Change background pixmap tint colour to Pt |
Ps = 705 | Change background pixmap tint colour to Pt (Compile transparency). |
Ps = 706 | Change colour of bold characters to Pt |
Ps = 707 | Change colour of underlined characters to Pt |
Ps = 710 | Set normal fontset to Pt. Same as Ps = 50. |
Ps = 711 | Set bold fontset to Pt. Similar to Ps = 50. |
Ps = 712 | Set italic fontset to Pt. Similar to Ps = 50. |
Ps = 713 | Set bold-italic fontset to Pt. Similar to Ps = 50. |
Ps = 711 | Set bold fontset to Pt. Similar to Ps = 50 (Compile styles). |
Ps = 712 | Set italic fontset to Pt. Similar to Ps = 50 (Compile styles). |
Ps = 713 | Set bold-italic fontset to Pt. Similar to Ps = 50 (Compile styles). |
Ps = 720 | Move viewing window up by Pt lines, or clear scrollback buffer if Pt = 0 (Compile frills). |
Ps = 721 | Move viewing window down by Pt lines, or clear scrollback buffer if Pt = 0 (Compile frills). |
Ps = 777 | Call the perl extension with the given string, which should be of the form extension:parameters (Compile perl). |
The exact syntax used is almost solidified. > -In the menus, DON'T try to use menuBar commands that add or remove a -menuBar.
-Note that in all of the commands, the /path/ > cannot be -omitted: use ./ to specify a menu relative to the current menu.
--
-For the menuBar XTerm escape sequence ESC ] 703 ; Pt ST
, the syntax
-of Pt
can be used for a variety of tasks:
At the top level is the current menuBar which is a member of a circular -linked-list of other such menuBars.
-The menuBar acts as a parent for the various drop-down menus, which in -turn, may have labels, separator lines, menuItems and subMenus.
-The menuItems are the useful bits: you can use them to mimic keyboard -input or even to send text or escape sequences back to rxvt.
-The menuBar syntax is intended to provide a simple yet robust method of -constructing and manipulating menus and navigating through the -menuBars.
-The first step is to use the tag [menu:name] > which creates -the menuBar called name and allows access. You may now or menus, -subMenus, and menuItems. Finally, use the tag [done] to set the -menuBar access as readonly to prevent accidental corruption of the -menus. To re-access the current menuBar for alterations, use the tag -[menu], make the alterations and then use [done]
- --
-Blank and comment lines (starting with #) are ignored. Actually, -since any invalid menu commands are also ignored, almost anything could -be construed as a comment line, but this may be tightened up in the -future ... so don't count on it!.
-A Future implementation may make this local to the menubar >)
--
-The following commands may also be + prefixed.
-To send a string starting with a NUL (^@) character to the -program, start action with a pair of NUL characters (^@^@), -the first of which will be stripped off and the balance directed to the -program. Otherwise if action begins with NUL followed by -non-+NUL characters, the leading NUL is stripped off and the -balance is sent back to rxvt.
-As a convenience for the many Emacs-type editors, action may start -with M- (eg, M-$ is equivalent to \E$) and a CR will be -appended if missed from M-x commands.
-As a convenience for issuing XTerm ESC] sequences from a menubar (or -quick arrow), a BEL (^G) will be appended if needed.
-The option {right-rtext} > will be right-justified. In the -absence of a specified action, this text will be used as the action -as well.
-The left label is necessary, since it's used for matching, but -implicitly hiding the left label (by using same name for both left and -right labels), or explicitly hiding the left label (by preceeding it -with a dot), makes it possible to have right-justified text only.
--
--
-The menus also provide a hook for quick arrows to provide easier -user access. If nothing has been explicitly set, the default is to -emulate the curror keys. The syntax permits each arrow to be altered -individually or all four at once without re-entering their common -beginning/end text. For example, to explicitly associate cursor actions -with the arrows, any of the following forms could be used:
-- <u>\E[A-
- <d>\E[B-
- <r>\E[C-
- <l>\E[D-
- <u>\E[AZ<><d>\E[BZ<><r>\E[CZ<><l>\E[D-
- <b>\E[<u>AZ<><d>BZ<><r>CZ<><l>D-
-
-A short summary of the most common commands:
-menuBar(s)
-menuBar(s)
--
-For the XPM XTerm escape sequence ESC ] 20 ; Pt ST
> then value
of Pt
> can be the name of the background pixmap followed by a
@@ -2375,22 +2175,28 @@
General hint: if you get compile errors, then likely your configuration -hasn't been tested well. Either try with --enable-everything or use the -./reconf script as a base for experiments. ./reconf is used by myself, -so it should generally be a working config. Of course, you should always -report when a combination doesn't work, so it can be fixed. Marc Lehmann -<rxvt@schmorp.de>.
+hasn't been tested well. Either try with--enable-everything
or use
+the ./reconf script as a base for experiments. ./reconf is used by
+myself, so it should generally be a working config. Of course, you should
+always report when a combination doesn't work, so it can be fixed. Marc
+Lehmann <rxvt@schmorp.de>.
+All
You can specify this and then disable options you do not like by
+following this with the appropriate --disable-...
arguments,
+or you can start with a minimal configuration by specifying
+--disable-everything
and than adding just the --enable-...
arguments
+you want.
eu
, vn
+are always compiled in, which includes most 8-bit character sets). These
+codeset tables are used for driving X11 core fonts, they are not required
+for Xft fonts, although having them compiled in lets rxvt-unicode choose
+replacement fonts more intelligently. Compiling them in will make your
+binary bigger (all of together cost about 700kB), but it doesn't increase
+memory usage unless you use a font requiring one of these encodings.
all | all available codeset groups |
jp_ext | rarely used but big japanese encodings |
kr | korean encodings |
Enable direct support for displaying unicode codepoints above 65535 (the basic multilingual page). This increases storage requirements per character from 2 to 4 bytes. X11 fonts do not yet -support these extra characters, but Xft does. +support these extra characters, but Xft does.
Please note that rxvt-unicode can store unicode code points >65535 @@ -2447,7 +2257,7 @@ (input/output and cut&paste still work, though).
Without --enable-unicode3, the number of additional precomposed -characters is rather limited (2048, if this is full, rxvt will use the -private use area, extending the number of combinations to 8448). With ---enable-unicode3, no practical limit exists. This will also enable -storage of characters >65535.
+characters is somewhat limited (the 6400 private use characters will be +(ab-)used). With --enable-unicode3, no practical limit exists. +This option will also enable storage (but not display) of characters +beyond plane 0 (>65535) when --enable-unicode3 was not specified.
The combining table also contains entries for arabic presentation forms, -but these are not currently used. Bug me if you want these to be used.
+but these are not currently used. Bug me if you want these to be used (and +tell me how these are to be used...).--enable-transparency
).
--enable-transparency
).
XGetDefault()
instead of our small
-version which only checks ~/.Xdefaults, or if that doesn't exist
-then ~/.Xresources.
-memset()
function and other
-various routines, overriding your system's versions which may
-have been hand-crafted in assembly or may require extra libraries
-to link in. (this breaks ANSI-C rules and has problems on many
-GNU/Linux systems).
+Removes any support for resource checking.
A non-exhaustive list of features enabled by --enable-frills
(possibly
+
A non-exhaustive list of features enabled by --enable-frills
(possibly
in combination with other switches) is:
MWM-hints - seperate underline colour - settable border widths and borderless switch - settable extra linespacing - extra window properties (e.g. UTF-8 window names and PID) + EWMH-hints (pid, utf8 names) and protocols (ping) + seperate underline colour (-underlineColor) + settable border widths and borderless switch (-w, -b, -bl) + visual selection (-depth) + settable extra linespacing /-lsp) iso-14755-2 and -3, and visual feedback backindex and forwardindex escape sequence - window op and locale change escape sequences - tripleclickwords - settable insecure mode+ window op and some xterm/OSC escape sequences + tripleclickwords (-tcw) + settable insecure mode (-insecure) + keysym remapping support + cursor blinking and underline cursor (-cb, -uc) + XEmbed support (-embed) + user-pty (-pty-fd) + hold on exit (-hold) + skip builtin block graphics (-sbg) + sgr modes 90..97 and 100..107
--enable-frills
, while support for 5.2, 5.3 and 5.4 is enabled with
+--enable-frills
, while support for 5.2, 5.3 and 5.4 is enabled with
this switch.
PERL
environment
+variable when running configure.
urxvt
, resulting
+Set the basename for the installed binaries, resulting
in urxvt
, urxvtd
etc.). Specify --with-name=rxvt
to replace with
rxvt
.
rxvt-unicode
)
+Change the environmental variable for the terminal to NAME.