--- rxvt-unicode/doc/rxvt.7.html 2005/08/10 01:44:35 1.23 +++ rxvt-unicode/doc/rxvt.7.html 2006/01/31 00:25:16 1.54 @@ -24,17 +24,6 @@
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 +
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+
If you have or use an $HOME/.Xresources file, chances are that +resources are loaded into your X-server. In this case, you have to +re-login after every change (or run xrdb -merge $HOME/.Xresources).
+Also consider the form resources have to use:
++ URxvt.resource: value+
If you want to use another form (there are lots of different ways of +specifying resources), make sure you understand wether and why it +works. If unsure, use the form above.
+Here are four ways to get transparency. Do read the manpage and option +descriptions for the programs mentioned and rxvt-unicode. Really, do it!
+1. Use inheritPixmap:
++ Esetroot wallpaper.jpg + rxvt -ip -tint red -sh 40+
That works. If you think it doesn't, you lack transparency and tinting +support, or you are unable to read.
+2. Use a simple pixmap and emulate pseudo-transparency. This enables you +to use effects other than tinting and shading: Just shade/tint/whatever +your picture with gimp:
++ convert wallpaper.jpg -blur 20x20 -modulate 30 background.xpm + rxvt -pixmap background.xpm -pe automove-background+
That works. If you think it doesn't, you lack XPM and Perl support, or you +are unable to read.
+3. Use an ARGB visual:
++ rxvt -depth 32 -fg grey90 -bg rgba:0000/0000/4444/cccc+
This requires XFT support, and the support of your X-server. If that +doesn't work for you, blame Xorg and Keith Packard. ARGB visuals aren't +there yet, no matter what they claim. Rxvt-Unicode contains the neccessary +bugfixes and workarounds for Xft and Xlib to make it work, but that +doesn't mean that your WM has the required kludges in place.
+4. Use xcompmgr and let it do the job:
++ xprop -frame -f _NET_WM_WINDOW_OPACITY 32c \ + -set _NET_WM_WINDOW_OPACITY 0xc0000000+
Then click on a window you want to make transparent. Replace 0xc0000000
+by other values to change the degree of opacity. If it doesn't work and
+your server crashes, you got to keep the pieces.
--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 [ 8 n
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).
+patches that considerably change the behaviour of rxvt-unicode (but
+unfortunately this notice has been removed). Before reporting a bug to
+the original rxvt-unicode author please download and install the genuine
+version (http://software.schmorp.de#rxvt-unicode) and try to reproduce
+the problem. If you cannot, chances are that the problems are specific to
+Debian GNU/Linux, in which case it should be reported via the Debian Bug
+Tracking System (use reportbug
to report the bug).
For other problems that also affect the Debian package, you can and @@ -101,6 +360,52 @@ 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.
+- 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
@@ -659,10 +964,10 @@
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.
rxvt(7)
+depressed.
Toggle with ESC [ 36 h
/ ESC [ 36 l
as documented in rxvt(7).
Toggle with ESC [ 36 h
/ ESC [ 36 l
.
For an existing rxvt-unicode:
@@ -983,8 +1288,8 @@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.
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 = 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. |
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 (Compile frills). |
Ps = 703 | Menubar command Pt (Compile menubar). |
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 (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 (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]
- --
-- B<%n> rxvt name (as per the B<-name> command-line option) - B<%v> rxvt version - B<%%> literal B<%> character-
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
@@ -2536,22 +2267,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
@@ -2585,7 +2322,7 @@
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 @@ -2609,7 +2349,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-unicode will use the -private use area, extending the number of combinations to 8448). With ---enable-unicode3, no practical limit exists.
+Without --enable-unicode3, the number of additional precomposed +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 @@ -2634,36 +2373,36 @@ 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.
-Please note that nowadays, things like XIM will automatically pull in and -use the full X resource manager, so the overhead of using it might be very -small, if nonexistant.
-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 EWMH-hints (pid, utf8 names) and protocols (ping) - seperate underline colour - settable border widths and borderless switch - settable extra linespacing + seperate underline colour (-underlineColor) + settable border widths and borderless switch (-w, -b, -bl) + visual depth selection (-depth) + settable extra linespacing /-lsp) iso-14755-2 and -3, and visual feedback - backindex and forwardindex escape sequence - window op and some xterm/OSC escape sequences - tripleclickwords - settable insecure mode + tripleclickwords (-tcw) + settable insecure mode (-insecure) keysym remapping support - cursor blinking and underline cursor - -embed and -pty-fd options+ cursor blinking and underline cursor (-cb, -uc) + XEmbed support (-embed) + user-pty (-pty-fd) + hold on exit (-hold) + skip builtin block graphics (-sbg) +
It also enabled some non-essential features otherwise disabled, such as:
++ some round-trip time optimisations + nearest color allocation on pseudocolor screens + UTF8_STRING supporr for selection + sgr modes 90..97 and 100..107 + backindex and forwardindex escape sequences + view change/zero scorllback esacpe sequences + locale switching escape sequence + window op and some xterm/OSC escape sequences + rectangular selections + trailing space removal for selections + verbose X error handling
--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.