*** empty log message ***
authorroot <root>
Thu, 3 Feb 2005 10:24:09 +0000 (10:24 +0000)
committerroot <root>
Thu, 3 Feb 2005 10:24:09 +0000 (10:24 +0000)
14 files changed:
Changes
README.FAQ
doc/rxvt.1.html
doc/rxvt.1.man.in
doc/rxvt.1.pod
doc/rxvt.1.txt
doc/rxvt.7.html
doc/rxvt.7.man.in
doc/rxvt.7.pod
doc/rxvt.7.txt
reconf
src/keyboard.C
src/version.h
src/xdefaults.C

diff --git a/Changes b/Changes
index 80775ab..3c93483 100644 (file)
--- a/Changes
+++ b/Changes
@@ -2,17 +2,33 @@ Lines marked with "xterm:" indicate either xterm features ported to rxvt
 or changed rxvt behaviour to make it more compatible to xterm (usually
 xfree86's xterm).
 
-TODO: settable ressource for input method fonts
 TODO: read property sequence is broken with respect to utf-8 etc.
-WISH; line-rewrapping on resize
-WISH: just for fun, do shade and tint with XRender.
-WISH: hotkey font resizing
+WISH: keyboard modification via esc-sequences.
+WISH: line-rewrapping on resize
+WISH: hotkey font resizing (possible via keymaps)
 WISH: searchable backlog
 WISH: meta-tagging of data by regex (my dream project)
-WISH: triple-click == select full output line
 WISH: double-click: more intelligent (urls etc.)
 WISH: OnTheSpot editing.
 WISH: tabbed windows (hey, just use screen...)
+WISH: just for fun, do shade and tint with XRender.
+
+4.9  Thu Feb  3 09:52:03 CET 2005
+        - nuke out utmp entries completely. Should be fixed in
+          original rxvt, too. (reported by James Michael Fultz).
+        - resizes wil now correctly refresh the displayed text when
+          -pixmap is active.
+        - new option/resource imFont.
+        - document --tripleclickwords/-tcw.
+        - select logical instead of physical lines when doing a triple-click.
+        - reordered help listing to group similar options together.
+        - handle SIGINT the same way as SIGTERM (reported by Joël Riou).
+        - fix a bug introduced while applying the keyboard patch
+          (WU Fengguang).
+        - document all window-op sequences (rxvt.7.) and more keysym
+          examples (rxvt.1).
+        - removed src/test completely.
+        - renamed keysym 'proto:'-prefix to 'command:'.
 
 4.8  Tue Jan 18 02:23:57 CET 2005
         - added a patch by WU Fengguang that makes the keyboard
index 0e457a0..f21a3f4 100644 (file)
@@ -508,26 +508,28 @@ FREQUENTLY ASKED QUESTIONS
         Here's an example for a URxvt session started using `rxvt -name
         URxvt'
 
-                URxvt*keysym.Home:          \e[1~
-                URxvt*keysym.End:           \e[4~
-                URxvt*keysym.C-apostrophe:  \e<C-'>
-                URxvt*keysym.C-slash:       \e<C-/>
-                URxvt*keysym.C-semicolon:   \e<C-;>
-                URxvt*keysym.C-grave:       \e<C-`>
-                URxvt*keysym.C-comma:       \e<C-,>
-                URxvt*keysym.C-period:      \e<C-.>
-                URxvt*keysym.C-0x60:        \e<C-`>
-                URxvt*keysym.C-Tab:         \e<C-Tab>
-                URxvt*keysym.C-Return:      \e<C-Return>
-                URxvt*keysym.S-Return:      \e<S-Return>
-                URxvt*keysym.S-space:       \e<S-Space>
-                URxvt*keysym.M-Up:          \e<M-Up>
-                URxvt*keysym.M-Down:        \e<M-Down>
-                URxvt*keysym.M-Left:        \e<M-Left>
-                URxvt*keysym.M-Right:       \e<M-Right>
-                URxvt*keysym.M-C-0:         list.0123456789.\e<M-C-.>
-                URxvt*keysym.M-C-a:         list.abcdefghijklmnopqrstuvwxyz.\033<M-C-.>
-                URxvt*keysym.F12:           proto:\033]701;zh_CN.GBK\007
+           URxvt.keysym.Home:          \e[1~
+           URxvt.keysym.End:           \e[4~
+           URxvt.keysym.C-apostrophe:  \e<C-'>
+           URxvt.keysym.C-slash:       \e<C-/>
+           URxvt.keysym.C-semicolon:   \e<C-;>
+           URxvt.keysym.C-grave:       \e<C-`>
+           URxvt.keysym.C-comma:       \e<C-,>
+           URxvt.keysym.C-period:      \e<C-.>
+           URxvt.keysym.C-0x60:        \e<C-`>
+           URxvt.keysym.C-Tab:         \e<C-Tab>
+           URxvt.keysym.C-Return:      \e<C-Return>
+           URxvt.keysym.S-Return:      \e<S-Return>
+           URxvt.keysym.S-space:       \e<S-Space>
+           URxvt.keysym.M-Up:          \e<M-Up>
+           URxvt.keysym.M-Down:        \e<M-Down>
+           URxvt.keysym.M-Left:        \e<M-Left>
+           URxvt.keysym.M-Right:       \e<M-Right>
+           URxvt.keysym.M-C-0:         list \e<M-C- 0123456789 >
+           URxvt.keysym.M-C-a:         list \033<M-C- abcdefghijklmnopqrstuvwxyz >
+           URxvt.keysym.F12:           proto:\033]701;zh_CN.GBK\007
+
+        See some more examples in the documentation for the keysym resource.
 
     I'm using keyboard model XXX that has extra Prior/Next/Insert keys. How
     do I make use of them? For example, the Sun Keyboard type 4 has the
index 440b974..105d66d 100644 (file)
@@ -49,7 +49,7 @@
 </p>
 <hr />
 <h1><a name="description">DESCRIPTION</a></h1>
-<p><strong>rxvt-unicode</strong>, version <strong>4.8</strong>, is a colour vt102 terminal
+<p><strong>rxvt-unicode</strong>, version <strong>4.9</strong>, is a colour vt102 terminal
 emulator intended as an <em>xterm</em>(1) replacement for users who do not
 require features such as Tektronix 4014 emulation and toolkit-style
 configurability. As a result, <strong>rxvt-unicode</strong> uses much less swap space --
@@ -460,10 +460,25 @@ Compile <em>XIM</em>: input method name. resource <strong>inputMethod</strong>.
 <dt><strong><a name="item__2dimlocale_string"><strong>-imlocale</strong> <em>string</em></a></strong><br />
 </dt>
 <dd>
-The locale to use for opening the IM. You can use an LC_CTYPE of e.g.
-de_DE.UTF-8 for normal text processing but ja_JP.EUC-JP for the input
-extension to be able to input japanese characters while staying in
-another locale.
+The locale to use for opening the IM. You can use an <code>LC_CTYPE</code> of e.g.
+<code>de_DE.UTF-8</code> for normal text processing but <code>ja_JP.EUC-JP</code> for the
+input extension to be able to input japanese characters while staying in
+another locale. resource <strong>imLocale</strong>.
+</dd>
+<p></p>
+<dt><strong><a name="item__2dimfont_fontset"><strong>-imfont</strong> <em>fontset</em></a></strong><br />
+</dt>
+<dd>
+Set the font set to use for the X Input Method, see resource <strong>imFont</strong>
+for more info.
+</dd>
+<p></p>
+<dt><strong><a name="item__2dtcw"><strong>-tcw</strong></a></strong><br />
+</dt>
+<dd>
+Change the meaning of triple-click selection with the left mouse
+button. Instead of selecting a full line it will extend the selection the
+end of the logical line only. resource <strong>tripleclickwords</strong>.
 </dd>
 <p></p>
 <dt><strong><a name="item__2dinsecure"><strong>-insecure</strong></a></strong><br />
@@ -1048,12 +1063,31 @@ built-in default:
 <dt><strong><a name="item_imlocale_3a_name"><strong>imLocale:</strong> <em>name</em></a></strong><br />
 </dt>
 <dd>
-The locale to use for opening the IM. You can use an LC_CTYPE of e.g.
-de_DE.UTF-8 for normal text processing but ja_JP.EUC-JP for the input
-extension to be able to input japanese characters while staying in
+The locale to use for opening the IM. You can use an <code>LC_CTYPE</code> of e.g.
+<code>de_DE.UTF-8</code> for normal text processing but <code>ja_JP.EUC-JP</code> for the
+input extension to be able to input japanese characters while staying in
 another locale. option <strong>-imlocale</strong>.
 </dd>
 <p></p>
+<dt><strong><a name="item_imfont_3a_fontset"><strong>imFont:</strong> <em>fontset</em></a></strong><br />
+</dt>
+<dd>
+Specify the font-set used for XIM styles <code>OverTheSpot</code> or
+<code>OffTheSpot</code>. It must be a standard X font set (XLFD patterns separated
+by commas), i.e. it's not in the same format as the other font lists used
+in rxvt. The default will be set-up to chose *any* suitable found
+found, preferably one or two pixels differing in size to the base font.
+option <strong>-imfont</strong>.
+</dd>
+<p></p>
+<dt><strong><a name="item_tripleclickwords_3a_boolean"><strong>tripleclickwords:</strong> <em>boolean</em></a></strong><br />
+</dt>
+<dd>
+Change the meaning of triple-click selection with the left mouse
+button. Instead of selecting a full line it will extend the selection to
+the end of the logical line only. option <strong>-tcw</strong>.
+</dd>
+<p></p>
 <dt><strong><a name="item_insecure_3a_boolean"><strong>insecure:</strong> <em>boolean</em></a></strong><br />
 </dt>
 <dd>
@@ -1116,7 +1150,7 @@ and the abbreviated <strong>I</strong>, <strong>K</strong>, <strong>C</strong>,
 <dd>
 <p>The <strong>NumLock</strong>, <strong>Meta</strong> and <strong>ISOLevel3</strong> modifiers are usually aliased to
 whatever modifier the NumLock key, Meta/Alt keys or ISO Level3 Shift/AltGr
-keys are being mapped. <strong>AppKeypad</strong> is a artificial modifier mapped to the
+keys are being mapped. <strong>AppKeypad</strong> is a synthetic modifier mapped to the
 current application keymap mode state.</p>
 </dd>
 <dd>
@@ -1155,9 +1189,27 @@ should be a character not used by the strings.</p>
   URxvt.keysym.Meta-Control-0x63:    \e&lt;M-C-c&gt;</pre>
 </dd>
 <dd>
-<p>If <em>string</em> takes the form of <code>proto:STRING</code>, the specified <strong>STRING</strong> is
-interpreted and executed as rxvt's control sequence. For example,
-<code>proto:\033]701;zh_CN.GBK\007</code> means: change the current locale to
+<p>If <em>string</em> takes the form of <code>proto:STRING</code>, the specified <strong>STRING</strong>
+is interpreted and executed as rxvt's control sequence. For
+example the following means ``change the current locale to <code>zh_CN.GBK</code>
+when Control-Meta-c is being pressed'':</p>
+</dd>
+<dd>
+<pre>
+  URxvt.keysym.M-C-c: proto:\033]701;zh_CN.GBK\007</pre>
+</dd>
+<dd>
+<p>The following example will map Control-Meta-1 and Control-Meta-2 to
+the fonts <code>suxuseuro</code> and <code>9x15bold</code>, so you cna have some limited
+font-switching at runtime:</p>
+</dd>
+<dd>
+<pre>
+  URxvt.keysym.M-C-1: proto:\033]50;suxuseuro\007
+  URxvt.keysym.M-C-2: proto:\033]50;9x15bold\007</pre>
+</dd>
+<dd>
+<p><code>proto:\033]701;zh_CN.GBK\007</code> means: change the current locale to
 <code>zh_CN.GBK</code>.</p>
 </dd>
 <p></p></dl>
@@ -1196,10 +1248,11 @@ respectively.</p>
 <dt><strong><a name="item_selection_3a"><strong>Selection</strong>:</a></strong><br />
 </dt>
 <dd>
-Left click at the beginning of the region, drag to the end of the
-region and release; Right click to extend the marked region; Left
-double-click to select a word; Left triple-click to select the entire
-line.
+Left click at the beginning of the region, drag to the end of the region
+and release; Right click to extend the marked region; Left double-click
+to select a word; Left triple-click to select the entire logical line
+(which can span multiple screen lines), unless modified by resource
+<strong>tripleclickwords</strong>.
 </dd>
 <dd>
 <p>Starting a selection while pressing the <strong>Meta</strong> key (or <strong>Meta+Ctrl</strong> keys)
@@ -1235,8 +1288,8 @@ and character codes using the keyboard. It consists of 4 parts. The
 first part is available rxvt-unicode has been compiled with
 <code>--enable-frills</code>, the rest is available when rxvt-unicode was compiled
 with <code>--enable-iso14755</code>.</p>
-<ol>
-<li><strong><a name="item_1_3a_basic_method">1: Basic method</a></strong><br />
+<ul>
+<li><strong><a name="item_5_2e1_3a_basic_method">5.1: Basic method</a></strong><br />
 </li>
 This allows you to enter unicode characters using their hexcode.
 <p>Start by pressing and holding both <code>Control</code> and <code>Shift</code>, then enter
@@ -1251,7 +1304,7 @@ address printed as hexcodes, e.g. <code>671d 65e5</code>. You can enter this eas
 by pressing <code>Control</code> and <code>Shift</code>, followed by <code>6-7-1-D-SPACE-6-5-E-5</code>,
 followed by releasing the modifier keys.</p>
 <p></p>
-<li><strong><a name="item_2_3a_keyboard_symbols_entry_method">2: Keyboard symbols entry method</a></strong><br />
+<li><strong><a name="item_5_2e2_3a_keyboard_symbols_entry_method">5.2: Keyboard symbols entry method</a></strong><br />
 </li>
 This mode lets you input characters representing the keycap symbols of
 your keyboard, if representable in the current locale encoding.
@@ -1263,12 +1316,12 @@ released, otherwise pressing e.g. <code>Shift</code> would enter the symbol for
 <code>ISO Level 2 Switch</code>, although your intention might have been to enter a
 reverse tab (Shift-Tab).</p>
 <p></p>
-<li><strong><a name="item_3_3a_screen_2dselection_entry_method">3: Screen-selection entry method</a></strong><br />
+<li><strong><a name="item_5_2e3_3a_screen_2dselection_entry_method">5.3: Screen-selection entry method</a></strong><br />
 </li>
 While this is implemented already (it's basically the selection
 mechanism), it could be extended by displaying a unicode character map.
 <p></p>
-<li><strong><a name="item_4_3a_feedback_method_for_identifying_displayed_cha">4: Feedback method for identifying displayed characters for later input</a></strong><br />
+<li><strong><a name="item_5_2e4_3a_feedback_method_for_identifying_displayed">5.4: Feedback method for identifying displayed characters for later input</a></strong><br />
 </li>
 This method lets you display the unicode character code associated with
 characters already displayed.
@@ -1280,17 +1333,17 @@ pointer is displayed until you release <code>Control</code> and <code>Shift</cod
 character - due to implementation reasons, characters combined with
 combining characters, line drawing characters and unknown characters will
 always be drawn using the built-in support font.</p>
-<p></p></ol>
+<p></p></ul>
 <p>With respect to conformance, rxvt-unicode is supposed to be compliant to
 both scenario A and B of ISO 14755, including part 5.2.</p>
 <p>
 </p>
 <hr />
 <h1><a name="login_stamp">LOGIN STAMP</a></h1>
-<p><strong>rxvt</strong> tries to write an entry into the <em>utmp</em>(5) file so
-that it can be seen via the <em>who(1)</em> command, and can accept messages.
-To allow this feature, <strong>rxvt</strong> must be installed setuid root on
-some systems.</p>
+<p><strong>rxvt</strong> tries to write an entry into the <em>utmp</em>(5) file so that
+it can be seen via the <em>who(1)</em> command, and can accept messages.  To
+allow this feature, <strong>rxvt</strong> may need to be installed setuid root
+on some systems or setgid to root or to some other group on others.</p>
 <p>
 </p>
 <hr />
@@ -1349,12 +1402,6 @@ terminal to use. <strong>rxvt</strong> uses the environment variables
 <hr />
 <h1><a name="files">FILES</a></h1>
 <dl>
-<dt><strong><a name="item__2fetc_2futmp"><strong>/etc/utmp</strong></a></strong><br />
-</dt>
-<dd>
-System file for login records.
-</dd>
-<p></p>
 <dt><strong><a name="item__2fusr_2flib_2fx11_2frgb_2etxt"><strong>/usr/lib/X11/rgb.txt</strong></a></strong><br />
 </dt>
 <dd>
index 8308485..86a6bbf 100644 (file)
 .\" ========================================================================
 .\"
 .IX Title "rxvt 1"
-.TH rxvt 1 "2005-01-18" "4.8" "RXVT-UNICODE"
+.TH rxvt 1 "2005-02-03" "4.9" "RXVT-UNICODE"
 .SH "NAME"
 rxvt\-unicode (ouR XVT, unicode) \- (a VT102 emulator for the X window system)
 .SH "SYNOPSIS"
@@ -410,10 +410,19 @@ Compile \fI\s-1XIM\s0\fR: input style for input method; \fBOverTheSpot\fR,
 Compile \fI\s-1XIM\s0\fR: input method name. resource \fBinputMethod\fR.
 .IP "\fB\-imlocale\fR \fIstring\fR" 4
 .IX Item "-imlocale string"
-The locale to use for opening the \s-1IM\s0. You can use an \s-1LC_CTYPE\s0 of e.g.
-de_DE.UTF\-8 for normal text processing but ja_JP.EUC\-JP for the input
-extension to be able to input japanese characters while staying in
-another locale.
+The locale to use for opening the \s-1IM\s0. You can use an \f(CW\*(C`LC_CTYPE\*(C'\fR of e.g.
+\&\f(CW\*(C`de_DE.UTF\-8\*(C'\fR for normal text processing but \f(CW\*(C`ja_JP.EUC\-JP\*(C'\fR for the
+input extension to be able to input japanese characters while staying in
+another locale. resource \fBimLocale\fR.
+.IP "\fB\-imfont\fR \fIfontset\fR" 4
+.IX Item "-imfont fontset"
+Set the font set to use for the X Input Method, see resource \fBimFont\fR
+for more info.
+.IP "\fB\-tcw\fR" 4
+.IX Item "-tcw"
+Change the meaning of triple-click selection with the left mouse
+button. Instead of selecting a full line it will extend the selection the
+end of the logical line only. resource \fBtripleclickwords\fR.
 .IP "\fB\-insecure\fR" 4
 .IX Item "-insecure"
 Enable \*(L"insecure\*(R" mode, which currently enables most of the escape
@@ -793,10 +802,23 @@ built-in default:
 \&\fIname\fR of inputMethod to use; option \fB\-im\fR.
 .IP "\fBimLocale:\fR \fIname\fR" 4
 .IX Item "imLocale: name"
-The locale to use for opening the \s-1IM\s0. You can use an \s-1LC_CTYPE\s0 of e.g.
-de_DE.UTF\-8 for normal text processing but ja_JP.EUC\-JP for the input
-extension to be able to input japanese characters while staying in
+The locale to use for opening the \s-1IM\s0. You can use an \f(CW\*(C`LC_CTYPE\*(C'\fR of e.g.
+\&\f(CW\*(C`de_DE.UTF\-8\*(C'\fR for normal text processing but \f(CW\*(C`ja_JP.EUC\-JP\*(C'\fR for the
+input extension to be able to input japanese characters while staying in
 another locale. option \fB\-imlocale\fR.
+.IP "\fBimFont:\fR \fIfontset\fR" 4
+.IX Item "imFont: fontset"
+Specify the font-set used for \s-1XIM\s0 styles \f(CW\*(C`OverTheSpot\*(C'\fR or
+\&\f(CW\*(C`OffTheSpot\*(C'\fR. It must be a standard X font set (\s-1XLFD\s0 patterns separated
+by commas), i.e. it's not in the same format as the other font lists used
+in @@RXVT_NAME@@. The default will be set-up to chose *any* suitable found
+found, preferably one or two pixels differing in size to the base font.
+option \fB\-imfont\fR.
+.IP "\fBtripleclickwords:\fR \fIboolean\fR" 4
+.IX Item "tripleclickwords: boolean"
+Change the meaning of triple-click selection with the left mouse
+button. Instead of selecting a full line it will extend the selection to
+the end of the logical line only. option \fB\-tcw\fR.
 .IP "\fBinsecure:\fR \fIboolean\fR" 4
 .IX Item "insecure: boolean"
 Enables \*(L"insecure\*(R" mode. Rxvt-unicode offers some escape sequences that
@@ -841,7 +863,7 @@ and the abbreviated \fBI\fR, \fBK\fR, \fBC\fR, \fBN\fR, \fBS\fR, \fBM\fR, \fBA\f
 .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 artificial modifier mapped to the
+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
@@ -874,8 +896,24 @@ The above line is equivalent to the following three lines:
 \&  URxvt.keysym.Meta-Control-0x63:    \ee<M-C-c>
 .Ve
 .Sp
-If \fIstring\fR takes the form of \f(CW\*(C`proto:STRING\*(C'\fR, the specified \fB\s-1STRING\s0\fR is
-interpreted and executed as @@RXVT_NAME@@'s control sequence. For example,
+If \fIstring\fR takes the form of \f(CW\*(C`proto: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
+when Control-Meta-c is being pressed":
+.Sp
+.Vb 1
+\&  URxvt.keysym.M-C-c: proto:\e033]701;zh_CN.GBK\e007
+.Ve
+.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 cna have some limited
+font-switching at runtime:
+.Sp
+.Vb 2
+\&  URxvt.keysym.M-C-1: proto:\e033]50;suxuseuro\e007
+\&  URxvt.keysym.M-C-2: proto:\e033]50;9x15bold\e007
+.Ve
+.Sp
 \&\f(CW\*(C`proto:\e033]701;zh_CN.GBK\e007\*(C'\fR means: change the current locale to
 \&\f(CW\*(C`zh_CN.GBK\*(C'\fR.
 .SH "THE SCROLLBAR"
@@ -907,10 +945,11 @@ The behaviour of text selection and insertion mechanism is similar to
 \&\fIxterm\fR(1).
 .IP "\fBSelection\fR:" 4
 .IX Item "Selection:"
-Left click at the beginning of the region, drag to the end of the
-region and release; Right click to extend the marked region; Left
-double-click to select a word; Left triple-click to select the entire
-line.
+Left click at the beginning of the region, drag to the end of the region
+and release; Right click to extend the marked region; Left double-click
+to select a word; Left triple-click to select the entire logical line
+(which can span multiple screen lines), unless modified by resource
+\&\fBtripleclickwords\fR.
 .Sp
 Starting a selection while pressing the \fBMeta\fR key (or \fBMeta+Ctrl\fR keys)
 (Compile: \fIfrills\fR) will create a rectangular selection instead of a normal
@@ -940,7 +979,7 @@ and character codes using the keyboard. It consists of 4 parts. The
 first part is available rxvt-unicode has been compiled with
 \&\f(CW\*(C`\-\-enable\-frills\*(C'\fR, the rest is available when rxvt-unicode was compiled
 with \f(CW\*(C`\-\-enable\-iso14755\*(C'\fR.
-.IP "5.1: Basic method" 4
+.IP "5.1: Basic method" 4
 .IX Item "5.1: Basic method"
 This allows you to enter unicode characters using their hexcode.
 .Sp
@@ -956,7 +995,7 @@ address, which you cannot type. Fortunately, the card has the e\-mail
 address printed as hexcodes, e.g. \f(CW\*(C`671d 65e5\*(C'\fR. You can enter this easily
 by pressing \f(CW\*(C`Control\*(C'\fR and \f(CW\*(C`Shift\*(C'\fR, followed by \f(CW\*(C`6\-7\-1\-D\-SPACE\-6\-5\-E\-5\*(C'\fR,
 followed by releasing the modifier keys.
-.IP "5.2: Keyboard symbols entry method" 4
+.IP "5.2: Keyboard symbols entry method" 4
 .IX Item "5.2: Keyboard symbols entry method"
 This mode lets you input characters representing the keycap symbols of
 your keyboard, if representable in the current locale encoding.
@@ -968,11 +1007,11 @@ keycap symbol. The symbol will only be entered when the key has been
 released, otherwise pressing e.g. \f(CW\*(C`Shift\*(C'\fR would enter the symbol for
 \&\f(CW\*(C`ISO Level 2 Switch\*(C'\fR, although your intention might have been to enter a
 reverse tab (Shift\-Tab).
-.IP "5.3: Screen-selection entry method" 4
+.IP "5.3: Screen-selection entry method" 4
 .IX Item "5.3: Screen-selection entry method"
 While this is implemented already (it's basically the selection
 mechanism), it could be extended by displaying a unicode character map.
-.IP "5.4: Feedback method for identifying displayed characters for later input" 4
+.IP "5.4: Feedback method for identifying displayed characters for later input" 4
 .IX Item "5.4: Feedback method for identifying displayed characters for later input"
 This method lets you display the unicode character code associated with
 characters already displayed.
@@ -991,10 +1030,10 @@ With respect to conformance, rxvt-unicode is supposed to be compliant to
 both scenario A and B of \s-1ISO\s0 14755, including part 5.2.
 .SH "LOGIN STAMP"
 .IX Header "LOGIN STAMP"
-\&\fB@@RXVT_NAME@@\fR tries to write an entry into the \fIutmp\fR(5) file so
-that it can be seen via the \fI\fIwho\fI\|(1)\fR command, and can accept messages.
-To allow this feature, \fB@@RXVT_NAME@@\fR must be installed setuid root on
-some systems.
+\&\fB@@RXVT_NAME@@\fR tries to write an entry into the \fIutmp\fR(5) file so that
+it can be seen via the \fI\fIwho\fI\|(1)\fR command, and can accept messages.  To
+allow this feature, \fB@@RXVT_NAME@@\fR may need to be installed setuid root
+on some systems or setgid to root or to some other group on others.
 .SH "COLORS AND GRAPHICS"
 .IX Header "COLORS AND GRAPHICS"
 In addition to the default foreground and background colours,
@@ -1047,9 +1086,6 @@ terminal to use. \fB@@RXVT_NAME@@\fR uses the environment variables
 \&\fB\s-1RXVTPATH\s0\fR and \fB\s-1PATH\s0\fR to find \s-1XPM\s0 files.
 .SH "FILES"
 .IX Header "FILES"
-.IP "\fB/etc/utmp\fR" 4
-.IX Item "/etc/utmp"
-System file for login records.
 .IP "\fB/usr/lib/X11/rgb.txt\fR" 4
 .IX Item "/usr/lib/X11/rgb.txt"
 Color names.
index 7396ed2..d6f296a 100644 (file)
@@ -330,10 +330,21 @@ Compile I<XIM>: input method name. resource B<inputMethod>.
 
 =item B<-imlocale> I<string>
 
-The locale to use for opening the IM. You can use an LC_CTYPE of e.g.
-de_DE.UTF-8 for normal text processing but ja_JP.EUC-JP for the input
-extension to be able to input japanese characters while staying in
-another locale.
+The locale to use for opening the IM. You can use an C<LC_CTYPE> of e.g.
+C<de_DE.UTF-8> for normal text processing but C<ja_JP.EUC-JP> for the
+input extension to be able to input japanese characters while staying in
+another locale. resource B<imLocale>.
+
+=item B<-imfont> I<fontset>
+
+Set the font set to use for the X Input Method, see resource B<imFont>
+for more info.
+
+=item B<-tcw>
+
+Change the meaning of triple-click selection with the left mouse
+button. Instead of selecting a full line it will extend the selection the
+end of the logical line only. resource B<tripleclickwords>.
 
 =item B<-insecure>
 
@@ -777,11 +788,26 @@ I<name> of inputMethod to use; option B<-im>.
 
 =item B<imLocale:> I<name>
 
-The locale to use for opening the IM. You can use an LC_CTYPE of e.g.
-de_DE.UTF-8 for normal text processing but ja_JP.EUC-JP for the input
-extension to be able to input japanese characters while staying in
+The locale to use for opening the IM. You can use an C<LC_CTYPE> of e.g.
+C<de_DE.UTF-8> for normal text processing but C<ja_JP.EUC-JP> for the
+input extension to be able to input japanese characters while staying in
 another locale. option B<-imlocale>.
 
+=item B<imFont:> I<fontset>
+
+Specify the font-set used for XIM styles C<OverTheSpot> or
+C<OffTheSpot>. It must be a standard X font set (XLFD patterns separated
+by commas), i.e. it's not in the same format as the other font lists used
+in @@RXVT_NAME@@. The default will be set-up to chose *any* suitable found
+found, preferably one or two pixels differing in size to the base font.
+option B<-imfont>.
+
+=item B<tripleclickwords:> I<boolean>
+
+Change the meaning of triple-click selection with the left mouse
+button. Instead of selecting a full line it will extend the selection to
+the end of the logical line only. option B<-tcw>.
+
 =item B<insecure:> I<boolean>
 
 Enables "insecure" mode. Rxvt-unicode offers some escape sequences that
@@ -831,7 +857,7 @@ B<2>, B<3>, B<4>, B<5>.
 
 The B<NumLock>, B<Meta> and B<ISOLevel3> modifiers are usually aliased to
 whatever modifier the NumLock key, Meta/Alt keys or ISO Level3 Shift/AltGr
-keys are being mapped. B<AppKeypad> is a artificial modifier mapped to the
+keys are being mapped. B<AppKeypad> is a synthetic modifier mapped to the
 current application keymap mode state.
 
 The spellings of I<key> can be obtained by using B<xev>(1) command or
@@ -846,24 +872,44 @@ C<\000>: octal number) or verbatim control characters (C<^?>: delete,
 C<^@>: null, C<^A> ...) and may be enclosed with double quotes so that it
 can start or end with whitespace.
 
+Please note that you need to double the C<\> when using
+C<--enable-xgetdefault>, as X itself does it's own de-escaping (you can
+use C<\033> instead of C<\e> (and so on), which will work with both Xt and
+@@RXVT_NAME@@'s own processing).
+
 You can define a range of keysyms in one shot by providing a I<string>
 with pattern B<list/PREFIX/MIDDLE/SUFFIX>, where the delimeter `/'
 should be a character not used by the strings.
 
 Its usage can be demonstrated by an example:
 
-  URxvt.keysym.M-C-0x61:    list|\e<M-C-|abc|>
+  URxvt.keysym.M-C-0x61:    list|\033<M-C-|abc|>
 
 The above line is equivalent to the following three lines:
 
-  URxvt.keysym.Meta-Control-0x61:    \e<M-C-a>
-  URxvt.keysym.Meta-Control-0x62:    \e<M-C-b>
-  URxvt.keysym.Meta-Control-0x63:    \e<M-C-c>
+  URxvt.keysym.Meta-Control-0x61:    \033<M-C-a>
+  URxvt.keysym.Meta-Control-0x62:    \033<M-C-b>
+  URxvt.keysym.Meta-Control-0x63:    \033<M-C-c>
+
+If I<string> takes the form of C<command:STRING>, the specified B<STRING>
+is interpreted and executed as @@RXVT_NAME@@'s control sequence. For
+example the following means "change the current locale to C<zh_CN.GBK>
+when Control-Meta-c is being pressed":
+
+  URxvt.keysym.M-C-c: command:\033]701;zh_CN.GBK\007
+
+The following example will map Control-Meta-1 and Control-Meta-2 to
+the fonts C<suxuseuro> and C<9x15bold>, so you can have some limited
+font-switching at runtime:
 
-If I<string> takes the form of C<proto:STRING>, the specified B<STRING> is
-interpreted and executed as @@RXVT_NAME@@'s control sequence. For example,
-C<proto:\033]701;zh_CN.GBK\007> means: change the current locale to
-C<zh_CN.GBK>.
+  URxvt.keysym.M-C-1: command:\033]50;suxuseuro\007
+  URxvt.keysym.M-C-2: command:\033]50;9x15bold\007
+
+Other things are possible, e.g. resizing (see @@RXVT_NAME@@(7) for more
+info):
+
+  URxvt.keysym.M-C-3: command:\033[8;25;80t
+  URxvt.keysym.M-C-4: command:\033[8;48;110t
 
 =back
 
@@ -901,10 +947,11 @@ I<xterm>(1).
 
 =item B<Selection>:
 
-Left click at the beginning of the region, drag to the end of the
-region and release; Right click to extend the marked region; Left
-double-click to select a word; Left triple-click to select the entire
-line.
+Left click at the beginning of the region, drag to the end of the region
+and release; Right click to extend the marked region; Left double-click
+to select a word; Left triple-click to select the entire logical line
+(which can span multiple screen lines), unless modified by resource
+B<tripleclickwords>.
 
 Starting a selection while pressing the B<Meta> key (or B<Meta+Ctrl> keys)
 (Compile: I<frills>) will create a rectangular selection instead of a normal
@@ -940,7 +987,7 @@ with C<--enable-iso14755>.
 
 =over 4
 
-=item 5.1: Basic method
+=item 5.1: Basic method
 
 This allows you to enter unicode characters using their hexcode.
 
@@ -957,7 +1004,7 @@ address printed as hexcodes, e.g. C<671d 65e5>. You can enter this easily
 by pressing C<Control> and C<Shift>, followed by C<6-7-1-D-SPACE-6-5-E-5>,
 followed by releasing the modifier keys.
 
-=item 5.2: Keyboard symbols entry method
+=item 5.2: Keyboard symbols entry method
 
 This mode lets you input characters representing the keycap symbols of
 your keyboard, if representable in the current locale encoding.
@@ -970,12 +1017,12 @@ released, otherwise pressing e.g. C<Shift> would enter the symbol for
 C<ISO Level 2 Switch>, although your intention might have been to enter a
 reverse tab (Shift-Tab).
 
-=item 5.3: Screen-selection entry method
+=item 5.3: Screen-selection entry method
 
 While this is implemented already (it's basically the selection
 mechanism), it could be extended by displaying a unicode character map.
 
-=item 5.4: Feedback method for identifying displayed characters for later input
+=item 5.4: Feedback method for identifying displayed characters for later input
 
 This method lets you display the unicode character code associated with
 characters already displayed.
@@ -997,10 +1044,10 @@ both scenario A and B of ISO 14755, including part 5.2.
 
 =head1 LOGIN STAMP
 
-B<@@RXVT_NAME@@> tries to write an entry into the I<utmp>(5) file so
-that it can be seen via the I<who(1)> command, and can accept messages.
-To allow this feature, B<@@RXVT_NAME@@> must be installed setuid root on
-some systems.
+B<@@RXVT_NAME@@> tries to write an entry into the I<utmp>(5) file so that
+it can be seen via the I<who(1)> command, and can accept messages.  To
+allow this feature, B<@@RXVT_NAME@@> may need to be installed setuid root
+on some systems or setgid to root or to some other group on others.
 
 =head1 COLORS AND GRAPHICS
 
@@ -1064,10 +1111,6 @@ B<RXVTPATH> and B<PATH> to find XPM files.
 
 =over 4
 
-=item B</etc/utmp>
-
-System file for login records.
-
 =item B</usr/lib/X11/rgb.txt>
 
 Color names.
index d82b88d..4d6141c 100644 (file)
@@ -6,7 +6,7 @@ SYNOPSIS
     rxvt [options] [-e command [ args ]]
 
 DESCRIPTION
-    rxvt-unicode, version 4.8, is a colour vt102 terminal emulator intended
+    rxvt-unicode, version 4.9, is a colour vt102 terminal emulator intended
     as an *xterm*(1) replacement for users who do not require features such
     as Tektronix 4014 emulation and toolkit-style configurability. As a
     result, rxvt-unicode uses much less swap space -- a significant
@@ -279,10 +279,20 @@ OPTIONS
         Compile *XIM*: input method name. resource inputMethod.
 
     -imlocale *string*
-        The locale to use for opening the IM. You can use an LC_CTYPE of
-        e.g. de_DE.UTF-8 for normal text processing but ja_JP.EUC-JP for the
-        input extension to be able to input japanese characters while
-        staying in another locale.
+        The locale to use for opening the IM. You can use an "LC_CTYPE" of
+        e.g. "de_DE.UTF-8" for normal text processing but "ja_JP.EUC-JP" for
+        the input extension to be able to input japanese characters while
+        staying in another locale. resource imLocale.
+
+    -imfont *fontset*
+        Set the font set to use for the X Input Method, see resource imFont
+        for more info.
+
+    -tcw
+        Change the meaning of triple-click selection with the left mouse
+        button. Instead of selecting a full line it will extend the
+        selection the end of the logical line only. resource
+        tripleclickwords.
 
     -insecure
         Enable "insecure" mode, which currently enables most of the escape
@@ -656,11 +666,24 @@ RESOURCES (available also as long-options)
         *name* of inputMethod to use; option -im.
 
     imLocale: *name*
-        The locale to use for opening the IM. You can use an LC_CTYPE of
-        e.g. de_DE.UTF-8 for normal text processing but ja_JP.EUC-JP for the
-        input extension to be able to input japanese characters while
+        The locale to use for opening the IM. You can use an "LC_CTYPE" of
+        e.g. "de_DE.UTF-8" for normal text processing but "ja_JP.EUC-JP" for
+        the input extension to be able to input japanese characters while
         staying in another locale. option -imlocale.
 
+    imFont: *fontset*
+        Specify the font-set used for XIM styles "OverTheSpot" or
+        "OffTheSpot". It must be a standard X font set (XLFD patterns
+        separated by commas), i.e. it's not in the same format as the other
+        font lists used in rxvt. The default will be set-up to chose *any*
+        suitable found found, preferably one or two pixels differing in size
+        to the base font. option -imfont.
+
+    tripleclickwords: *boolean*
+        Change the meaning of triple-click selection with the left mouse
+        button. Instead of selecting a full line it will extend the
+        selection to the end of the logical line only. option -tcw.
+
     insecure: *boolean*
         Enables "insecure" mode. Rxvt-unicode offers some escape sequences
         that echo arbitrary strings like the icon name or the locale. This
@@ -702,8 +725,8 @@ RESOURCES (available also as long-options)
 
         The NumLock, Meta and ISOLevel3 modifiers are usually aliased to
         whatever modifier the NumLock key, Meta/Alt keys or ISO Level3
-        Shift/AltGr keys are being mapped. AppKeypad is a artificial
-        modifier mapped to the current application keymap mode state.
+        Shift/AltGr keys are being mapped. AppKeypad is a synthetic modifier
+        mapped to the current application keymap mode state.
 
         The spellings of *key* can be obtained by using xev(1) command or
         searching keysym macros from /usr/X11R6/include/X11/keysymdef.h and
@@ -733,7 +756,19 @@ RESOURCES (available also as long-options)
           URxvt.keysym.Meta-Control-0x63:    \e<M-C-c>
 
         If *string* takes the form of "proto:STRING", the specified STRING
-        is interpreted and executed as rxvt's control sequence. For example,
+        is interpreted and executed as rxvt's control sequence. For example
+        the following means "change the current locale to "zh_CN.GBK" when
+        Control-Meta-c is being pressed":
+
+          URxvt.keysym.M-C-c: proto:\033]701;zh_CN.GBK\007
+
+        The following example will map Control-Meta-1 and Control-Meta-2 to
+        the fonts "suxuseuro" and "9x15bold", so you cna have some limited
+        font-switching at runtime:
+
+          URxvt.keysym.M-C-1: proto:\033]50;suxuseuro\007
+          URxvt.keysym.M-C-2: proto:\033]50;9x15bold\007
+
         "proto:\033]701;zh_CN.GBK\007" means: change the current locale to
         "zh_CN.GBK".
 
@@ -767,7 +802,8 @@ TEXT SELECTION AND INSERTION
         Left click at the beginning of the region, drag to the end of the
         region and release; Right click to extend the marked region; Left
         double-click to select a word; Left triple-click to select the
-        entire line.
+        entire logical line (which can span multiple screen lines), unless
+        modified by resource tripleclickwords.
 
         Starting a selection while pressing the Meta key (or Meta+Ctrl keys)
         (Compile: *frills*) will create a rectangular selection instead of a
@@ -797,7 +833,7 @@ ISO 14755 SUPPORT
     the rest is available when rxvt-unicode was compiled with
     "--enable-iso14755".
 
-    5.1: Basic method
+    5.1: Basic method
         This allows you to enter unicode characters using their hexcode.
 
         Start by pressing and holding both "Control" and "Shift", then enter
@@ -813,7 +849,7 @@ ISO 14755 SUPPORT
         easily by pressing "Control" and "Shift", followed by
         "6-7-1-D-SPACE-6-5-E-5", followed by releasing the modifier keys.
 
-    5.2: Keyboard symbols entry method
+    5.2: Keyboard symbols entry method
         This mode lets you input characters representing the keycap symbols
         of your keyboard, if representable in the current locale encoding.
 
@@ -825,12 +861,12 @@ ISO 14755 SUPPORT
         enter the symbol for "ISO Level 2 Switch", although your intention
         might have been to enter a reverse tab (Shift-Tab).
 
-    5.3: Screen-selection entry method
+    5.3: Screen-selection entry method
         While this is implemented already (it's basically the selection
         mechanism), it could be extended by displaying a unicode character
         map.
 
-    5.4: Feedback method for identifying displayed characters for later
+    5.4: Feedback method for identifying displayed characters for later
     input
         This method lets you display the unicode character code associated
         with characters already displayed.
@@ -852,7 +888,8 @@ ISO 14755 SUPPORT
 LOGIN STAMP
     rxvt tries to write an entry into the *utmp*(5) file so that it can be
     seen via the *who(1)* command, and can accept messages. To allow this
-    feature, rxvt must be installed setuid root on some systems.
+    feature, rxvt may need to be installed setuid root on some systems or
+    setgid to root or to some other group on others.
 
 COLORS AND GRAPHICS
     In addition to the default foreground and background colours, rxvt can
@@ -901,9 +938,6 @@ ENVIRONMENT
     variables RXVTPATH and PATH to find XPM files.
 
 FILES
-    /etc/utmp
-        System file for login records.
-
     /usr/lib/X11/rgb.txt
         Color names.
 
index 4e2f826..f0d4bb3 100644 (file)
@@ -731,26 +731,29 @@ use the `keysym' resource to alter the keystrings associated with keysyms.
 </dd>
 <dd>
 <pre>
-        URxvt*keysym.Home:          \e[1~
-        URxvt*keysym.End:           \e[4~
-        URxvt*keysym.C-apostrophe:  \e&lt;C-'&gt;
-        URxvt*keysym.C-slash:       \e&lt;C-/&gt;
-        URxvt*keysym.C-semicolon:   \e&lt;C-;&gt;
-        URxvt*keysym.C-grave:       \e&lt;C-`&gt;
-        URxvt*keysym.C-comma:       \e&lt;C-,&gt;
-        URxvt*keysym.C-period:      \e&lt;C-.&gt;
-        URxvt*keysym.C-0x60:        \e&lt;C-`&gt;
-        URxvt*keysym.C-Tab:         \e&lt;C-Tab&gt;
-        URxvt*keysym.C-Return:      \e&lt;C-Return&gt;
-        URxvt*keysym.S-Return:      \e&lt;S-Return&gt;
-        URxvt*keysym.S-space:       \e&lt;S-Space&gt;
-        URxvt*keysym.M-Up:          \e&lt;M-Up&gt;
-        URxvt*keysym.M-Down:        \e&lt;M-Down&gt;
-        URxvt*keysym.M-Left:        \e&lt;M-Left&gt;
-        URxvt*keysym.M-Right:       \e&lt;M-Right&gt;
-        URxvt*keysym.M-C-0:         list.0123456789.\e&lt;M-C-.&gt;
-        URxvt*keysym.M-C-a:         list.abcdefghijklmnopqrstuvwxyz.\033&lt;M-C-.&gt;
-        URxvt*keysym.F12:           proto:\033]701;zh_CN.GBK\007</pre>
+   URxvt.keysym.Home:          \e[1~
+   URxvt.keysym.End:           \e[4~
+   URxvt.keysym.C-apostrophe:  \e&lt;C-'&gt;
+   URxvt.keysym.C-slash:       \e&lt;C-/&gt;
+   URxvt.keysym.C-semicolon:   \e&lt;C-;&gt;
+   URxvt.keysym.C-grave:       \e&lt;C-`&gt;
+   URxvt.keysym.C-comma:       \e&lt;C-,&gt;
+   URxvt.keysym.C-period:      \e&lt;C-.&gt;
+   URxvt.keysym.C-0x60:        \e&lt;C-`&gt;
+   URxvt.keysym.C-Tab:         \e&lt;C-Tab&gt;
+   URxvt.keysym.C-Return:      \e&lt;C-Return&gt;
+   URxvt.keysym.S-Return:      \e&lt;S-Return&gt;
+   URxvt.keysym.S-space:       \e&lt;S-Space&gt;
+   URxvt.keysym.M-Up:          \e&lt;M-Up&gt;
+   URxvt.keysym.M-Down:        \e&lt;M-Down&gt;
+   URxvt.keysym.M-Left:        \e&lt;M-Left&gt;
+   URxvt.keysym.M-Right:       \e&lt;M-Right&gt;
+   URxvt.keysym.M-C-0:         list \e&lt;M-C- 0123456789 &gt;
+   URxvt.keysym.M-C-a:         list \033&lt;M-C- abcdefghijklmnopqrstuvwxyz &gt;
+   URxvt.keysym.F12:           proto:\033]701;zh_CN.GBK\007</pre>
+</dd>
+<dd>
+<p>See some more examples in the documentation for the <strong>keysym</strong> resource.</p>
 </dd>
 <p></p>
 <dt><strong><a name="item_i_27m_using_keyboard_model_xxx_that_has_extra_prio">I'm using keyboard model XXX that has extra Prior/Next/Insert keys.
@@ -767,9 +770,9 @@ has the following mappings that rxvt-unicode doesn't recognize.</a></strong><br
    F35 == Next</pre>
 </dd>
 <dd>
-<p>Rather than have rxvt-unicode try to accommodate all the various possible keyboard
-mappings, it is better to use `xmodmap' to remap the keys as required for
-your particular machine.</p>
+<p>Rather than have rxvt-unicode try to accommodate all the various possible
+keyboard mappings, it is better to use `xmodmap' to remap the keys as
+required for your particular machine.</p>
 </dd>
 <dt><strong><a name="item_how_do_i_distinguish_if_i_27m_running_rxvt_2dunico">How do I distinguish if I'm running rxvt-unicode or a regular xterm?
 I need this to decide about setting colors etc.</a></strong><br />
@@ -1378,17 +1381,40 @@ Set Scrolling Region [top;bottom]
 Save Cursor (SC)
 </dd>
 <p></p>
-<dt><strong><a name="item_esc__5b_ps_x"><strong><code>ESC [ Ps x</code> </strong>&gt;</a></strong><br />
+<dt><strong><a name="item_esc__5b_ps_3bpt_t"><strong><code>ESC [ Ps;Pt t</code> </strong>&gt;</a></strong><br />
 </dt>
 <dd>
-Request Terminal Parameters (DECREQTPARM)
+Window Operations
 </dd>
-<p></p>
+<table>
+<tr><td>Ps = 1</td><td>Deiconify (map) window</td></tr>
+<tr><td>Ps = 2</td><td>Iconify window</td></tr>
+<tr><td>Ps = 3</td><td>ESC [ 3 ; X ; Y t Move window to (X|Y)</td></tr>
+<tr><td>Ps = 4</td><td>ESC [ 4 ; W ; H t Resize to WxH pixels</td></tr>
+<tr><td>Ps = 5</td><td>Raise window</td></tr>
+<tr><td>Ps = 6</td><td>Lower window</td></tr>
+<tr><td>Ps = 7</td><td>Refresh screen once</td></tr>
+<tr><td>Ps = 8</td><td>ESC [ 4 ; C ; R t Resize to C columns and R rows</td></tr>
+<tr><td>Ps = 11</td><td>Report window state (responds with Ps = 1 or Ps = 2</td></tr>
+<tr><td>Ps = 13</td><td>Report window position (responds with Ps = 3)</td></tr>
+<tr><td>Ps = 14</td><td>Report window pixel size (responds with Ps = 4)</td></tr>
+<tr><td>Ps = 18</td><td>Report window text size (responds with Ps = 7)</td></tr>
+<tr><td>Ps = 19</td><td>Currently the same as Ps = 18, but responds with Ps = 9</td></tr>
+<tr><td>Ps = 20</td><td>Reports icon label (ESC ] L NAME \234)</td></tr>
+<tr><td>Ps = 21</td><td>Reports window title (ESC ] l NAME \234)</td></tr>
+<tr><td>Ps = 24..</td><td>Set window height to Ps rows</td></tr>
+</table><p></p>
 <dt><strong><a name="item_esc__5b_u"><strong><code>ESC [ u</code> </strong>&gt;</a></strong><br />
 </dt>
 <dd>
 Restore Cursor
 </dd>
+<p></p>
+<dt><strong><a name="item_esc__5b_ps_x"><strong><code>ESC [ Ps x</code> </strong>&gt;</a></strong><br />
+</dt>
+<dd>
+Request Terminal Parameters (DECREQTPARM)
+</dd>
 <p></p></dl>
 <p></p>
 <p>
index 706cea8..6ba6fe5 100644 (file)
 .\" ========================================================================
 .\"
 .IX Title "rxvt 7"
-.TH rxvt 7 "2005-01-18" "4.8" "RXVT-UNICODE"
+.TH rxvt 7 "2005-02-03" "4.9" "RXVT-UNICODE"
 .SH "NAME"
 RXVT REFERENCE \- FAQ, command sequences and other background information
 .SH "FREQUENTLY ASKED QUESTIONS"
@@ -685,27 +685,29 @@ use the `keysym' resource to alter the keystrings associated with keysyms.
 Here's an example for a URxvt session started using `@@RXVT_NAME@@ \-name URxvt'
 .Sp
 .Vb 20
-\&        URxvt*keysym.Home:          \ee[1~
-\&        URxvt*keysym.End:           \ee[4~
-\&        URxvt*keysym.C-apostrophe:  \ee<C-'>
-\&        URxvt*keysym.C-slash:       \ee<C-/>
-\&        URxvt*keysym.C-semicolon:   \ee<C-;>
-\&        URxvt*keysym.C-grave:       \ee<C-`>
-\&        URxvt*keysym.C-comma:       \ee<C-,>
-\&        URxvt*keysym.C-period:      \ee<C-.>
-\&        URxvt*keysym.C-0x60:        \ee<C-`>
-\&        URxvt*keysym.C-Tab:         \ee<C-Tab>
-\&        URxvt*keysym.C-Return:      \ee<C-Return>
-\&        URxvt*keysym.S-Return:      \ee<S-Return>
-\&        URxvt*keysym.S-space:       \ee<S-Space>
-\&        URxvt*keysym.M-Up:          \ee<M-Up>
-\&        URxvt*keysym.M-Down:        \ee<M-Down>
-\&        URxvt*keysym.M-Left:        \ee<M-Left>
-\&        URxvt*keysym.M-Right:       \ee<M-Right>
-\&        URxvt*keysym.M-C-0:         list.0123456789.\ee<M-C-.>
-\&        URxvt*keysym.M-C-a:         list.abcdefghijklmnopqrstuvwxyz.\e033<M-C-.>
-\&        URxvt*keysym.F12:           proto:\e033]701;zh_CN.GBK\e007
+\&   URxvt.keysym.Home:          \ee[1~
+\&   URxvt.keysym.End:           \ee[4~
+\&   URxvt.keysym.C-apostrophe:  \ee<C-'>
+\&   URxvt.keysym.C-slash:       \ee<C-/>
+\&   URxvt.keysym.C-semicolon:   \ee<C-;>
+\&   URxvt.keysym.C-grave:       \ee<C-`>
+\&   URxvt.keysym.C-comma:       \ee<C-,>
+\&   URxvt.keysym.C-period:      \ee<C-.>
+\&   URxvt.keysym.C-0x60:        \ee<C-`>
+\&   URxvt.keysym.C-Tab:         \ee<C-Tab>
+\&   URxvt.keysym.C-Return:      \ee<C-Return>
+\&   URxvt.keysym.S-Return:      \ee<S-Return>
+\&   URxvt.keysym.S-space:       \ee<S-Space>
+\&   URxvt.keysym.M-Up:          \ee<M-Up>
+\&   URxvt.keysym.M-Down:        \ee<M-Down>
+\&   URxvt.keysym.M-Left:        \ee<M-Left>
+\&   URxvt.keysym.M-Right:       \ee<M-Right>
+\&   URxvt.keysym.M-C-0:         list \ee<M-C- 0123456789 >
+\&   URxvt.keysym.M-C-a:         list \e033<M-C- abcdefghijklmnopqrstuvwxyz >
+\&   URxvt.keysym.F12:           proto:\e033]701;zh_CN.GBK\e007
 .Ve
+.Sp
+See some more examples in the documentation for the \fBkeysym\fR resource.
 .IP "I'm using keyboard model \s-1XXX\s0 that has extra Prior/Next/Insert keys. How do I make use of them?  For example, the Sun Keyboard type 4 has the following mappings that rxvt-unicode doesn't recognize." 4
 .IX Item "I'm using keyboard model XXX that has extra Prior/Next/Insert keys. How do I make use of them?  For example, the Sun Keyboard type 4 has the following mappings that rxvt-unicode doesn't recognize."
 .Vb 6
@@ -717,9 +719,9 @@ Here's an example for a URxvt session started using `@@RXVT_NAME@@ \-name URxvt'
 \&   F35 == Next
 .Ve
 .Sp
-Rather than have rxvt-unicode try to accommodate all the various possible keyboard
-mappings, it is better to use `xmodmap' to remap the keys as required for
-your particular machine.
+Rather than have rxvt-unicode try to accommodate all the various possible
+keyboard mappings, it is better to use `xmodmap' to remap the keys as
+required for your particular machine.
 .IP "How do I distinguish if I'm running rxvt-unicode or a regular xterm? I need this to decide about setting colors etc." 4
 .IX Item "How do I distinguish if I'm running rxvt-unicode or a regular xterm? I need this to decide about setting colors etc."
 rxvt and rxvt-unicode always export the variable \*(L"\s-1COLORTERM\s0\*(R", so you can
@@ -1202,14 +1204,38 @@ Set Scrolling Region [top;bottom]
 .el .IP "\fB\f(CB\*(C`ESC [ s\*(C'\fB\fR" 4
 .IX Item "ESC [ s"
 Save Cursor (\s-1SC\s0)
-.ie n .IP "\fB\fB\*(C`ESC [ Ps x\*(C'\fB\fR" 4
-.el .IP "\fB\f(CB\*(C`ESC [ Ps x\*(C'\fB\fR" 4
-.IX Item "ESC [ Ps x"
-Request Terminal Parameters (\s-1DECREQTPARM\s0)
+.ie n .IP "\fB\fB\*(C`ESC [ Ps;Pt t\*(C'\fB\fR" 4
+.el .IP "\fB\f(CB\*(C`ESC [ Ps;Pt t\*(C'\fB\fR" 4
+.IX Item "ESC [ Ps;Pt t"
+Window Operations
+.TS
+l l .
+Ps = 1 Deiconify (map) window
+Ps = 2 Iconify window
+Ps = 3 ESC [ 3 ; X ; Y t Move window to (X|Y)
+Ps = 4 ESC [ 4 ; W ; H t Resize to WxH pixels
+Ps = 5 Raise window
+Ps = 6 Lower window
+Ps = 7 Refresh screen once
+Ps = 8 ESC [ 4 ; C ; R t Resize to C columns and R rows
+Ps = 11        Report window state (responds with Ps = 1 or Ps = 2
+Ps = 13        Report window position (responds with Ps = 3)
+Ps = 14        Report window pixel size (responds with Ps = 4)
+Ps = 18        Report window text size (responds with Ps = 7)
+Ps = 19        Currently the same as Ps = 18, but responds with Ps = 9
+Ps = 20        Reports icon label (ESC ] L NAME \234)
+Ps = 21        Reports window title (ESC ] l NAME \234)
+Ps = 24..      Set window height to Ps rows
+.TE
+
 .ie n .IP "\fB\fB\*(C`ESC [ u\*(C'\fB\fR" 4
 .el .IP "\fB\f(CB\*(C`ESC [ u\*(C'\fB\fR" 4
 .IX Item "ESC [ u"
 Restore Cursor
+.ie n .IP "\fB\fB\*(C`ESC [ Ps x\*(C'\fB\fR" 4
+.el .IP "\fB\f(CB\*(C`ESC [ Ps x\*(C'\fB\fR" 4
+.IX Item "ESC [ Ps x"
+Request Terminal Parameters (\s-1DECREQTPARM\s0)
 .PP
 
 .IX Xref "PrivateModes"
index 279adad..0dfd1bf 100644 (file)
@@ -528,26 +528,28 @@ use the `keysym' resource to alter the keystrings associated with keysyms.
 
 Here's an example for a URxvt session started using `@@RXVT_NAME@@ -name URxvt'
 
-        URxvt*keysym.Home:          \e[1~
-        URxvt*keysym.End:           \e[4~
-        URxvt*keysym.C-apostrophe:  \e<C-'>
-        URxvt*keysym.C-slash:       \e<C-/>
-        URxvt*keysym.C-semicolon:   \e<C-;>
-        URxvt*keysym.C-grave:       \e<C-`>
-        URxvt*keysym.C-comma:       \e<C-,>
-        URxvt*keysym.C-period:      \e<C-.>
-        URxvt*keysym.C-0x60:        \e<C-`>
-        URxvt*keysym.C-Tab:         \e<C-Tab>
-        URxvt*keysym.C-Return:      \e<C-Return>
-        URxvt*keysym.S-Return:      \e<S-Return>
-        URxvt*keysym.S-space:       \e<S-Space>
-        URxvt*keysym.M-Up:          \e<M-Up>
-        URxvt*keysym.M-Down:        \e<M-Down>
-        URxvt*keysym.M-Left:        \e<M-Left>
-        URxvt*keysym.M-Right:       \e<M-Right>
-        URxvt*keysym.M-C-0:         list.0123456789.\e<M-C-.>
-        URxvt*keysym.M-C-a:         list.abcdefghijklmnopqrstuvwxyz.\033<M-C-.>
-        URxvt*keysym.F12:           proto:\033]701;zh_CN.GBK\007
+   URxvt.keysym.Home:          \033[1~
+   URxvt.keysym.End:           \033[4~
+   URxvt.keysym.C-apostrophe:  \033<C-'>
+   URxvt.keysym.C-slash:       \033<C-/>
+   URxvt.keysym.C-semicolon:   \033<C-;>
+   URxvt.keysym.C-grave:       \033<C-`>
+   URxvt.keysym.C-comma:       \033<C-,>
+   URxvt.keysym.C-period:      \033<C-.>
+   URxvt.keysym.C-0x60:        \033<C-`>
+   URxvt.keysym.C-Tab:         \033<C-Tab>
+   URxvt.keysym.C-Return:      \033<C-Return>
+   URxvt.keysym.S-Return:      \033<S-Return>
+   URxvt.keysym.S-space:       \033<S-Space>
+   URxvt.keysym.M-Up:          \033<M-Up>
+   URxvt.keysym.M-Down:        \033<M-Down>
+   URxvt.keysym.M-Left:        \033<M-Left>
+   URxvt.keysym.M-Right:       \033<M-Right>
+   URxvt.keysym.M-C-0:         list \033<M-C- 0123456789 >
+   URxvt.keysym.M-C-a:         list \033<M-C- abcdefghijklmnopqrstuvwxyz >
+   URxvt.keysym.F12:           command:\033]701;zh_CN.GBK\007
+
+See some more examples in the documentation for the B<keysym> resource.
 
 =item I'm using keyboard model XXX that has extra Prior/Next/Insert keys.
 How do I make use of them?  For example, the Sun Keyboard type 4
@@ -560,9 +562,9 @@ has the following mappings that rxvt-unicode doesn't recognize.
    F33 == End
    F35 == Next
 
-Rather than have rxvt-unicode try to accommodate all the various possible keyboard
-mappings, it is better to use `xmodmap' to remap the keys as required for
-your particular machine.
+Rather than have rxvt-unicode try to accommodate all the various possible
+keyboard mappings, it is better to use `xmodmap' to remap the keys as
+required for your particular machine.
 
 =item How do I distinguish if I'm running rxvt-unicode or a regular xterm?
 I need this to decide about setting colors etc.
@@ -1063,14 +1065,39 @@ Set Scrolling Region [top;bottom]
 
 Save Cursor (SC)
 
-=item B<< C<ESC [ Ps x> >>
+=item B<< C<ESC [ Ps;Pt t> >>
 
-Request Terminal Parameters (DECREQTPARM)
+Window Operations
+
+=begin table
+
+       B<< C<Ps = 1> >>        Deiconify (map) window
+       B<< C<Ps = 2> >>        Iconify window
+       B<< C<Ps = 3> >>        B<< C<ESC [ 3 ; X ; Y t> >> Move window to (X|Y)
+       B<< C<Ps = 4> >>        B<< C<ESC [ 4 ; H ; W t> >> Resize to WxH pixels
+       B<< C<Ps = 5> >>        Raise window
+       B<< C<Ps = 6> >>        Lower window
+       B<< C<Ps = 7> >>        Refresh screen once
+       B<< C<Ps = 8> >>        B<< C<ESC [ 8 ; R ; C t> >> Resize to R rows and C columns
+       B<< C<Ps = 11> >>       Report window state (responds with C<Ps = 1> or C<Ps = 2>
+       B<< C<Ps = 13> >>       Report window position (responds with C<Ps = 3>)
+       B<< C<Ps = 14> >>       Report window pixel size (responds with C<Ps = 4>)
+       B<< C<Ps = 18> >>       Report window text size (responds with C<Ps = 7>)
+       B<< C<Ps = 19> >>       Currently the same as C<Ps = 18>, but responds with C<Ps = 9>
+       B<< C<Ps = 20> >>       Reports icon label (B<< C<ESC ] L NAME \234> >>)
+       B<< C<Ps = 21> >>       Reports window title (B<< C<ESC ] l NAME \234> >>)
+       B<< C<Ps = 24..> >>     Set window height to C<Ps> rows
+
+=end table
 
 =item B<< C<ESC [ u> >>
 
 Restore Cursor
 
+=item B<< C<ESC [ Ps x> >>
+
+Request Terminal Parameters (DECREQTPARM)
+
 =back
 
 X<PrivateModes>
index 42997cb..fed1b28 100644 (file)
@@ -511,26 +511,28 @@ FREQUENTLY ASKED QUESTIONS
         Here's an example for a URxvt session started using `rxvt -name
         URxvt'
 
-                URxvt*keysym.Home:          \e[1~
-                URxvt*keysym.End:           \e[4~
-                URxvt*keysym.C-apostrophe:  \e<C-'>
-                URxvt*keysym.C-slash:       \e<C-/>
-                URxvt*keysym.C-semicolon:   \e<C-;>
-                URxvt*keysym.C-grave:       \e<C-`>
-                URxvt*keysym.C-comma:       \e<C-,>
-                URxvt*keysym.C-period:      \e<C-.>
-                URxvt*keysym.C-0x60:        \e<C-`>
-                URxvt*keysym.C-Tab:         \e<C-Tab>
-                URxvt*keysym.C-Return:      \e<C-Return>
-                URxvt*keysym.S-Return:      \e<S-Return>
-                URxvt*keysym.S-space:       \e<S-Space>
-                URxvt*keysym.M-Up:          \e<M-Up>
-                URxvt*keysym.M-Down:        \e<M-Down>
-                URxvt*keysym.M-Left:        \e<M-Left>
-                URxvt*keysym.M-Right:       \e<M-Right>
-                URxvt*keysym.M-C-0:         list.0123456789.\e<M-C-.>
-                URxvt*keysym.M-C-a:         list.abcdefghijklmnopqrstuvwxyz.\033<M-C-.>
-                URxvt*keysym.F12:           proto:\033]701;zh_CN.GBK\007
+           URxvt.keysym.Home:          \e[1~
+           URxvt.keysym.End:           \e[4~
+           URxvt.keysym.C-apostrophe:  \e<C-'>
+           URxvt.keysym.C-slash:       \e<C-/>
+           URxvt.keysym.C-semicolon:   \e<C-;>
+           URxvt.keysym.C-grave:       \e<C-`>
+           URxvt.keysym.C-comma:       \e<C-,>
+           URxvt.keysym.C-period:      \e<C-.>
+           URxvt.keysym.C-0x60:        \e<C-`>
+           URxvt.keysym.C-Tab:         \e<C-Tab>
+           URxvt.keysym.C-Return:      \e<C-Return>
+           URxvt.keysym.S-Return:      \e<S-Return>
+           URxvt.keysym.S-space:       \e<S-Space>
+           URxvt.keysym.M-Up:          \e<M-Up>
+           URxvt.keysym.M-Down:        \e<M-Down>
+           URxvt.keysym.M-Left:        \e<M-Left>
+           URxvt.keysym.M-Right:       \e<M-Right>
+           URxvt.keysym.M-C-0:         list \e<M-C- 0123456789 >
+           URxvt.keysym.M-C-a:         list \033<M-C- abcdefghijklmnopqrstuvwxyz >
+           URxvt.keysym.F12:           proto:\033]701;zh_CN.GBK\007
+
+        See some more examples in the documentation for the keysym resource.
 
     I'm using keyboard model XXX that has extra Prior/Next/Insert keys. How
     do I make use of them? For example, the Sun Keyboard type 4 has the
@@ -902,12 +904,32 @@ CSI (Command Sequence Introducer) Sequences
     "ESC [ s"
         Save Cursor (SC)
 
-    "ESC [ Ps x"
-        Request Terminal Parameters (DECREQTPARM)
+    "ESC [ Ps;Pt t"
+        Window Operations
+
+           Ps = 1          Deiconify (map) window 
+           Ps = 2          Iconify window  
+           Ps = 3          ESC [ 3 ; X ; Y t Move window to (X|Y) 
+           Ps = 4          ESC [ 4 ; W ; H t Resize to WxH pixels 
+           Ps = 5          Raise window    
+           Ps = 6          Lower window    
+           Ps = 7          Refresh screen once 
+           Ps = 8          ESC [ 4 ; C ; R t Resize to C columns and R rows 
+           Ps = 11         Report window state (responds with Ps = 1 or Ps = 2 
+           Ps = 13         Report window position (responds with Ps = 3) 
+           Ps = 14         Report window pixel size (responds with Ps = 4) 
+           Ps = 18         Report window text size (responds with Ps = 7) 
+           Ps = 19         Currently the same as Ps = 18, but responds with Ps = 9 
+           Ps = 20         Reports icon label (ESC ] L NAME \234) 
+           Ps = 21         Reports window title (ESC ] l NAME \234) 
+           Ps = 24..       Set window height to Ps rows 
 
     "ESC [ u"
         Restore Cursor
 
+    "ESC [ Ps x"
+        Request Terminal Parameters (DECREQTPARM)
+
 
 
 DEC Private Modes
diff --git a/reconf b/reconf
index 15a8ff9..f054dc2 100755 (executable)
--- a/reconf
+++ b/reconf
@@ -11,6 +11,6 @@
             --with-codesets=zh,jp,kr --enable-menubar --enable-tinting \
             --enable-cursor-blink --enable-text-blink --enable-fading \
             --enable-plain-scroll --enable-rxvt-scroll --enable-combining --enable-iso14755 \
-            --enable-font-styles \
+            --enable-font-styles --enable-xpm-background --enable-xgetdefault \
             --enable-next-scroll --enable-xterm-scroll \
             "$@"
index 38405d5..bf9433a 100644 (file)
 
 keysym_t keyboard_manager::stock_keymap[] = {
   /* examples */
-  /*        keysym,                state, range,        handler,             str */
-//{XK_ISO_Left_Tab,                    0,     1,         NORMAL,           "\033[Z"},
-//{            'a',                    0,    26,    RANGE_META8,           "a" "%c"},
-//{            'a',          ControlMask,    26,    RANGE_META8,          "\ 1" "%c"},
-//{        XK_Left,                    0,     4,           LIST,   "DACBZ" "\033[Z"},
-//{        XK_Left,            ShiftMask,     4,           LIST,   "dacbZ" "\033[Z"},
-//{        XK_Left,          ControlMask,     4,           LIST,   "dacbZ" "\033OZ"},
-//{         XK_Tab,          ControlMask,     1,         NORMAL,      "\033<C-Tab>"},
-//{  XK_apostrophe,          ControlMask,     1,         NORMAL,        "\033<C-'>"},
-//{       XK_slash,          ControlMask,     1,         NORMAL,        "\033<C-/>"},
-//{   XK_semicolon,          ControlMask,     1,         NORMAL,        "\033<C-;>"},
-//{       XK_grave,          ControlMask,     1,         NORMAL,        "\033<C-`>"},
-//{       XK_comma,          ControlMask,     1,         NORMAL,     "\033<C-\054>"},
-//{      XK_Return,          ControlMask,     1,         NORMAL,    "\033<C-Return>"},
-//{      XK_Return,            ShiftMask,     1,         NORMAL,    "\033<S-Return>"},
-//{            ' ',            ShiftMask,     1,         NORMAL,    "\033<S-Space>"},
-//{            '.',          ControlMask,     1,         NORMAL,        "\033<C-.>"},
-//{            '0',          ControlMask,    10,          RANGE,   "0" "\033<C-%c>"},
-//{            '0', MetaMask|ControlMask,    10,          RANGE, "0" "\033<M-C-%c>"},
-//{            'a', MetaMask|ControlMask,    26,          RANGE, "a" "\033<M-C-%c>"},
+  /*        keysym,                state, range,               handler,              str */
+//{XK_ISO_Left_Tab,                    0,     1,      keysym_t::NORMAL,           "\033[Z"},
+//{            'a',                    0,    26, keysym_t::RANGE_META8,           "a" "%c"},
+//{            'a',          ControlMask,    26, keysym_t::RANGE_META8,          "\ 1" "%c"},
+//{        XK_Left,                    0,     4,        keysym_t::LIST,     ".\033[.DACB."},
+//{        XK_Left,            ShiftMask,     4,        keysym_t::LIST,     ".\033[.dacb."},
+//{        XK_Left,          ControlMask,     4,        keysym_t::LIST,     ".\033O.dacb."},
+//{         XK_Tab,          ControlMask,     1,      keysym_t::NORMAL,      "\033<C-Tab>"},
+//{  XK_apostrophe,          ControlMask,     1,      keysym_t::NORMAL,        "\033<C-'>"},
+//{       XK_slash,          ControlMask,     1,      keysym_t::NORMAL,        "\033<C-/>"},
+//{   XK_semicolon,          ControlMask,     1,      keysym_t::NORMAL,        "\033<C-;>"},
+//{       XK_grave,          ControlMask,     1,      keysym_t::NORMAL,        "\033<C-`>"},
+//{       XK_comma,          ControlMask,     1,      keysym_t::NORMAL,     "\033<C-\054>"},
+//{      XK_Return,          ControlMask,     1,      keysym_t::NORMAL,   "\033<C-Return>"},
+//{      XK_Return,            ShiftMask,     1,      keysym_t::NORMAL,   "\033<S-Return>"},
+//{            ' ',            ShiftMask,     1,      keysym_t::NORMAL,    "\033<S-Space>"},
+//{            '.',          ControlMask,     1,      keysym_t::NORMAL,        "\033<C-.>"},
+//{            '0',          ControlMask,    10,       keysym_t::RANGE,   "0" "\033<C-%c>"},
+//{            '0', MetaMask|ControlMask,    10,       keysym_t::RANGE, "0" "\033<M-C-%c>"},
+//{            'a', MetaMask|ControlMask,    26,       keysym_t::RANGE, "a" "\033<M-C-%c>"},
 };
 
 static void
 output_string (rxvt_term *rt, const char *str)
 {
-  if (strncmp (str, "proto:", 6) == 0)
-    rt->cmd_write ((unsigned char *)str + 6, strlen (str) - 6);
+  if (strncmp (str, "command:", 8) == 0)
+    rt->cmd_write ((unsigned char *)str + 8, strlen (str) - 8);
   else
     rt->tt_write ((unsigned char *)str, strlen (str));
 }
@@ -368,7 +368,6 @@ keyboard_manager::setup_hash ()
     }
 
   // and allocate just enough space
-  //sorted_keymap.reserve (hash[i - 1] + hash_budget_size[i - 1]);
   sorted_keymap.insert (sorted_keymap.begin (), index + hash_budget_size [i - 1], 0);
 
   // fill in sorted_keymap
@@ -425,7 +424,7 @@ keyboard_manager::setup_hash ()
           assert (index >= 0);
           keysym_t *b = keymap [index];
           assert (i == (signed) index ||       // the normally expected result
-            (a->keysym + j) >= b->keysym && (a->keysym + j) <= (b->keysym + b->range) && compare_priority (a, b) <= 0);        // is effectively the same
+            (a->keysym + j) >= b->keysym && (a->keysym + j) <= (b->keysym + b->range) && compare_priority (a, b) <= 0);        // is effectively the same or a closer match
         }
     }
 #endif
@@ -445,7 +444,7 @@ keyboard_manager::find_keysym (KeySym keysym, unsigned int state)
           // match only the specified bits in state and ignore others
           && (key->state & state) == key->state)
         return index;
-      else if (key->keysym > keysym && key->range == 1)
+      else if ((key->keysym & KEYSYM_HASH_MASK) > hashkey && key->range == 1)
         return -1;
     }
 
index 2d2340f..68ee544 100644 (file)
@@ -1,5 +1,5 @@
-#define VERSION "4.8"
-#define VSTRING "40800"
-#define DATE   "2005-01-18"
-#define LSMDATE        "18JAN05"
-#define LIBVERSION "4:8:0"
+#define VERSION "4.9"
+#define VSTRING "40900"
+#define DATE   "2005-02-03"
+#define LSMDATE        "02FEB03"
+#define LIBVERSION "4:9:0"
index bbfc6e7..cf7168e 100644 (file)
@@ -99,9 +99,12 @@ optList[] = {
               BOOL (Rs_jumpScroll, "jumpScroll", "j", Opt_jumpScroll, "jump scrolling"),
               BOOL (Rs_pastableTabs, "pastableTabs", "ptab", Opt_pastableTabs, "tab characters are pastable"),
 #ifdef HAVE_SCROLLBARS
+              RSTRG (Rs_scrollstyle, "scrollstyle", "mode"),
               BOOL (Rs_scrollBar, "scrollBar", "sb", Opt_scrollBar, "scrollbar"),
               BOOL (Rs_scrollBar_right, "scrollBar_right", "sr", Opt_scrollBar_right, "scrollbar right"),
               BOOL (Rs_scrollBar_floating, "scrollBar_floating", "st", Opt_scrollBar_floating, "scrollbar without a trough"),
+              RSTRG (Rs_scrollBar_align, "scrollBar_align", "mode"),
+              STRG (Rs_scrollBar_thickness, "thickness", "sbt", "number", "scrollbar thickness/width in pixels"),
 #endif
               BOOL (Rs_scrollTtyOutput, "scrollTtyOutput", NULL, Opt_scrollTtyOutput, NULL),
               BOOL (Rs_scrollTtyOutput, NULL, "si", Opt_Reverse | Opt_scrollTtyOutput, "scroll-on-tty-output inhibit"),
@@ -180,6 +183,14 @@ optList[] = {
 #ifdef OPTION_HC
               STRG (Rs_color + Color_HC, "highlightColor", "hc", "color", "highlight color"),
 #endif
+#ifndef NO_CURSORCOLOR
+              STRG (Rs_color + Color_cursor, "cursorColor", "cr", "color", "cursor color"),
+              /* command-line option = resource name */
+              RSTRG (Rs_color + Color_cursor2, "cursorColor2", "color"),
+#endif                         /* NO_CURSORCOLOR */
+              STRG (Rs_color + Color_pointer_fg, "pointerColor", "pr", "color", "pointer color"),
+              STRG (Rs_color + Color_pointer_bg, "pointerColor2", "pr2", "color", "pointer bg color"),
+              STRG (Rs_color + Color_border, "borderColor", "bd", "color", "border color"),
 #if defined (XPM_BACKGROUND) || (MENUBAR_MAX)
               RSTRG (Rs_path, "path", "search path"),
 #endif                         /* defined (XPM_BACKGROUND) || (MENUBAR_MAX) */
@@ -199,22 +210,13 @@ optList[] = {
 #ifdef USE_XIM
               STRG (Rs_inputMethod, "inputMethod", "im", "name", "name of input method"),
               STRG (Rs_preeditType, "preeditType", "pt", "style", "input style: style = OverTheSpot|OffTheSpot|Root"),
-#if defined(HAVE_XSETLOCALE) || defined(HAVE_SETLOCALE)
               STRG (Rs_imLocale, "imLocale", "imlocale", "string", "locale to use for input method"),
-#endif
+              STRG (Rs_imFont, "imFont", "imfont", "fontname", "fontset for styles OverTheSpot and OffTheSpot"),
 #endif                         /* USE_XIM */
               STRG (Rs_name, NULL, "name", "string", "client instance, icon, and title strings"),
               STRG (Rs_title, "title", "title", "string", "title name for window"),
               STRG (Rs_title, NULL, "T", NULL, NULL),  /* short form */
               STRG (Rs_iconName, "iconName", "n", "string", "icon name for window"),
-#ifndef NO_CURSORCOLOR
-              STRG (Rs_color + Color_cursor, "cursorColor", "cr", "color", "cursor color"),
-              /* command-line option = resource name */
-              RSTRG (Rs_color + Color_cursor2, "cursorColor2", "color"),
-#endif                         /* NO_CURSORCOLOR */
-              STRG (Rs_color + Color_pointer_fg, "pointerColor", "pr", "color", "pointer color"),
-              STRG (Rs_color + Color_pointer_bg, "pointerColor2", "pr2", "color", "pointer bg color"),
-              STRG (Rs_color + Color_border, "borderColor", "bd", "color", "border color"),
               STRG (Rs_saveLines, "saveLines", "sl", "number", "number of scrolled lines to save"),
 #if ENABLE_FRILLS
               STRG (Rs_ext_bwidth, "externalBorder", "w", "number", "external border in pixels"),
@@ -224,7 +226,6 @@ optList[] = {
               BOOL (Rs_borderLess, "borderLess", "bl", Opt_borderLess, "borderless window"),
               STRG (Rs_lineSpace, "lineSpace", "lsp", "number", "number of extra pixels between rows"),
 #endif
-              STRG (Rs_scrollBar_thickness, "thickness", "sbt", "number", "scrollbar thickness/width in pixels"),
 #ifdef POINTER_BLANK
               RSTRG (Rs_pointerBlankDelay, "pointerBlankDelay", "number"),
 #endif
@@ -235,15 +236,10 @@ optList[] = {
               RSTRG (Rs_delete_key, "deletekey", "string"),
 #endif
               RSTRG (Rs_selectstyle, "selectstyle", "mode"),
-              RSTRG (Rs_scrollstyle, "scrollstyle", "mode"),
-#ifdef HAVE_SCROLLBARS
-              RSTRG (Rs_scrollBar_align, "scrollBar_align", "mode"),
-#endif
 #ifdef PRINTPIPE
               RSTRG (Rs_print_pipe, "print-pipe", "string"),
 #endif
               STRG (Rs_modifier, "modifier", "mod", "modifier", "meta modifier = alt|meta|hyper|super|mod1|...|mod5"),
-              INFO ("xrm", "string", "X resource"),
 #ifdef CUTCHAR_RESOURCE
               RSTRG (Rs_cutchars, "cutchars", "string"),
 #endif                         /* CUTCHAR_RESOURCE */
@@ -252,6 +248,9 @@ optList[] = {
               BOOL (Rs_secondaryScreen, "secondaryScreen", "ssc", Opt_secondaryScreen, "enable secondary screen"),
               BOOL (Rs_secondaryScroll, "secondaryScroll", "ssr", Opt_secondaryScroll, "enable secondary screen scroll"),
 #endif
+#if !defined(NO_RESOURCES) && defined(USE_XGETDEFAULT)
+              INFO ("xrm", "string", "X resource"),
+#endif
               INFO ("e", "command arg ...", "command to execute")
             };
 
@@ -608,10 +607,11 @@ rxvt_define_key (XrmDatabase *database __attribute__((unused)),
                  XrmValue *value,
                  XPointer closure __attribute__((unused)))
 {
-  int             last;
+  int last;
 
   for (last = 0; quarks[last] != NULLQUARK; last++)    /* look for last quark in list */
     ;
+
   last--;
   GET_R->parse_keysym (XrmQuarkToString (quarks[last]), (char *)value->addr);//D//TODO
   return False;
@@ -665,11 +665,11 @@ keysym_vocabulary_t keysym_vocabulary[] =
 int
 rxvt_term::parse_keysym (const char *str, const char *arg)
 {
-  int          n, sym;
+  int n, sym;
   unsigned int state = 0;
-  const char   *pmodend = NULL;
-  char         *newarg = NULL;
-  char         newargstr[NEWARGLIM];
+  const char *pmodend = NULL;
+  char *newarg = NULL;
+  char newargstr[NEWARGLIM];
 
   if (arg == NULL)
     {
@@ -935,7 +935,6 @@ rxvt_term::extract_resources (Display *display __attribute__ ((unused)), const c
 #    ifndef HAVE_BOTH_XRESOURCE_FILES
               break;
 #    endif
-
             }
         }
     }
@@ -1042,23 +1041,24 @@ rxvt_term::extract_resources (Display *display __attribute__ ((unused)), const c
 
 # else                         /* USE_XGETDEFAULT */
     /* get resources the hard way, but save lots of memory */
-    FILE           *fd = NULL;
-    char           *home;
+    FILE *fd = NULL;
+    char *home;
 
     if ((home = getenv ("HOME")) != NULL)
       {
-        unsigned int    i, len = strlen (home) + 2;
-        char           *f = NULL;
+        unsigned int i, len = strlen (home) + 2;
+        char *f = NULL;
 
         for (i = 0; i < (sizeof (xnames) / sizeof (xnames[0])); i++)
           {
-            f = (char *)rxvt_realloc (f, (len + strlen (xnames[i])) * sizeof (char));
+            f = (char *)rxvt_realloc (f, len + strlen (xnames[i]));
 
             sprintf (f, "%s/%s", home, xnames[i]);
 
             if ((fd = fopen (f, "r")) != NULL)
               break;
           }
+
         free (f);
       }
     /*