--- rxvt-unicode/doc/rxvt.7.html 2005/02/20 19:45:30 1.17 +++ rxvt-unicode/doc/rxvt.7.html 2006/01/28 22:16:58 1.52 @@ -24,17 +24,6 @@
  • CSI (Command Sequence Introducer) Sequences
  • DEC Private Modes
  • XTerm Operating System Commands
  • -
  • menuBar
  • - -
  • XPM
  • Mouse Reporting
  • Key Codes
  • @@ -75,23 +64,202 @@

    FREQUENTLY ASKED QUESTIONS

    +
    The new selection selects pieces that are too big, how can I select +single words?
    +
    +
    +Yes. For example, if you want to select alphanumeric words, you can use +the following resource: +
    +
    +
    +   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.

    +
    +

    +
    I don't like the new selection/popups/hotkeys/perl, how do I +change/disable it?
    +
    +
    +You can disable the perl extension completely by setting the +perl-ext-common resource to the empty string, which also keeps +rxvt-unicode from initialising perl, saving memory. +
    +
    +

    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
    +
    +

    +
    Isn't rxvt supposed to be small? Don't all those features bloat?
    +
    +
    +I often get asked about this, and I think, no, they didn't cause extra +bloat. If you compare a minimal rxvt and a minimal urxvt, you can see +that the urxvt binary is larger (due to some encoding tables always being +compiled in), but it actually uses less memory (RSS) after startup. Even +with --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*.

    +
    +

    +
    Why C++, isn't that unportable/bloated/uncool?
    +
    +
    +Is this a question? :) It comes up very often. The simple answer is: I had +to write it, and C++ allowed me to write and maintain it in a fraction +of the time and effort (which is a scarce resource for me). Put even +shorter: It simply wouldn't exist without C++. +
    +
    +

    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 :)

    +
    +

    +
    Does it support tabs, can I have a tabbed rxvt-unicode?
    +
    +
    +Beginning with version 7.3, there is a perl extension that implements a +simple tabbed terminal. It is installed by default, so any of these should +give you tabs: +
    +
    +
    +   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.

    +
    +

    How do I know which rxvt-unicode version I'm using?
    The version number is displayed with the usage (-h). Also the escape -sequence 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.

    I am using Debian GNU/Linux and have a problem...
    -The Debian GNU/Linux package of rxvt-unicode contains large patches that -considerably change the behaviour of rxvt-unicode. 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). +The Debian GNU/Linux package of rxvt-unicode in sarge contains large +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 @@ -100,6 +268,52 @@ might encounter the same issue.

    +
    I am maintaining rxvt-unicode for distribution/OS XXX, any +recommendation?
    +
    +
    +You should build one binary with the default options. configure +now enables most useful options, and the trend goes to making them +runtime-switchable, too, so there is usually no drawback to enbaling them, +except higher disk and possibly memory usage. The perl interpreter should +be enabled, as important functionality (menus, selection, likely more in +the future) depends on it. +
    +
    +

    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).

    +
    +

    +
    I need to make it setuid/setgid to support utmp/ptys on my OS, is this safe?
    +
    +
    +It should be, starting with release 7.1. You are encouraged to properly +install urxvt with privileges necessary for your OS now. +
    +
    +

    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.

    +
    +

    When I log-in to another system it tells me about missing terminfo data?
    @@ -139,6 +353,13 @@ the rxvt terminfo file with the rxvt-unicode one.

    +
    tic outputs some error when compiling the terminfo entry.
    +
    +
    +Most likely it's the empty definition for enacs=. Just replace it by +enacs=\E[0@ and try again. +
    +

    bash's readline does not work correctly under rxvt.
    I need a termcap file entry.
    @@ -373,6 +594,18 @@ box data is correct.

    +
    On Solaris 9, many line-drawing characters are too wide.
    +
    +
    +Seems to be a known bug, read +http://nixdoc.net/files/forum/about34198.html. Some people use the +following ugly workaround to get non-double-wide-characters working: +
    +
    +
    +   #define wcwidth(x) wcwidth(x) > 1 ? 1 : wcwidth(x)
    +
    +

    My Compose (Multi_key) key is no longer working.
    @@ -440,13 +673,17 @@ wchar_t. This is, of course, completely fine with respect to standards.

    -

    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.

    +

    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.

    +
    +
    +

    __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 @@ -461,6 +698,29 @@ complete replacements for them :)

    +
    I use Solaris 9 and it doesn't compile/work/etc.
    +
    +
    +Try the diff in doc/solaris9.patch as a base. It fixes the worst +problems with wcwidth and a compile problem. +
    +

    +
    How can I use rxvt-unicode under cygwin?
    +
    +
    +rxvt-unicode should compile and run out of the box on cygwin, using +the X11 libraries that come with cygwin. libW11 emulation is no +longer supported (and makes no sense, either, as it only supported a +single font). I recommend starting the X-server in -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.

    +
    +

    How does rxvt-unicode determine the encoding to use?
    Is there an option to switch encodings?
    @@ -578,7 +838,7 @@
    -   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 @@ -612,10 +872,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.

    @@ -624,7 +884,7 @@
    Yes, the most obvious way to speed it up is to avoid Xft entirely, as it is simply slow. If you still want Xft fonts you might try to disable -antialiasing (by appending :antialiasing=false), which saves lots of +antialiasing (by appending :antialias=false), which saves lots of memory and also speeds up rendering considerably.

    @@ -648,7 +908,7 @@ some editors prematurely may leave the mouse in mouse report mode. I've heard that tcsh may use mouse reporting unless it otherwise specified. A quick check is to see if cut/paste works when the Alt or Shift keys are -depressed. See rxvt(7) +depressed.

    What's with this bold/blink stuff?
    @@ -735,17 +995,8 @@
    How can I start rxvtd in a race-free way?
    -Despite it's name, rxvtd is not a real daemon, but more like a -server that answers rxvtc's requests, so it doesn't background -itself. -
    -
    -

    To ensure rxvtd is listening on it's socket, you can use the -following method to wait for the startup message before continuing:

    -
    -
    -
    -  { rxvtd & } | read
    +Try rxvtd -f -o, which tells rxvtd to open the +display, create the listening socket and then fork.

    What's with the strange Backspace/Delete key behaviour?
    @@ -784,7 +1035,7 @@ $ rxvt
    -

    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:

    @@ -945,8 +1196,8 @@

    DESCRIPTION

    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.

    +followed by pixmap support and last by a description of all features +selectable at configure time.


    @@ -1589,11 +1840,6 @@ -
    hSend Mouse X & Y on button press.
    lNo mouse reporting.
    Ps = 10 > (rxvt)
    -
    - - -
    hmenuBar visible
    lmenuBar invisible
    Ps = 25 >
    @@ -1668,6 +1914,11 @@
    +
    hScroll to bottom when a key is pressed
    lDon't scroll to bottom when a key is pressed
    Ps = 1021 > (rxvt)
    +
    + + +
    hBold/italic implies high intensity (see option -is)
    lFont styles have no effect on intensity (Compile styles)
    Ps = 1047 >
    @@ -1709,604 +1960,32 @@ - - - - + + + + - + - - + + - + + + - - - + + + + + +
    Ps = 12Change colour of text cursor foreground to Pt
    Ps = 13Change colour of mouse foreground to Pt
    Ps = 17Change colour of highlight characters to Pt
    Ps = 18Change colour of bold characters to Pt
    Ps = 19Change colour of underlined characters to Pt
    Ps = 20Change default background to Pt
    Ps = 39Change default foreground colour to Pt rxvt compile-time option
    Ps = 18Change colour of bold characters to Pt [deprecated, see 706]
    Ps = 19Change colour of underlined characters to Pt [deprecated, see 707]
    Ps = 20Change background pixmap parameters (see section XPM) (Compile XPM).
    Ps = 39Change default foreground colour to Pt.
    Ps = 46Change Log File to Pt unimplemented
    Ps = 49Change default background colour to Pt rxvt compile-time option
    Ps = 49Change default background colour to Pt.
    Ps = 50Set 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 = 55Log all scrollback buffer and all of screen to Pt
    Ps = 701Change current locale to Pt, or, if Pt is ?, return the current locale (rxvt extension)
    Ps = 703Menubar command Pt rxvt compile-time option (rxvt-unicode extension)
    Ps = 701Change current locale to Pt, or, if Pt is ?, return the current locale (Compile frills).
    Ps = 702Request 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 = 704Change colour of italic characters to Pt
    Ps = 705Change background pixmap tint colour to Pt
    Ps = 705Change background pixmap tint colour to Pt (Compile transparency).
    Ps = 706Change colour of bold characters to Pt
    Ps = 707Change colour of underlined characters to Pt
    Ps = 710Set normal fontset to Pt. Same as Ps = 50.
    Ps = 711Set bold fontset to Pt. Similar to Ps = 50.
    Ps = 712Set italic fontset to Pt. Similar to Ps = 50.
    Ps = 713Set bold-italic fontset to Pt. Similar to Ps = 50.
    Ps = 711Set bold fontset to Pt. Similar to Ps = 50 (Compile styles).
    Ps = 712Set italic fontset to Pt. Similar to Ps = 50 (Compile styles).
    Ps = 713Set bold-italic fontset to Pt. Similar to Ps = 50 (Compile styles).
    Ps = 720Move viewing window up by Pt lines, or clear scrollback buffer if Pt = 0 (Compile frills).
    Ps = 721Move viewing window down by Pt lines, or clear scrollback buffer if Pt = 0 (Compile frills).
    Ps = 777Call the perl extension with the given string, which should be of the form extension:parameters (Compile perl).


    -

    menuBar

    -

    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.

    -

    -

    -

    Overview of menuBar operation

    -

    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]

    -

    -

    -

    -

    Commands

    -
    -
    [menu:+name] >
    -
    -
    -access the named menuBar for creation or alteration. If a new menuBar -is created, it is called name (max of 15 chars) and the current -menuBar is pushed onto the stack -
    -

    -
    [menu]
    -
    -
    -access the current menuBar for alteration -
    -

    -
    [title:+string] >
    -
    -
    -set the current menuBar's title to string, which may contain the -following format specifiers: -
    -
    -
    -   B<%n>  rxvt name (as per the B<-name> command-line option)
    -   B<%v>  rxvt version
    -   B<%%>  literal B<%> character
    -
    -

    -
    [done]
    -
    -
    -set menuBar access as readonly. -End-of-file tag for [read:+file] > operations. -
    -

    -
    [read:+file] >
    -
    -
    -read menu commands directly from file (extension ``.menu'' will be -appended if required.) Start reading at a line with [menu] or < -[menu:+name > and continuing until [done] is encountered. -
    -
    -

    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!.

    -
    -

    -
    [read:+file;+name] >
    -
    -
    -The same as [read:+file] >, but start reading at a line with -[menu:+name] > and continuing until [done:+name] > or -[done] is encountered. -
    -

    -
    [dump]
    -
    -
    -dump all menuBars to the file /tmp/rxvt-PID in a format suitable for -later rereading. -
    -

    -
    [rm:name]
    -
    -
    -remove the named menuBar -
    -

    -
    [rm] [rm:]
    -
    -
    -remove the current menuBar -
    -

    -
    [rm*] [rm:*]
    -
    -
    -remove all menuBars -
    -

    -
    [swap]
    -
    -
    -swap the top two menuBars -
    -

    -
    [prev]
    -
    -
    -access the previous menuBar -
    -

    -
    [next]
    -
    -
    -access the next menuBar -
    -

    -
    [show]
    -
    -
    -Enable display of the menuBar -
    -

    -
    [hide]
    -
    -
    -Disable display of the menuBar -
    -

    -
    [pixmap:+name] >
    -
    -
    [pixmap:+name;scaling] >
    -
    -
    -(set the background pixmap globally -
    -
    -

    A Future implementation may make this local to the menubar >)

    -
    -

    -
    [:+command:] >
    -
    -
    -ignore the menu readonly status and issue a command to or a menu or -menuitem or change the ; a useful shortcut for setting the quick arrows -from a menuBar. -
    -

    -

    -

    -

    -

    Adding and accessing menus

    -

    The following commands may also be + prefixed.

    -
    -
    /+
    -
    -
    -access menuBar top level -
    -

    -
    ./+
    -
    -
    -access current menu level -
    -

    -
    ../+
    -
    -
    -access parent menu (1 level up) -
    -

    -
    ../../
    -
    -
    -access parent menu (multiple levels up) -
    -

    -
    /path/menu >
    -
    -
    -add/access menu -
    -

    -
    /path/menu/* >
    -
    -
    -add/access menu and clear it if it exists -
    -

    -
    /path/{-} >
    -
    -
    -add separator -
    -

    -
    /path/{item} >
    -
    -
    -add item as a label -
    -

    -
    /path/{item} action >
    -
    -
    -add/alter menuitem with an associated action -
    -

    -
    /path/{item}{right-text} >
    -
    -
    -add/alter menuitem with right-text as the right-justified text -and as the associated action -
    -

    -
    /path/{item}{rtext} action >
    -
    -
    -add/alter menuitem with an associated action and with rtext as -the right-justified text. -
    -

    -
    -
    Special characters in action must be backslash-escaped:
    -
    -
    -\a \b \E \e \n \r \t \octal -
    -

    -
    or in control-character notation:
    -
    -
    -^@, ^A .. ^Z .. ^_, ^? -
    -

    -

    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.

    -
    -
    For example,
    -
    -
    -M-xapropos is equivalent to \Exapropos\r -
    -

    -
    and
    -
    -
    -\E]703;mona;100 is equivalent to \E]703;mona;100\a -
    -

    -

    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.

    -
    -
    For example,
    -
    -
    -/File/{Open}{^X^F} is equivalent to /File/{Open}{^X^F} ^X^F -
    -

    -

    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.

    -
    -
    For example,
    -
    -
    -/File/{Open}{Open} Open-File-Action -
    -

    -
    or hiding it
    -
    -
    -/File/{.anylabel}{Open} Open-File-Action -
    -

    -

    -

    -

    -

    Removing menus

    -
    -
    -/*+ >
    -
    -
    -remove all menus from the menuBar, the same as [clear] -
    -

    -
    -+/pathmenu+ >
    -
    -
    -remove menu -
    -

    -
    -+/path{item}+ >
    -
    -
    -remove item -
    -

    -
    -+/path{-} >
    -
    -
    -remove separator) -
    -

    -
    -/path/menu/*
    -
    -
    -remove all items, separators and submenus from menu -
    -

    -

    -

    -

    -

    Quick Arrows

    -

    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:

    -
    -
    <r+Right >>
    -
    -
    <l+Left >>
    -
    -
    <u+Up >>
    -
    -
    <d+Down >>
    -
    -
    -Define actions for the respective arrow buttons -
    -

    -
    <b+Begin >>
    -
    -
    <e+End >>
    -
    -
    -Define common beginning/end parts for quick arrows which used in -conjunction with the above <r> <l> <u> <d> constructs -
    -

    -
    -
    For example, define arrows individually,
    -
    -
    -
    - <u>\E[A
    -
    -
    -
    - <d>\E[B
    -
    -
    -
    - <r>\E[C
    -
    -
    -
    - <l>\E[D
    -
    -
    or all at once
    -
    -
    -
    - <u>\E[AZ<><d>\E[BZ<><r>\E[CZ<><l>\E[D
    -
    -
    or more compactly (factoring out common parts)
    -
    -
    -
    - <b>\E[<u>AZ<><d>BZ<><r>CZ<><l>D
    -
    -
    -

    -

    -

    -

    Command Summary

    -

    A short summary of the most common commands:

    -
    -
    [menu:name]
    -
    -
    -use an existing named menuBar or start a new one -
    -

    -
    [menu]
    -
    -
    -use the current menuBar -
    -

    -
    [title:string]
    -
    -
    -set menuBar title -
    -

    -
    [done]
    -
    -
    -set menu access to readonly and, if reading from a file, signal EOF -
    -

    -
    [done:name]
    -
    -
    -if reading from a file using [read:file;name] signal EOF -
    -

    -
    [rm:name]
    -
    -
    -remove named menuBar(s) -
    -

    -
    [rm] [rm:]
    -
    -
    -remove current menuBar -
    -

    -
    [rm*] [rm:*]
    -
    -
    -remove all menuBar(s) -
    -

    -
    [swap]
    -
    -
    -swap top two menuBars -
    -

    -
    [prev]
    -
    -
    -access the previous menuBar -
    -

    -
    [next]
    -
    -
    -access the next menuBar -
    -

    -
    [show]
    -
    -
    -map menuBar -
    -

    -
    [hide]
    -
    -
    -unmap menuBar -
    -

    -
    [pixmap;file]
    -
    -
    [pixmap;file;scaling]
    -
    -
    -set a background pixmap -
    -

    -
    [read:file]
    -
    -
    [read:file;name]
    -
    -
    -read in a menu from a file -
    -

    -
    [dump]
    -
    -
    -dump out all menuBars to /tmp/rxvt-PID -
    -

    -
    /
    -
    -
    -access menuBar top level -
    -

    -
    ./
    -
    -
    ../
    -
    -
    ../../
    -
    -
    -access current or parent menu level -
    -

    -
    /path/menu
    -
    -
    -add/access menu -
    -

    -
    /path/{-}
    -
    -
    -add separator -
    -

    -
    /path/{item}{rtext} action
    -
    -
    -add/alter menu item -
    -

    -
    -/*
    -
    -
    -remove all menus from the menuBar -
    -

    -
    -/path/menu
    -
    -
    -remove menu items, separators and submenus from menu -
    -

    -
    -/path/menu
    -
    -
    -remove menu -
    -

    -
    -/path/{item}
    -
    -
    -remove item -
    -

    -
    -/path/{-}
    -
    -
    -remove separator -
    -

    -
    <b>Begin<r>Right<l>Left<u>Up<d>Down<e>End
    -
    -
    -menu quick arrows -
    -

    -

    -

    -

    XPM

    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 @@ -2496,22 +2175,28 @@


    CONFIGURE OPTIONS

    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

    --enable-everything
    -Add support for all non-multichoice options listed in ``./configure ---help''. Note that unlike other enable options this is order dependant. -You can specify this and then disable options which this enables by -following this with the appropriate commands. +Add (or remove) support for all non-multichoice options listed in ``./configure +--help''. +
    +
    +

    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.

    -
    --enable-xft
    +
    --enable-xft (default: enabled)
    Add support for Xft (anti-aliases, among others) fonts. Xft fonts are @@ -2519,22 +2204,23 @@ don't pay for them.

    -
    --enable-font-styles
    +
    --enable-font-styles (default: on)
    Add support for bold, italic and bold italic > font styles. The fonts can be set manually or automatically.

    -
    --with-codesets=NAME,...
    +
    --with-codesets=NAME,... (default: all)
    -Compile in support for additional codeset (encoding) groups (eu, vn are -always compiled in, which includes most 8-bit character sets). These -codeset tables are currently only used for driving X11 core fonts, they -are not required for Xft fonts. Compiling them in will make your binary -bigger (together about 700kB), but it doesn't increase memory usage unless -you use an X11 font requiring one of these encodings. +Compile in support for additional codeset (encoding) groups (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.
    @@ -2544,7 +2230,7 @@
    allall available codeset groups
    jp_extrarely used but big japanese encodings
    krkorean encodings

    -
    --enable-xim
    +
    --enable-xim (default: on)
    Add support for XIM (X Input Method) protocol. This allows using @@ -2552,13 +2238,16 @@ set up the input for people using dead keys or compose keys.

    -
    --enable-unicode3
    +
    --enable-unicode3 (default: off)
    -Enable direct support for displaying unicode codepoints above +Recommended to stay off unless you really need non-BMP characters. +
    +
    +

    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 @@ -2568,7 +2257,7 @@ (input/output and cut&paste still work, though).

    -
    --enable-combining
    +
    --enable-combining (default: on)
    Enable automatic composition of combining characters into @@ -2578,10 +2267,9 @@ new pseudo-characters when no precomposed form exists.
    -

    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 @@ -2593,36 +2281,36 @@ tell me how these are to be used...).

    -
    --enable-fallback(=CLASS)
    +
    --enable-fallback(=CLASS) (default: Rxvt)
    -When reading resource settings, also read settings for class CLASS -(default: Rxvt). To disable resource fallback use --disable-fallback. +When reading resource settings, also read settings for class CLASS. To +disable resource fallback use --disable-fallback.

    -
    --with-res-name=NAME
    +
    --with-res-name=NAME (default: urxvt)
    -Use the given name (default: urxvt) as default application name when +Use the given name as default application name when reading resources. Specify --with-res-name=rxvt to replace rxvt.

    -
    --with-res-class=CLASS
    +
    --with-res-class=CLASS /default: URxvt)
    -Use the given class (default: URxvt) as default application class -when reading resources. Specify --with-res-class=Rxvt to replace +Use the given class as default application class +when reading resources. Specify --with-res-class=Rxvt to replace rxvt.

    -
    --enable-utmp
    +
    --enable-utmp (default: on)
    Write user and tty to utmp file (used by programs like w) at start of rxvt execution and delete information when rxvt exits.

    -
    --enable-wtmp
    +
    --enable-wtmp (default: on)
    Write user and tty to wtmp file (used by programs like last) at @@ -2630,7 +2318,7 @@ option requires --enable-utmp to also be specified.

    -
    --enable-lastlog
    +
    --enable-lastlog (default: on)
    Write user and tty to lastlog file (used by programs like @@ -2638,57 +2326,50 @@ --enable-utmp to also be specified.

    -
    --enable-xpm-background
    +
    --enable-xpm-background (default: on)
    Add support for XPM background pixmaps.

    -
    --enable-transparency
    +
    --enable-transparency (default: on)
    Add support for inheriting parent backgrounds thus giving a fake transparency to the term.

    -
    --enable-fading
    -
    -
    -Add support for fading the text when focus is lost. -
    -

    -
    --enable-tinting
    +
    --enable-fading (default: on)
    -Add support for tinting of transparent backgrounds. +Add support for fading the text when focus is lost (requires --enable-transparency).

    -
    --enable-menubar
    +
    --enable-tinting (default: on)
    -Add support for our menu bar system (this interacts badly with -dynamic locale switching currently). +Add support for tinting of transparent backgrounds (requires --enable-transparency).

    -
    --enable-rxvt-scroll
    +
    --enable-rxvt-scroll (default: on)
    Add support for the original rxvt scrollbar.

    -
    --enable-next-scroll
    +
    --enable-next-scroll (default: on)
    Add support for a NeXT-like scrollbar.

    -
    --enable-xterm-scroll
    +
    --enable-xterm-scroll (default: on)
    Add support for an Xterm-like scrollbar.

    -
    --enable-plain-scroll
    +
    --enable-plain-scroll (default: on)
    Add support for a very unobtrusive, plain-looking scrollbar that @@ -2696,14 +2377,7 @@ many years.

    -
    --enable-half-shadow
    -
    -
    -Make shadows on the scrollbar only half the normal width & height. -only applicable to rxvt scrollbars. -
    -

    -
    --enable-ttygid
    +
    --enable-ttygid (default: off)
    Change tty device setting to group ``tty'' - only use this if @@ -2713,53 +2387,29 @@
    --disable-backspace-key
    -Disable any handling of the backspace key by us - let the X server -do it. +Removes any handling of the backspace key by us - let the X server do it.

    --disable-delete-key
    -Disable any handling of the delete key by us - let the X server +Removes any handling of the delete key by us - let the X server do it.

    --disable-resources
    -Remove all resources checking. -
    -

    -
    --enable-xgetdefault
    -
    -
    -Make resources checking via 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.

    -
    -

    -
    --enable-strings
    -
    -
    -Add support for our possibly faster 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.

    --disable-swapscreen
    -Remove support for swap screen. +Remove support for secondary/swap screen.

    -
    --enable-frills
    +
    --enable-frills (default: on)
    Add support for many small features that are not essential but nice to @@ -2767,48 +2417,54 @@ disable this.
    -

    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 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
    -  -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) + sgr modes 90..97 and 100..107

    -
    --enable-iso14755
    +
    --enable-iso14755 (default: on)
    Enable extended ISO 14755 support (see rxvt(1), or doc/rxvt.1.txt). Basic support (section 5.1) is enabled by ---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.

    -
    --enable-keepscrolling
    +
    --enable-keepscrolling (default: on)
    Add support for continual scrolling of the display when you hold the mouse button down on a scrollbar arrow.

    -
    --enable-mousewheel
    +
    --enable-mousewheel (default: on)
    Add support for scrolling via mouse wheel or buttons 4 & 5.

    -
    --enable-slipwheeling
    +
    --enable-slipwheeling (default: on)
    Add support for continual scrolling (using the mouse wheel as an @@ -2822,7 +2478,7 @@ Remove support for mouse selection style like that of xterm.

    -
    --enable-dmalloc
    +
    --enable-dmalloc (default: off)
    Use Gray Watson's malloc - which is good for debugging See @@ -2835,46 +2491,49 @@ you use either) .

    -
    --enable-dlmalloc
    +
    --enable-dlmalloc (default: off)
    Use Doug Lea's malloc - which is good for a production version See http://g.oswego.edu/dl/html/malloc.html for details.

    -
    --enable-smart-resize
    +
    --enable-smart-resize (default: on)
    -Add smart growth/shrink behaviour when changing font size via from hot -keys. This should keep in a fixed position the rxvt corner which is -closest to a corner of the screen. +Add smart growth/shrink behaviour when changing font size via hot +keys. This should keep the window corner which is closest to a corner of +the screen in a fixed position.

    -
    --enable-cursor-blink
    +
    --enable-pointer-blank (default: on)
    -Add support for a blinking cursor. +Add support to have the pointer disappear when typing or inactive.

    -
    --enable-pointer-blank
    +
    --enable-perl (default: on)
    -Add support to have the pointer disappear when typing or inactive. +Enable an embedded perl interpreter. See the rxvtperl(3) +manpage (doc/rxvtperl.txt) for more info on this feature, or the files +in src/perl-ext/ for the extensions that are installed by default. The +perl interpreter that is used can be specified via the PERL environment +variable when running configure.

    -
    --with-name=NAME
    +
    --with-name=NAME (default: urxvt)
    -Set the basename for the installed binaries (default: urxvt, resulting +Set the basename for the installed binaries, resulting in urxvt, urxvtd etc.). Specify --with-name=rxvt to replace with rxvt.

    -
    --with-term=NAME
    +
    --with-term=NAME (default: rxvt-unicode)
    -Change the environmental variable for the terminal to NAME (default -rxvt-unicode) +Change the environmental variable for the terminal to NAME.

    --with-terminfo=PATH