-- Leo's gemini proxy
-- Connecting to git.thebackupbox.net:1965...
-- Connected
-- Sending request
-- Meta line: 20 text/gemini
repo: rxvt-unicode-sixel action: commit revision: path_from: revision_from: cffa615c6c7c20d5ea157aacda568e248467cc8c: path_to: revision_to:
commit cffa615c6c7c20d5ea157aacda568e248467cc8c Author: Marc Lehmann <schmorp@schmorp.de> Date: Fri Dec 26 22:52:23 2014 +0000 *** empty log message *** diff --git a/Changes b/Changes
--- a/Changes +++ b/Changes @@ -35,6 +35,7 @@ TODO IMPL: recalc bg always on bg colour change TODO: document typical actions in rxvt.1.pod keysyms TODO: warn with a graphical message when env has been modified +TODO: c&c perl socket via daemon-ext mechanism TODO: axe :BINDING:, move to init hook TODO: no autloading for binding, maybe futgure for resource @@ -59,6 +60,8 @@ TODO: think aboiut actions - are thesy tetx vstrings (utf-8) or octets - add 'builtin-string' action for keysym resources that restores string mappings for keys that have predefined actions in urxvt. - add -k option to urxvtc for killing the daemon process. + - document urxvtd's -e/--eval option that was implemented in 9.16, + but not documented. - add -dockapp option to make the wm treat urxvt as a dockapp. - add -mc option and multiClickTime resource to set the maximum time between multi-click select events (patch by Joe Peterson). diff --git a/README.FAQ b/README.FAQ
--- a/README.FAQ +++ b/README.FAQ @@ -6,11 +6,10 @@ RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS interested in learning about new and exciting problems (but not FAQs :). I use Gentoo, and I have a problem... - There are three big problems with Gentoo Linux: first of all, most if - not all Gentoo systems are completely broken (missing or mismatched - header files, broken compiler etc. are just the tip of the iceberg); - secondly, the Gentoo maintainer thinks it is a good idea to add broken - patches to the code; and lastly, it should be called Gentoo GNU/Linux. + There are two big problems with Gentoo Linux: first, most if not all + Gentoo systems are completely broken (missing or mismatched header + files, broken compiler etc. are just the tip of the iceberg); secondly, + it should be called Gentoo GNU/Linux. For these reasons, it is impossible to support rxvt-unicode on Gentoo. Problems appearing on Gentoo systems will usually simply be ignored @@ -484,8 +483,8 @@ xterm? I need this to decide about setting colours etc. URxvt.perl-ext-common: default,-readline - My numerical keypad acts weird and generates differing output? - Some Debian GNUL/Linux users seem to have this problem, although no + My numeric keypad acts weird and generates differing output? + Some Debian GNU/Linux users seem to have this problem, although no specific details were reported so far. It is possible that this is caused by the wrong "TERM" setting, although the details of whether and how this can happen are unknown, as "TERM=rxvt" should offer a @@ -776,10 +775,7 @@ xterm? I need this to decide about setting colours etc. infocmp rxvt-unicode | ssh $REMOTE "mkdir -p .terminfo && cat >/tmp/ti && tic /tmp/ti" One some systems you might need to set $TERMINFO to the full path of - $HOME/.terminfo for this to work. Debian systems have a broken tic which - will not be able to overwrite the existing rxvt-unicode terminfo entry - - you might have to manually delete all traces of rxvt-unicode* from - /etc/terminfo. + $HOME/.terminfo for this to work. If you cannot or do not want to do this, then you can simply set "TERM=rxvt" or even "TERM=xterm", and live with the small number of @@ -845,9 +841,8 @@ xterm? I need this to decide about setting colours etc. Why are the secondary screen-related options not working properly? Make sure you are using "TERM=rxvt-unicode". Some pre-packaged - distributions (most notably Debian GNU/Linux) break rxvt-unicode by - setting "TERM" to "rxvt", which doesn't have these extra features. - Unfortunately, some of these (most notably, again, Debian GNU/Linux) + distributions break rxvt-unicode by setting "TERM" to "rxvt", which + doesn't have these extra features. Unfortunately, some of these furthermore fail to even install the "rxvt-unicode" terminfo file, so you will need to install it on your own (See the question When I log-in to another system it tells me about missing terminfo data? on how to do @@ -990,21 +985,6 @@ xterm? I need this to decide about setting colours etc. So the only workaround is not to kill your Input Method Servers. Operating Systems / Package Maintaining - I am using Debian GNU/Linux and have a problem... - 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/pkg/rxvt-unicode.html>) 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 - 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. - 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 diff --git a/README.configure b/README.configure
--- a/README.configure +++ b/README.configure @@ -192,7 +192,7 @@ CONFIGURE OPTIONS verbose X error handling --enable-iso14755 (default: on) - Enable extended ISO 14755 support (see urxvt(1)). Basic support + Enable extended ISO 14755 support (see rxvt(1)). Basic support (section 5.1) is enabled by "--enable-frills", while support for 5.2, 5.3 and 5.4 is enabled with this switch. @@ -224,8 +224,8 @@ CONFIGURE OPTIONS Add support to have the pointer disappear when typing or inactive. --enable-perl (default: on) - Enable an embedded perl interpreter. See the urxvtperl(3) manpage - for more info on this feature, or the files in src/perl/ for the + Enable an embedded perl interpreter. See the rxvtperl(3) manpage for + more info on this feature, or the files in src/perl/ 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. Even when compiled in, perl will *not* be @@ -247,7 +247,7 @@ CONFIGURE OPTIONS "rxvt-unicode-256color" by default (doc/etc/ contains termcap/terminfo definitions for both). - It also results in higher memory usage and can slow down urxvt + It also results in higher memory usage and can slow down rxvt dramatically when more than six fonts are in use by a terminal instance. diff --git a/doc/etc/rxvt-unicode.termcap b/doc/etc/rxvt-unicode.termcap
--- a/doc/etc/rxvt-unicode.termcap +++ b/doc/etc/rxvt-unicode.termcap @@ -2,6 +2,8 @@ # Updated: Özgür Kesim <kesim@math.fu-berlin.de> 02 Nov 1997 # Updated: Marc Lehmann <schmorp@schmorp.de>, 17 Feb 2005 # Updated: Marc Lehmann <schmorp@schmorp.de>, 04 Nov 2008: change init/reset sequences +# Updated: Marc Lehmann <schmorp@schmorp.de>, 24 Nov 2014: implement cvvis as blinking cursor +# Updated: Marc Lehmann <schmorp@schmorp.de>, 13 Dec 2014: removed superfluous 0 from sgr # (untranslatable capabilities removed to fit entry within 1023 bytes) # (sgr removed to fit entry within 1023 bytes) # (acsc removed to fit entry within 1023 bytes) @@ -21,11 +23,11 @@ rxvt-unicode|rxvt-unicode terminal (X Window System):\ :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=\E[B:ke=\E>:\ :kh=\E[7~:kl=\E[D:kr=\E[C:ks=\E=:ku=\E[A:le=^H:mb=\E[5m:\ - :md=\E[1m:me=\E[0m: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:ts=\E]2;:ue=\E[24m:\ - :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:\ - :vs=\E[?25h: + :md=\E[1m:me=\E[m: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:ts=\E]2;:ue=\E[24m:up=\E[A:us=\E[4m:\ + :vb=\E[?5h\E[?5l:ve=\E[?12l\E[?25h:vi=\E[?25l:\ + :vs=\E[?12;25h: rxvt-unicode-256color|rxvt-unicode terminal with 256 colors (X Window System):\ :Co#256:pa#32767:tc=rxvt-unicode: diff --git a/doc/rxvt.1.man.in b/doc/rxvt.1.man.in
--- a/doc/rxvt.1.man.in +++ b/doc/rxvt.1.man.in @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "@@RXVT_NAME@@ 1" -.TH @@RXVT_NAME@@ 1 "2014-04-26" "@@RXVT_VERSION@@" "RXVT-UNICODE" +.TH @@RXVT_NAME@@ 1 "2014-12-26" "@@RXVT_VERSION@@" "RXVT-UNICODE" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -238,8 +238,9 @@ of graphical corruption. This is harmless, but we can't do anything about this, so watch out] .IP "\fB\-visual\fR \fIvisualID\fR" 4 .IX Item "-visual visualID" -Compile \fIfrills\fR: Use the given visual (see e.g. \f(CW\*(C`xdpyinfo\*(C'\fR for possible -visual ids). +Compile \fIfrills\fR: Use the given visual (see e.g. \f(CW\*(C`xdpyinfo\*(C'\fR for +possible visual ids) instead of the default, and also allocate a private +colormap. All visual types except for DirectColor are supported. .IP "\fB\-geometry\fR \fIgeom\fR" 4 .IX Item "-geometry geom" Window geometry (\fB\-g\fR still respected); resource \fBgeometry\fR. @@ -330,6 +331,9 @@ rather than the default executable file name. Name should not contain .IP "\fB\-ls\fR|\fB+ls\fR" 4 .IX Item "-ls|+ls" Start as a login\-shell/sub\-shell; resource \fBloginShell\fR. +.IP "\fB\-mc\fR \fImilliseconds\fR" 4 +.IX Item "-mc milliseconds" +Specify the maximum time between multi-click selections. .IP "\fB\-ut\fR|\fB+ut\fR" 4 .IX Item "-ut|+ut" Compile \fIutmp\fR: Inhibit/enable writing a utmp entry; resource @@ -401,6 +405,10 @@ support \s-1MWM\s0 hints (e.g. kwin), enables override-redirect mode. .IX Item "-override-redirect" Compile \fIfrills\fR: Sets override-redirect on the window; resource \&\fBoverride-redirect\fR. +.IP "\fB\-dockapp\fR" 4 +.IX Item "-dockapp" +Sets the initial state of the window to WithdrawnState, which makes +window managers that support this extension treat it as a dockapp. .IP "\fB\-sbg\fR" 4 .IX Item "-sbg" Compile \fIfrills\fR: Disable the usage of the built-in block graphics/line @@ -829,6 +837,10 @@ de-iconify (map) on receipt of a bell character [default]. \&\fBTrue\fR: start as a login shell by prepending a `\-' to \fBargv[0]\fR of the shell; option \fB\-ls\fR. \fBFalse\fR: start as a normal sub-shell [default]; option \fB+ls\fR. +.IP "\fBmultiClickTime:\fR \fInumber\fR" 4 +.IX Item "multiClickTime: number" +Specify the maximum time in milliseconds between multi-click select +events. The default is 500 milliseconds; option \fB\-mc\fR. .IP "\fButmpInhibit:\fR \fIboolean\fR" 4 .IX Item "utmpInhibit: boolean" \&\fBTrue\fR: inhibit writing record into the system log file \fButmp\fR; @@ -1049,35 +1061,76 @@ Sets the working directory for the shell (or the command specified via \&\fB\-e\fR). The \fIpath\fR must be an absolute path and it must exist for @@RXVT_NAME@@ to start. If it isn't specified then the current working directory will be used; option \fB\-cd\fR. -.IP "\fBkeysym.\fR\fIsym\fR: \fIstring\fR" 4 -.IX Item "keysym.sym: string" -Compile \fIfrills\fR: Associate \fIstring\fR with keysym \fIsym\fR. The -intervening resource name \fBkeysym.\fR cannot be omitted. +.IP "\fBkeysym.\fR\fIsym\fR: \fIaction\fR" 4 +.IX Item "keysym.sym: action" +Compile \fIfrills\fR: Associate \fIaction\fR with keysym \fIsym\fR. The intervening +resource name \fBkeysym.\fR cannot be omitted. .Sp -The format of \fIsym\fR is "\fI(modifiers\-)key\fR", where \fImodifiers\fR can be -any combination of \fBISOLevel3\fR, \fBAppKeypad\fR, \fBControl\fR, \fBNumLock\fR, -\&\fBShift\fR, \fBMeta\fR, \fBLock\fR, \fBMod1\fR, \fBMod2\fR, \fBMod3\fR, \fBMod4\fR, \fBMod5\fR, -and the abbreviated \fBI\fR, \fBK\fR, \fBC\fR, \fBN\fR, \fBS\fR, \fBM\fR, \fBA\fR, \fBL\fR, \fB1\fR, -\&\fB2\fR, \fB3\fR, \fB4\fR, \fB5\fR. +Using this resource, you can map key combinations such as +\&\f(CW\*(C`Ctrl\-Shift\-BackSpace\*(C'\fR to various actions, such as outputting a different +string than would normally result from that combination, making the +terminal scroll up or down the way you want it, or any other thing an +extension might provide. +.Sp +The key combination that triggers the action, \fIsym\fR, has the following format: +.Sp +.Vb 1 +\& (modifiers\-)key +.Ve +.Sp +Where \fImodifiers\fR can be any combination of \fBISOLevel3\fR, \fBAppKeypad\fR, +\&\fBControl\fR, \fBNumLock\fR, \fBShift\fR, \fBMeta\fR, \fBLock\fR, \fBMod1\fR, \fBMod2\fR, +\&\fBMod3\fR, \fBMod4\fR, \fBMod5\fR, and the abbreviated \fBI\fR, \fBK\fR, \fBC\fR, \fBN\fR, +\&\fBS\fR, \fBM\fR, \fBA\fR, \fBL\fR, \fB1\fR, \fB2\fR, \fB3\fR, \fB4\fR, \fB5\fR. .Sp The \fBNumLock\fR, \fBMeta\fR and \fBISOLevel3\fR modifiers are usually aliased to whatever modifier the NumLock key, Meta/Alt keys or \s-1ISO\s0 Level3 Shift/AltGr keys are being mapped. \fBAppKeypad\fR is a synthetic modifier mapped to the current application keymap mode state. .Sp -The spellings of \fIkey\fR can be obtained by using \fBxev\fR(1) command or -searching keysym macros from \fB/usr/X11R6/include/X11/keysymdef.h\fR and -omitting the prefix \fB\s-1XK_\s0\fR. Alternatively you can specify \fIkey\fR by its hex -keysym value (\fB0x0000 \- 0xFFFF\fR). Note that the lookup of \fIsym\fRs is not -performed in an exact manner; however, the closest match is assured. -.Sp -\&\fIstring\fR may contain escape values (\f(CW\*(C`\en\*(C'\fR: newline, \f(CW\*(C`\e000\*(C'\fR: octal +Due the the large number of modifier combinations, a key mapping will +match if \fIat least\fR the specified identifiers are being set, and no other +key mappings with those and more bits are being defined. That means that +defining a mapping for \f(CW\*(C`a\*(C'\fR will automatically provide definitions for +\&\f(CW\*(C`Meta\-a\*(C'\fR, \f(CW\*(C`Shift\-a\*(C'\fR and so on, unless some of those are defined mappings +themselves. See the \f(CW\*(C`builtin:\*(C'\fR action, below, for a way to work around +this when this is a problem. +.Sp +The spelling of \fIkey\fR depends on your implementation of X. An easy way to +find a key name is to use the \fBxev\fR(1) command. You can find a list by +looking for the \f(CW\*(C`XK_\*(C'\fR macros in the \fBX11/keysymdef.h\fR include file (omit +the \f(CW\*(C`XK_\*(C'\fR prefix). Alternatively you can specify \fIkey\fR by its hex keysym +value (\fB0x0000 \- 0xFFFF\fR). +.Sp +As with any resource value, the \fIaction\fR string may contain backslash +escape sequences (\f(CW\*(C`\en\*(C'\fR: newline, \f(CW\*(C`\e\e\*(C'\fR: backslash, \f(CW\*(C`\e000\*(C'\fR: octal number), see \s-1RESOURCES\s0 in \f(CW\*(C`man 7 X\*(C'\fR for further details. .Sp -You can define a range of keysyms in one shot by -loading the \f(CW\*(C`keysym\-list\*(C'\fR perl extension and providing a \fIstring\fR -with pattern \fBlist/PREFIX/MIDDLE/SUFFIX\fR, where the delimiter `/' -should be a character not used by the strings. +An action starts with an action prefix that selects a certain type +of action, followed by a colon. An action string without colons is +interpreted as a literal string to pass to the tty (as if it was +prefixed with \f(CW\*(C`string:\*(C'\fR). +.Sp +The following action prefixes are known \- extensions can provide +additional prefixes: +.RS 4 +.IP "string:STRING" 4 +.IX Item "string:STRING" +If the \fIaction\fR starts with \f(CW\*(C`string:\*(C'\fR (or otherwise contains no colons), +then the remaining \f(CW\*(C`STRING\*(C'\fR will be passed to the program running in the +terminal. For example, you could replace whatever Shift-Tab outputs by the +string \f(CW\*(C`echo rm \-rf /\*(C'\fR followed by a newline: +.Sp +.Vb 1 +\& URxvt.keysym.Shift\-Tab: string:echo rm \-rf /\en +.Ve +.Sp +This could in theory be used to completely redefine your keymap. +.Sp +In addition, for actions of this type, you can define a range of +keysyms in one shot by loading the \f(CW\*(C`keysym\-list\*(C'\fR perl extension and +providing an \fIaction\fR with pattern \fBlist/PREFIX/MIDDLE/SUFFIX\fR, where +the delimiter `/' should be a character not used by the strings. .Sp Its usage can be demonstrated by an example: .Sp @@ -1088,40 +1141,51 @@ Its usage can be demonstrated by an example: The above line is equivalent to the following three lines: .Sp .Vb 3 -\& URxvt.keysym.Meta\-Control\-0x61: \e033<a> -\& URxvt.keysym.Meta\-Control\-0x62: \e033<b> -\& URxvt.keysym.Meta\-Control\-0x63: \e033<c> +\& URxvt.keysym.Meta\-Control\-0x61: string:\e033<a> +\& URxvt.keysym.Meta\-Control\-0x62: string:\e033<b> +\& URxvt.keysym.Meta\-Control\-0x63: string:\e033<c> .Ve -.Sp -If \fIstring\fR takes the form of \f(CW\*(C`command:STRING\*(C'\fR, the specified \fB\s-1STRING\s0\fR -is interpreted and executed as @@RXVT_NAME@@'s control sequence. For -example the following means "change the current locale to \f(CW\*(C`zh_CN.GBK\*(C'\fR +.IP "command:STRING" 4 +.IX Item "command:STRING" +If \fIaction\fR takes the form of \f(CW\*(C`command:STRING\*(C'\fR, the specified \fB\s-1STRING\s0\fR +is interpreted and executed as @@RXVT_NAME@@'s control sequence (basically +the opposite of \f(CW\*(C`string:\*(C'\fR \- instead of sending it to the program running +in the terminal, it will be treated as if it were program output). This is +most useful to feed command sequences into @@RXVT_NAME@@. +.Sp +For example the following means "change the current locale to \f(CW\*(C`zh_CN.GBK\*(C'\fR when Control-Meta-c is being pressed": .Sp .Vb 1 \& URxvt.keysym.M\-C\-c: command:\e033]701;zh_CN.GBK\e007 .Ve .Sp -If \fIstring\fR takes the form \f(CW\*(C`perl:STRING\*(C'\fR, then the specified \fB\s-1STRING\s0\fR -is passed to the \f(CW\*(C`on_user_command\*(C'\fR perl handler. See the @@RXVT_NAME@@\fIperl\fR\|(3) -manpage. For example, the \fIselection\fR extension (activated via -\&\f(CW\*(C`@@RXVT_NAME@@ \-pe selection\*(C'\fR) listens for \f(CW\*(C`selection:rot13\*(C'\fR events: +The following example will map Control\-Meta\-1 and Control\-Meta\-2 to +the fonts \f(CW\*(C`suxuseuro\*(C'\fR and \f(CW\*(C`9x15bold\*(C'\fR, so you can have some limited +font-switching at runtime: .Sp -.Vb 1 -\& URxvt.keysym.M\-C\-c: perl:selection:rot13 +.Vb 2 +\& URxvt.keysym.M\-C\-1: command:\e033]50;suxuseuro\e007 +\& URxvt.keysym.M\-C\-2: command:\e033]50;9x15bold\e007 .Ve .Sp -Due the the large number of modifier combinations, a defined key mapping -will match if \fIat least\fR the specified identifiers are being set, and -no other key mappings with those and more bits are being defined. That -means that defining a key map for \f(CW\*(C`a\*(C'\fR will automatically provide -definitions for \f(CW\*(C`Meta\-a\*(C'\fR, \f(CW\*(C`Shift\-a\*(C'\fR and so on, unless some of those are defined -mappings themselves. +Other things are possible, e.g. resizing (see @@RXVT_NAME@@(7) for more +info): .Sp -Unfortunately, this will override built-in key mappings. For example -if you overwrite the \f(CW\*(C`Insert\*(C'\fR key you will disable @@RXVT_NAME@@'s -\&\f(CW\*(C`Shift\-Insert\*(C'\fR mapping. To re-enable that, you can poke \*(L"holes\*(R" into the -user-defined keymap using the \f(CW\*(C`builtin:\*(C'\fR replacement: +.Vb 2 +\& URxvt.keysym.M\-C\-3: command:\e033[8;25;80t +\& URxvt.keysym.M\-C\-4: command:\e033[8;48;110t +.Ve +.IP "builtin:" 4 +.IX Item "builtin:" +The builtin action is the action that @@RXVT_NAME@@ would execute if no +key binding existed for the key combination. The obvious use is to undo +the effect of existing bindings. The not so obvious use is to reinstate +bindings when another binding overrides too many modifiers. +.Sp +For example if you overwrite the \f(CW\*(C`Insert\*(C'\fR key you will disable +@@RXVT_NAME@@'s \f(CW\*(C`Shift\-Insert\*(C'\fR mapping. To re-enable that, you can poke +\&\*(L"holes\*(R" into the user-defined keymap using the \f(CW\*(C`builtin:\*(C'\fR replacement: .Sp .Vb 2 \& URxvt.keysym.Insert: <my insert key sequence> @@ -1131,23 +1195,61 @@ user-defined keymap using the \f(CW\*(C`builtin:\*(C'\fR replacement: The first line defines a mapping for \f(CW\*(C`Insert\*(C'\fR and \fIany\fR combination of modifiers. The second line re-establishes the default mapping for \&\f(CW\*(C`Shift\-Insert\*(C'\fR. -.Sp -The following example will map Control\-Meta\-1 and Control\-Meta\-2 to -the fonts \f(CW\*(C`suxuseuro\*(C'\fR and \f(CW\*(C`9x15bold\*(C'\fR, so you can have some limited -font-switching at runtime: +.IP "builtin-string:" 4 +.IX Item "builtin-string:" +This action is mainly useful to restore string mappings for keys that +have predefined actions in @@RXVT_NAME@@. The exact semantics are a bit +difficult to explain \- basically, this action will send the string to the +application that would be sent if @@RXVT_NAME@@ wouldn't have a built-in +action for it. +.Sp +An example might make it clearer: @@RXVT_NAME@@ normally pastes the +selection when you press \f(CW\*(C`Shift\-Insert\*(C'\fR. With the following bindings, it +would instead emit the (undocumented, but what applications running in the +terminal might expect) sequence \f(CW\*(C`ESC [ 2 $\*(C'\fR instead: .Sp .Vb 2 -\& URxvt.keysym.M\-C\-1: command:\e033]50;suxuseuro\e007 -\& URxvt.keysym.M\-C\-2: command:\e033]50;9x15bold\e007 +\& URxvt.keysym.S\-Insert: builtin\-string: +\& URxvt.keysym.C\-S\-Insert: builtin: .Ve .Sp -Other things are possible, e.g. resizing (see @@RXVT_NAME@@(7) for more -info): +The first line disables the paste functionality for that key +combination, and the second reinstates the default behaviour for +\&\f(CW\*(C`Control\-Shift\-Insert\*(C'\fR, which would otherwise be overridden. +.Sp +Similarly, to let applications gain access to the \f(CW\*(C`C\-M\-c\*(C'\fR (copy to +clipboard) and \f(CW\*(C`C\-M\-v\*(C'\fR (paste clipboard) key combination, you can do +this: .Sp .Vb 2 -\& URxvt.keysym.M\-C\-3: command:\e033[8;25;80t -\& URxvt.keysym.M\-C\-4: command:\e033[8;48;110t +\& URxvt.keysym.C\-M\-c: builtin\-string: +\& URxvt.keysym.C\-M\-v: builtin\-string: .Ve +.IP "\s-1EXTENSION:STRING\s0" 4 +.IX Item "EXTENSION:STRING" +An action of this form invokes the action \fB\s-1STRING\s0\fR, if any, provided +by the @@RXVT_NAME@@\fIperl\fR\|(3) extension \fB\s-1EXTENSION\s0\fR. The extension will +be loaded automatically if necessary. +.Sp +Not all extensions define actions, but popular extensions that do +include the \fIselection\fR and \fImatcher\fR extensions (documented in their +own manpages, @@RXVT_NAME@@\-\fIselection\fR\|(1) and @@RXVT_NAME@@\-\fImatcher\fR\|(1), +respectively). +.Sp +From the silly examples department, this will rot13\-\*(L"encrypt\*(R" +@@RXVT_NAME@@'s selection when Alt-Control-c is pressed on typical \s-1PC\s0 +keyboards: +.Sp +.Vb 1 +\& URxvt.keysym.M\-C\-c: selection:rot13 +.Ve +.IP "perl:STRING *DEPRECATED*" 4 +.IX Item "perl:STRING *DEPRECATED*" +This is a deprecated way of invoking commands provided by perl +extensions. It is still supported, but should not be used anymore. +.RE +.RS 4 +.RE .IP "\fBperl-ext-common\fR: \fIstring\fR" 4 .IX Item "perl-ext-common: string" .PD 0 @@ -1160,20 +1262,24 @@ use in this terminal instance; option \fB\-pe\fR. Extension names can be prefixed with a \f(CW\*(C`\-\*(C'\fR sign to prohibit using them. This can be useful to selectively disable some extensions loaded by default, or specified via the \f(CW\*(C`perl\-ext\-common\*(C'\fR resource. For -example, \f(CW\*(C`default,\-selection\*(C'\fR will use all the default extension except +example, \f(CW\*(C`default,\-selection\*(C'\fR will use all the default extensions except \&\f(CW\*(C`selection\*(C'\fR. .Sp -Extension names can also be followed by an argument in angle brackets -(e.g. \f(CW\*(C`searchable\-scrollback<M\-s>\*(C'\fR, which binds the hotkey for -searchable scrollback to Alt/Meta\-s). Mentioning the same extension -multiple times with different arguments will pass multiple arguments to -the extension. +The default set includes the \f(CW\*(C`selection\*(C'\fR, \f(CW\*(C`option\-popup\*(C'\fR, +\&\f(CW\*(C`selection\-popup\*(C'\fR and \f(CW\*(C`readline\*(C'\fR extensions, any extensions that +define keybindings via \f(CW\*(C`BINDING\*(C'\fR meta comments, and extensions which +are mentioned in \fBkeysym\fR resources. +.Sp +Any extension such that a corresponding resource is given on the +command line is automatically appended to \fBperl-ext\fR. .Sp Each extension is looked up in the library directories, loaded if -necessary, and bound to the current terminal instance. +necessary, and bound to the current terminal instance. When the library +search path contains multiple extension files of the same name, then the +first one found will be used. .Sp -If both of these resources are the empty string, then the perl -interpreter will not be initialized. The idea behind two options is that +If both of these resources are the empty string, then the perl interpreter +will not be initialized. The rationale for having two options is that \&\fBperl-ext-common\fR will be used for extensions that should be available to all instances, while \fBperl-ext\fR is used for specific instances. .IP "\fBperl-eval\fR: \fIstring\fR" 4 @@ -1196,10 +1302,14 @@ details. .IX Item "selection-autotransform.idx: perl-transform" Selection auto-transform patterns, see the @@RXVT_NAME@@\fIperl\fR\|(3) manpage for details. -.IP "\fBsearchable-scrollback:\fR \fIkeysym\fR" 4 -.IX Item "searchable-scrollback: keysym" -Sets the hotkey that starts the incremental scrollback buffer search -(default: \f(CW\*(C`M\-s\*(C'\fR). +.IP "\fBsearchable-scrollback:\fR \fIkeysym\fR *DEPRECATED*" 4 +.IX Item "searchable-scrollback: keysym *DEPRECATED*" +This resource is deprecated and will be removed. Use a \fBkeysym\fR resource +instead, e.g.: +.Sp +.Vb 1 +\& URxvt.keysym.M\-s: searchable\-scrollback:start +.Ve .IP "\fBurl-launcher\fR: \fIstring\fR" 4 .IX Item "url-launcher: string" Specifies the program to be started with a \s-1URL\s0 argument. Used by the diff --git a/doc/rxvt.7.man.in b/doc/rxvt.7.man.in
--- a/doc/rxvt.7.man.in +++ b/doc/rxvt.7.man.in @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "@@RXVT_NAME@@ 7" -.TH @@RXVT_NAME@@ 7 "2014-04-26" "@@RXVT_VERSION@@" "RXVT-UNICODE" +.TH @@RXVT_NAME@@ 7 "2014-12-26" "@@RXVT_VERSION@@" "RXVT-UNICODE" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -176,11 +176,10 @@ interested in learning about new and exciting problems (but not FAQs :). \fII use Gentoo, and I have a problem...\fR .IX Subsection "I use Gentoo, and I have a problem..." .PP -There are three big problems with Gentoo Linux: first of all, most if not -all Gentoo systems are completely broken (missing or mismatched header -files, broken compiler etc. are just the tip of the iceberg); secondly, -the Gentoo maintainer thinks it is a good idea to add broken patches to -the code; and lastly, it should be called Gentoo GNU/Linux. +There are two big problems with Gentoo Linux: first, most if not all +Gentoo systems are completely broken (missing or mismatched header +files, broken compiler etc. are just the tip of the iceberg); +secondly, it should be called Gentoo GNU/Linux. .PP For these reasons, it is impossible to support rxvt-unicode on Gentoo. Problems appearing on Gentoo systems will usually simply be @@ -752,10 +751,10 @@ extension: \& URxvt.perl\-ext\-common: default,\-readline .Ve .PP -\fIMy numerical keypad acts weird and generates differing output?\fR -.IX Subsection "My numerical keypad acts weird and generates differing output?" +\fIMy numeric keypad acts weird and generates differing output?\fR +.IX Subsection "My numeric keypad acts weird and generates differing output?" .PP -Some Debian GNUL/Linux users seem to have this problem, although no +Some Debian GNU/Linux users seem to have this problem, although no specific details were reported so far. It is possible that this is caused by the wrong \f(CW\*(C`TERM\*(C'\fR setting, although the details of whether and how this can happen are unknown, as \f(CW\*(C`TERM=rxvt\*(C'\fR should offer a compatible @@ -1104,10 +1103,7 @@ user and root): .Ve .PP One some systems you might need to set \f(CW$TERMINFO\fR to the full path of -\&\fI\f(CI$HOME\fI/.terminfo\fR for this to work. Debian systems have a broken tic -which will not be able to overwrite the existing rxvt-unicode terminfo -entry \- you might have to manually delete all traces of \fIrxvt\-unicode*\fR -from \fI/etc/terminfo\fR. +\&\fI\f(CI$HOME\fI/.terminfo\fR for this to work. .PP If you cannot or do not want to do this, then you can simply set \&\f(CW\*(C`TERM=rxvt\*(C'\fR or even \f(CW\*(C`TERM=xterm\*(C'\fR, and live with the small number of @@ -1197,12 +1193,11 @@ See next entry. .IX Subsection "Why are the secondary screen-related options not working properly?" .PP Make sure you are using \f(CW\*(C`TERM=rxvt\-unicode\*(C'\fR. Some pre-packaged -distributions (most notably Debian GNU/Linux) break rxvt-unicode -by setting \f(CW\*(C`TERM\*(C'\fR to \f(CW\*(C`rxvt\*(C'\fR, which doesn't have these extra -features. Unfortunately, some of these (most notably, again, Debian -GNU/Linux) furthermore fail to even install the \f(CW\*(C`rxvt\-unicode\*(C'\fR terminfo -file, so you will need to install it on your own (See the question \fBWhen -I log-in to another system it tells me about missing terminfo data?\fR on +distributions break rxvt-unicode by setting \f(CW\*(C`TERM\*(C'\fR to \f(CW\*(C`rxvt\*(C'\fR, which +doesn't have these extra features. Unfortunately, some of these +furthermore fail to even install the \f(CW\*(C`rxvt\-unicode\*(C'\fR terminfo file, so +you will need to install it on your own (See the question \fBWhen I +log-in to another system it tells me about missing terminfo data?\fR on how to do this). .SS "Encoding / Locale / Input Method Issues" .IX Subsection "Encoding / Locale / Input Method Issues" @@ -1371,23 +1366,6 @@ crashes cannot be completely avoided even if both sides cooperate. So the only workaround is not to kill your Input Method Servers. .SS "Operating Systems / Package Maintaining" .IX Subsection "Operating Systems / Package Maintaining" -\fII am using Debian GNU/Linux and have a problem...\fR -.IX Subsection "I am using Debian GNU/Linux and have a problem..." -.PP -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/pkg/rxvt\-unicode.html>) 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 \f(CW\*(C`reportbug\*(C'\fR to report the bug). -.PP -For other problems that also affect the Debian package, you can and -probably should use the Debian \s-1BTS,\s0 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. -.PP \fII am maintaining rxvt-unicode for distribution/OS \s-1XXX,\s0 any recommendation?\fR .IX Subsection "I am maintaining rxvt-unicode for distribution/OS XXX, any recommendation?" .PP @@ -1589,9 +1567,8 @@ Application Keypad (\s-1SMKX\s0). See also next sequence. .IX Item "ESC >" Normal Keypad (\s-1RMKX\s0) .Sp -\&\fBNote:\fR If the numeric keypad is activated, eg, \fBNum_Lock\fR has been -pressed, numbers or control functions are generated by the numeric keypad -(see Key Codes). +\&\fBNote:\fR numbers or control functions are generated by the numeric +keypad in normal or application mode, respectively (see Key Codes). .ie n .IP "\fB\fB""ESC D""\fB\fR" 4 .el .IP "\fB\f(CBESC D\fB\fR" 4 .IX Item "ESC D" @@ -1658,13 +1635,13 @@ Designate Kanji Character Set Where \fB\f(CB\*(C`C\*(C'\fB\fR is one of: .TS l l . -C = 0 DEC Special Character and Line Drawing Set -C = A United Kingdom (UK) -C = B United States (USASCII) +C = 0 DEC Special Character and Line Drawing Set +C = A United Kingdom (UK) +C = B United States (USASCII) C = < Multinational character set unimplemented -C = 5 Finnish character set unimplemented -C = C Finnish character set unimplemented -C = K German character set unimplemented +C = 5 Finnish character set unimplemented +C = C Finnish character set unimplemented +C = K German character set unimplemented .TE .PP @@ -1729,12 +1706,12 @@ Ps = 2 Clear All .IX Item "ESC [ Ps K" Erase in Line (\s-1EL\s0) .TS -l l . +l l l l . Ps = 0 Clear to Right (default) Ps = 1 Clear to Left Ps = 2 Clear All Ps = 3 Like Ps = 0, but is ignored when wrapped - (@@RXVT_NAME@@ extension) + (@@RXVT_NAME@@ extension) .TE .ie n .IP "\fB\fB""ESC [ Ps L""\fB\fR" 4 .el .IP "\fB\f(CBESC [ Ps L\fB\fR" 4 @@ -1895,7 +1872,7 @@ Ps = 8 Request Version Number (place in window title) .ie n .IP "\fB\fB""ESC [ Ps SP q""\fB\fR" 4 .el .IP "\fB\f(CBESC [ Ps SP q\fB\fR" 4 .IX Item "ESC [ Ps SP q" -Set Cursor Style (\s-1DESCUSR\s0) +Set Cursor Style (\s-1DECSCUSR\s0) .TS l l . Ps = 0 Blink Block @@ -1903,6 +1880,8 @@ Ps = 1 Blink Block Ps = 2 Steady Block Ps = 3 Blink Underline Ps = 4 Steady Underline +Ps = 5 Blink Bar (XTerm) +Ps = 6 Steady Bar (XTerm) .TE .ie n .IP "\fB\fB""ESC [ Ps;Ps r""\fB\fR" 4 .el .IP "\fB\f(CBESC [ Ps;Ps r\fB\fR" 4 @@ -2035,14 +2014,22 @@ l l . h Auto-repeat Keys l No Auto-repeat Keys .TE -.ie n .IP "\fB\fB""Pm = 9""\fB\fR X10 XTerm" 4 -.el .IP "\fB\f(CBPm = 9\fB\fR X10 XTerm" 4 -.IX Item "Pm = 9 X10 XTerm" +.ie n .IP "\fB\fB""Pm = 9""\fB\fR (X10 XTerm mouse protocol)" 4 +.el .IP "\fB\f(CBPm = 9\fB\fR (X10 XTerm mouse protocol)" 4 +.IX Item "Pm = 9 (X10 XTerm mouse protocol)" .TS l l . h Send Mouse X & Y on button press. l No mouse reporting. .TE +.ie n .IP "\fB\fB""Pm = 12""\fB\fR (\s-1AT&T 610,\s0 XTerm)" 4 +.el .IP "\fB\f(CBPm = 12\fB\fR (\s-1AT&T 610,\s0 XTerm)" 4 +.IX Item "Pm = 12 (AT&T 610, XTerm)" +.TS +l l . +h Blinking cursor (cvvis) +l Steady cursor (cnorm) +.TE .ie n .IP "\fB\fB""Pm = 25""\fB\fR (\s-1DECTCEM\s0)" 4 .el .IP "\fB\f(CBPm = 25\fB\fR (\s-1DECTCEM\s0)" 4 .IX Item "Pm = 25 (DECTCEM)" @@ -2051,9 +2038,9 @@ l l . h Visible cursor {cnorm/cvvis} l Invisible cursor {civis} .TE -.ie n .IP "\fB\fB""Pm = 30""\fB\fR" 4 -.el .IP "\fB\f(CBPm = 30\fB\fR" 4 -.IX Item "Pm = 30" +.ie n .IP "\fB\fB""Pm = 30""\fB\fR (\fBrxvt\fR)" 4 +.el .IP "\fB\f(CBPm = 30\fB\fR (\fBrxvt\fR)" 4 +.IX Item "Pm = 30 (rxvt)" .TS l l . h scrollBar visible @@ -2128,9 +2115,9 @@ l l . h Backspace key sends BS l Backspace key sends DEL .TE -.ie n .IP "\fB\fB""Pm = 1000""\fB\fR (X11 XTerm)" 4 -.el .IP "\fB\f(CBPm = 1000\fB\fR (X11 XTerm)" 4 -.IX Item "Pm = 1000 (X11 XTerm)" +.ie n .IP "\fB\fB""Pm = 1000""\fB\fR (X11 XTerm mouse protocol)" 4 +.el .IP "\fB\f(CBPm = 1000\fB\fR (X11 XTerm mouse protocol)" 4 +.IX Item "Pm = 1000 (X11 XTerm mouse protocol)" .TS l l . h Send Mouse X & Y on button press and release. @@ -2144,25 +2131,33 @@ l l . h Use Hilite Mouse Tracking. l No mouse reporting. .TE -.ie n .IP "\fB\fB""Pm = 1002""\fB\fR (X11 XTerm)" 4 -.el .IP "\fB\f(CBPm = 1002\fB\fR (X11 XTerm)" 4 -.IX Item "Pm = 1002 (X11 XTerm)" +.ie n .IP "\fB\fB""Pm = 1002""\fB\fR (X11 XTerm cell motion mouse tracking)" 4 +.el .IP "\fB\f(CBPm = 1002\fB\fR (X11 XTerm cell motion mouse tracking)" 4 +.IX Item "Pm = 1002 (X11 XTerm cell motion mouse tracking)" .TS l l . h Send Mouse X & Y on button press and release, and motion with a button pressed. l No mouse reporting. .TE -.ie n .IP "\fB\fB""Pm = 1003""\fB\fR (X11 XTerm)" 4 -.el .IP "\fB\f(CBPm = 1003\fB\fR (X11 XTerm)" 4 -.IX Item "Pm = 1003 (X11 XTerm)" +.ie n .IP "\fB\fB""Pm = 1003""\fB\fR (X11 XTerm all motion mouse tracking)" 4 +.el .IP "\fB\f(CBPm = 1003\fB\fR (X11 XTerm all motion mouse tracking)" 4 +.IX Item "Pm = 1003 (X11 XTerm all motion mouse tracking)" .TS l l . h Send Mouse X & Y on button press and release, and motion. l No mouse reporting. .TE -.ie n .IP "\fB\fB""Pm = 1005""\fB\fR (X11 XTerm) (Compile frills)" 4 -.el .IP "\fB\f(CBPm = 1005\fB\fR (X11 XTerm) (Compile frills)" 4 -.IX Item "Pm = 1005 (X11 XTerm) (Compile frills)" +.ie n .IP "\fB\fB""Pm = 1004""\fB\fR (X11 XTerm focus in/focus out events) \fIunimplemented\fR" 4 +.el .IP "\fB\f(CBPm = 1004\fB\fR (X11 XTerm focus in/focus out events) \fIunimplemented\fR" 4 +.IX Item "Pm = 1004 (X11 XTerm focus in/focus out events) unimplemented" +.TS +l l . +h Send Mouse focus in/focus out events. +l Don'T send focus events. +.TE +.ie n .IP "\fB\fB""Pm = 1005""\fB\fR (X11 XTerm \s-1UTF\-8\s0 mouse mode) (Compile frills)" 4 +.el .IP "\fB\f(CBPm = 1005\fB\fR (X11 XTerm \s-1UTF\-8\s0 mouse mode) (Compile frills)" 4 +.IX Item "Pm = 1005 (X11 XTerm UTF-8 mouse mode) (Compile frills)" .PD Try to avoid this mode, it doesn't work sensibly in non\-UTF\-8 locales. Use mode \f(CW1015\fR instead. @@ -2193,6 +2188,11 @@ l Don't scroll to bottom when a key is pressed .ie n .IP "\fB\fB""Pm = 1015""\fB\fR (\fBrxvt-unicode\fR) (Compile frills)" 4 .el .IP "\fB\f(CBPm = 1015\fB\fR (\fBrxvt-unicode\fR) (Compile frills)" 4 .IX Item "Pm = 1015 (rxvt-unicode) (Compile frills)" +.TS +l l . +h Enable urxvt mouse coordinate reporting. +l Use old-style CSI M C C C encoding. +.TE .PD Changes all mouse reporting codes to use decimal parameters instead of octets or characters. @@ -2228,11 +2228,6 @@ Other (to be implemented) reply sequences will use a similar encoding. .Sp In the future, more parameters might get added (pixel coordinates for example \- anybody out there who needs this?). -.TS -l l . -h Enable new mouse coordinate reporting. -l Use old-style CSI M C C C encoding. -.TE .ie n .IP "\fB\fB""Pm = 1021""\fB\fR (\fBrxvt\fR)" 4 .el .IP "\fB\f(CBPm = 1021\fB\fR (\fBrxvt\fR)" 4 .IX Item "Pm = 1021 (rxvt)" @@ -2242,33 +2237,33 @@ h Bold/italic implies high intensity (see option -is) l Font styles have no effect on intensity (Compile styles) .TE .PD 0 -.ie n .IP "\fB\fB""Pm = 1047""\fB\fR" 4 -.el .IP "\fB\f(CBPm = 1047\fB\fR" 4 -.IX Item "Pm = 1047" +.ie n .IP "\fB\fB""Pm = 1047""\fB\fR (X11 XTerm alternate screen buffer)" 4 +.el .IP "\fB\f(CBPm = 1047\fB\fR (X11 XTerm alternate screen buffer)" 4 +.IX Item "Pm = 1047 (X11 XTerm alternate screen buffer)" .TS l l . h Use Alternate Screen Buffer l Use Normal Screen Buffer - clear Alternate Screen Buffer if returning from it .TE -.ie n .IP "\fB\fB""Pm = 1048""\fB\fR" 4 -.el .IP "\fB\f(CBPm = 1048\fB\fR" 4 -.IX Item "Pm = 1048" +.ie n .IP "\fB\fB""Pm = 1048""\fB\fR (X11 XTerm alternate \s-1DECSC\s0)" 4 +.el .IP "\fB\f(CBPm = 1048\fB\fR (X11 XTerm alternate \s-1DECSC\s0)" 4 +.IX Item "Pm = 1048 (X11 XTerm alternate DECSC)" .TS l l . h Save cursor position l Restore cursor position .TE -.ie n .IP "\fB\fB""Pm = 1049""\fB\fR" 4 -.el .IP "\fB\f(CBPm = 1049\fB\fR" 4 -.IX Item "Pm = 1049" +.ie n .IP "\fB\fB""Pm = 1049""\fB\fR (X11 XTerm 1047 + 1048)" 4 +.el .IP "\fB\f(CBPm = 1049\fB\fR (X11 XTerm 1047 + 1048)" 4 +.IX Item "Pm = 1049 (X11 XTerm 1047 + 1048)" .TS l l . h Use Alternate Screen Buffer - clear Alternate Screen Buffer if switching to it l Use Normal Screen Buffer .TE -.ie n .IP "\fB\fB""Pm = 2004""\fB\fR" 4 -.el .IP "\fB\f(CBPm = 2004\fB\fR" 4 -.IX Item "Pm = 2004" +.ie n .IP "\fB\fB""Pm = 2004""\fB\fR (X11 XTerm bracketed paste mode)" 4 +.el .IP "\fB\f(CBPm = 2004\fB\fR (X11 XTerm bracketed paste mode)" 4 +.IX Item "Pm = 2004 (X11 XTerm bracketed paste mode)" .TS l l . h Enable bracketed paste mode - prepend / append to the pasted text the control sequences ESC [ 200 ~ / ESC [ 201 ~ @@ -2385,16 +2380,16 @@ Row = \fB\f(CB\*(C`<y> \- SPACE\*(C'\fB\fR .PP Note: \fBShift\fR + \fBF1\fR\-\fBF10\fR generates \fBF11\fR\-\fBF20\fR .PP -For the keypad, use \fBShift\fR to temporarily override Application-Keypad -setting use \fBNum_Lock\fR to toggle Application-Keypad setting if -\&\fBNum_Lock\fR is off, toggle Application-Keypad setting. Also note that -values of \fBBackSpace\fR, \fBDelete\fR may have been compiled differently on -your system. +For the keypad, use \fBShift\fR to temporarily toggle Application Keypad +mode and use \fBNum_Lock\fR to override Application Keypad mode, i.e. if +\&\fBNum_Lock\fR is on the keypad is in normal mode. Also note that the +values of \fBBackSpace\fR, \fBDelete\fR may have been compiled differently +on your system. .TS l l l l l . Normal Shift Control Ctrl+Shift Tab ^I ESC [ Z ^I ESC [ Z -BackSpace ^H ^? ^? ^? +BackSpace ^? ^? ^H ^H Find ESC [ 1 ~ ESC [ 1 $ ESC [ 1 ^ ESC [ 1 @ Insert ESC [ 2 ~ paste ESC [ 2 ^ ESC [ 2 @ Execute ESC [ 3 ~ ESC [ 3 $ ESC [ 3 ^ ESC [ 3 @ @@ -2434,22 +2429,22 @@ KP_F1 ESC O P ESC O P KP_F2 ESC O Q ESC O Q KP_F3 ESC O R ESC O R KP_F4 ESC O S ESC O S -XK_KP_Multiply * ESC O j -XK_KP_Add + ESC O k -XK_KP_Separator , ESC O l -XK_KP_Subtract - ESC O m -XK_KP_Decimal . ESC O n -XK_KP_Divide / ESC O o -XK_KP_0 0 ESC O p -XK_KP_1 1 ESC O q -XK_KP_2 2 ESC O r -XK_KP_3 3 ESC O s -XK_KP_4 4 ESC O t -XK_KP_5 5 ESC O u -XK_KP_6 6 ESC O v -XK_KP_7 7 ESC O w -XK_KP_8 8 ESC O x -XK_KP_9 9 ESC O y +KP_Multiply * ESC O j +KP_Add + ESC O k +KP_Separator , ESC O l +KP_Subtract - ESC O m +KP_Decimal . ESC O n +KP_Divide / ESC O o +KP_0 0 ESC O p +KP_1 1 ESC O q +KP_2 2 ESC O r +KP_3 3 ESC O s +KP_4 4 ESC O t +KP_5 5 ESC O u +KP_6 6 ESC O v +KP_7 7 ESC O w +KP_8 8 ESC O x +KP_9 9 ESC O y .TE .SH "CONFIGURE OPTIONS" .IX Header "CONFIGURE OPTIONS" diff --git a/doc/rxvtc.1.man.in b/doc/rxvtc.1.man.in
--- a/doc/rxvtc.1.man.in +++ b/doc/rxvtc.1.man.in @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "@@RXVT_NAME@@ 1" -.TH @@RXVT_NAME@@ 1 "2014-04-26" "@@RXVT_VERSION@@" "RXVT-UNICODE" +.TH @@RXVT_NAME@@ 1 "2014-12-26" "@@RXVT_VERSION@@" "RXVT-UNICODE" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -152,6 +152,9 @@ will also be respected. Currently, it always returns immediately after contacting the daemon. .SH "OPTIONS" .IX Header "OPTIONS" +If the first option is \fB\-k\fR, \fB@@RXVT_NAME@@c\fR tries to kill the +daemon process and returns. +.PP All options that are valid for \fB@@RXVT_NAME@@\fR are valid for \&\fB@@RXVT_NAME@@c\fR, too. Please note that options are interpreted in the context of the daemon process. However, as current working directory, diff --git a/doc/rxvtd.1.man.in b/doc/rxvtd.1.man.in
--- a/doc/rxvtd.1.man.in +++ b/doc/rxvtd.1.man.in @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "@@RXVT_NAME@@ 1" -.TH @@RXVT_NAME@@ 1 "2014-04-26" "@@RXVT_VERSION@@" "RXVT-UNICODE" +.TH @@RXVT_NAME@@ 1 "2014-12-26" "@@RXVT_VERSION@@" "RXVT-UNICODE" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -142,7 +142,7 @@ @@RXVT_NAME@@d \- @@RXVT_NAME@@ terminal daemon .SH "SYNOPSIS" .IX Header "SYNOPSIS" -\&\fB@@RXVT_NAME@@d\fR [\-q|\-\-quiet] [\-o|\-\-opendisplay] [\-f|\-\-fork] [\-m|\-\-mlock] +\&\fB@@RXVT_NAME@@d\fR [\-q|\-\-quiet] [\-o|\-\-opendisplay] [\-f|\-\-fork] [\-m|\-\-mlock] [\-e|\-\-eval \fIperlstring\fR] .PP \&\fB@@RXVT_NAME@@d\fR \-q \-o \-f # for .xsession use .SH "DESCRIPTION" @@ -198,6 +198,17 @@ Note 2: There is a known bug in glibc (possibly fixed in 2.8 and later versions) where calloc returns non-zeroed memory when mlockall is in effect. If you experience crashes or other odd behaviour while using \&\-\-mlock, try it without it. +.IP "\fB\-e\fR, \fB\-\-eval\fR \fIperlstring\fR" 4 +.IX Item "-e, --eval perlstring" +Evaluate the given perl code after basic initialisation (requires perl +support to be enabled when compiling \fB@@RXVT_NAME@@d\fR). +.Sp +This can be used for example to configure the internal perl interpreter, +which is shared between all terminal instances, or create additional +listening sockets for additional protocols. +.Sp +The code is currently executed \fIbefore\fR creating the normal listening +sockets: this might change in future versions. .SH "EXAMPLES" .IX Header "EXAMPLES" This is a useful invocation of \fB@@RXVT_NAME@@d\fR in a \fI.xsession\fR\-style diff --git a/doc/rxvtd.1.pod b/doc/rxvtd.1.pod
--- a/doc/rxvtd.1.pod +++ b/doc/rxvtd.1.pod @@ -4,7 +4,7 @@ =head1 SYNOPSIS -B<@@RXVT_NAME@@d> [-q|--quiet] [-o|--opendisplay] [-f|--fork] [-m|--mlock] +B<@@RXVT_NAME@@d> [-q|--quiet] [-o|--opendisplay] [-f|--fork] [-m|--mlock] [-e|--eval I<perlstring>] B<@@RXVT_NAME@@d> -q -o -f # for .xsession use @@ -69,6 +69,18 @@ versions) where calloc returns non-zeroed memory when mlockall is in effect. If you experience crashes or other odd behaviour while using --mlock, try it without it. +=item B<-e>, B<--eval> I<perlstring> + +Evaluate the given perl code after basic initialisation (requires perl +support to be enabled when compiling B<@@RXVT_NAME@@d>). + +This can be used for example to configure the internal perl interpreter, +which is shared between all terminal instances, or create additional +listening sockets for additional protocols. + +The code is currently executed I<before> creating the normal listening +sockets: this might change in future versions. + =back =head1 EXAMPLES diff --git a/src/urxvt.pm b/src/urxvt.pm
--- a/src/urxvt.pm +++ b/src/urxvt.pm @@ -1187,9 +1187,12 @@ sub scan_extensions { $gather->($_, 1) for @urxvtdirs; # and now merge resources + + $meta{resource} = \my %resource; + while (my ($k, $v) = each %{ $meta{ext} }) { #TODO: should check for extensions overriding each other - %{ $meta{resource} } = (%{ $meta{resource} }, %{ $v->{resource} }); + %resource = (%resource, %{ $v->{resource} }); } }
-----END OF PAGE-----
-- Response ended
-- Page fetched on Sun Jun 2 14:10:59 2024