From: root
Date: Thu, 3 Feb 2005 10:24:09 +0000 (+0000)
Subject: *** empty log message ***
X-Git-Url: http://git.openbox.org/?p=dana%2Furxvt.git;a=commitdiff_plain;h=f3605c3f73f5c61da4eeb3a4b52165e016f328fe
*** empty log message ***
---
diff --git a/Changes b/Changes
index 80775ab..3c93483 100644
--- 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
diff --git a/README.FAQ b/README.FAQ
index 0e457a0..f21a3f4 100644
--- a/README.FAQ
+++ b/README.FAQ
@@ -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
- URxvt*keysym.C-slash: \e
- URxvt*keysym.C-semicolon: \e
- URxvt*keysym.C-grave: \e
- URxvt*keysym.C-comma: \e
- URxvt*keysym.C-period: \e
- URxvt*keysym.C-0x60: \e
- URxvt*keysym.C-Tab: \e
- URxvt*keysym.C-Return: \e
- URxvt*keysym.S-Return: \e
- URxvt*keysym.S-space: \e
- URxvt*keysym.M-Up: \e
- URxvt*keysym.M-Down: \e
- URxvt*keysym.M-Left: \e
- URxvt*keysym.M-Right: \e
- URxvt*keysym.M-C-0: list.0123456789.\e
- URxvt*keysym.M-C-a: list.abcdefghijklmnopqrstuvwxyz.\033
- 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
+ URxvt.keysym.C-slash: \e
+ URxvt.keysym.C-semicolon: \e
+ URxvt.keysym.C-grave: \e
+ URxvt.keysym.C-comma: \e
+ URxvt.keysym.C-period: \e
+ URxvt.keysym.C-0x60: \e
+ URxvt.keysym.C-Tab: \e
+ URxvt.keysym.C-Return: \e
+ URxvt.keysym.S-Return: \e
+ URxvt.keysym.S-space: \e
+ URxvt.keysym.M-Up: \e
+ URxvt.keysym.M-Down: \e
+ URxvt.keysym.M-Left: \e
+ URxvt.keysym.M-Right: \e
+ URxvt.keysym.M-C-0: list \e
+ URxvt.keysym.M-C-a: list \033
+ 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
diff --git a/doc/rxvt.1.html b/doc/rxvt.1.html
index 440b974..105d66d 100644
--- a/doc/rxvt.1.html
+++ b/doc/rxvt.1.html
@@ -49,7 +49,7 @@
-rxvt-unicode, version 4.8, is a colour vt102 terminal
+
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 --
@@ -460,10 +460,25 @@ 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
@@ -1048,12 +1063,31 @@ built-in default:
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 staying in
+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
@@ -1116,7 +1150,7 @@ and the abbreviated I, K, C,
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
+keys are being mapped. AppKeypad is a synthetic modifier mapped to the
current application keymap mode state.
@@ -1155,9 +1189,27 @@ should be a character not used by the strings.
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,
-proto:\033]701;zh_CN.GBK\007
means: change the current locale to
+
If string takes the form of proto:STRING
, the specified STRING
+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
.
@@ -1196,10 +1248,11 @@ respectively.
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
+tripleclickwords.
Starting a selection while pressing the Meta key (or Meta+Ctrl 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
--enable-frills
, the rest is available when rxvt-unicode was compiled
with --enable-iso14755
.
-
-- 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
@@ -1251,7 +1304,7 @@ address printed as hexcodes, e.g. 671d 65e5
. You can enter this eas
by pressing Control
and Shift
, followed by 6-7-1-D-SPACE-6-5-E-5
,
followed by releasing the modifier keys.
-- 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.
@@ -1263,12 +1316,12 @@ released, otherwise pressing e.g. Shift
would enter the symbol for
ISO Level 2 Switch
, although your intention might have been to enter a
reverse tab (Shift-Tab).
-- 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.
-- 4: Feedback method for identifying displayed characters for later input
+ - 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.
@@ -1280,17 +1333,17 @@ pointer is displayed until you release Control
and Shift
-
+
With respect to conformance, rxvt-unicode is supposed to be compliant to
both scenario A and B of ISO 14755, including part 5.2.
-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.
+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 may need to be installed setuid root
+on some systems or setgid to root or to some other group on others.
@@ -1349,12 +1402,6 @@ terminal to use. rxvt uses the environment variables
-- /etc/utmp
-
--
-System file for login records.
-
-
- /usr/lib/X11/rgb.txt
-
diff --git a/doc/rxvt.1.man.in b/doc/rxvt.1.man.in
index 8308485..86a6bbf 100644
--- a/doc/rxvt.1.man.in
+++ b/doc/rxvt.1.man.in
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.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
.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.
diff --git a/doc/rxvt.1.pod b/doc/rxvt.1.pod
index 7396ed2..d6f296a 100644
--- a/doc/rxvt.1.pod
+++ b/doc/rxvt.1.pod
@@ -330,10 +330,21 @@ Compile I: input method name. resource B.
=item B<-imlocale> I
-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 of e.g.
+C for normal text processing but C for the
+input extension to be able to input japanese characters while staying in
+another locale. resource B.
+
+=item B<-imfont> I
+
+Set the font set to use for the X Input Method, see resource B
+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.
=item B<-insecure>
@@ -777,11 +788,26 @@ I of inputMethod to use; option B<-im>.
=item B I
-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 of e.g.
+C for normal text processing but C for the
+input extension to be able to input japanese characters while staying in
another locale. option B<-imlocale>.
+=item B I
+
+Specify the font-set used for XIM styles C or
+C. 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 I
+
+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 I
Enables "insecure" mode. Rxvt-unicode offers some escape sequences that
@@ -831,7 +857,7 @@ B<2>, B<3>, B<4>, B<5>.
The B, B and B modifiers are usually aliased to
whatever modifier the NumLock key, Meta/Alt keys or ISO Level3 Shift/AltGr
-keys are being mapped. B is a artificial modifier mapped to the
+keys are being mapped. B is a synthetic modifier mapped to the
current application keymap mode state.
The spellings of I can be obtained by using B(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
with pattern B
, 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
+ URxvt.keysym.M-C-0x61: list|\033
The above line is equivalent to the following three lines:
- URxvt.keysym.Meta-Control-0x61: \e
- URxvt.keysym.Meta-Control-0x62: \e
- URxvt.keysym.Meta-Control-0x63: \e
+ URxvt.keysym.Meta-Control-0x61: \033
+ URxvt.keysym.Meta-Control-0x62: \033
+ URxvt.keysym.Meta-Control-0x63: \033
+
+If I takes the form of C, the specified B
+is interpreted and executed as @@RXVT_NAME@@'s control sequence. For
+example the following means "change the current locale to C
+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 and C<9x15bold>, so you can have some limited
+font-switching at runtime:
-If I takes the form of C, the specified B is
-interpreted and executed as @@RXVT_NAME@@'s control sequence. For example,
-C means: change the current locale to
-C.
+ 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(1).
=item B:
-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.
Starting a selection while pressing the B key (or B keys)
(Compile: I) 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 and C, 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 would enter the symbol for
C, 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(5) file so
-that it can be seen via the I 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(5) file so that
+it can be seen via the I 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 and B to find XPM files.
=over 4
-=item B
-
-System file for login records.
-
=item B
Color names.
diff --git a/doc/rxvt.1.txt b/doc/rxvt.1.txt
index d82b88d..4d6141c 100644
--- a/doc/rxvt.1.txt
+++ b/doc/rxvt.1.txt
@@ -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
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.
diff --git a/doc/rxvt.7.html b/doc/rxvt.7.html
index 4e2f826..f0d4bb3 100644
--- a/doc/rxvt.7.html
+++ b/doc/rxvt.7.html
@@ -731,26 +731,29 @@ use the `keysym' resource to alter the keystrings associated with keysyms.
-
- 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.
@@ -767,9 +770,9 @@ has the following mappings that rxvt-unicode doesn't recognize.
-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.
How do I distinguish if I'm running rxvt-unicode or a regular xterm?
I need this to decide about setting colors etc.
@@ -1378,17 +1381,40 @@ Set Scrolling Region [top;bottom]
Save Cursor (SC)
-ESC [ Ps x
>
+ESC [ Ps;Pt t
>
-Request Terminal Parameters (DECREQTPARM)
+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)
+
diff --git a/doc/rxvt.7.man.in b/doc/rxvt.7.man.in
index 706cea8..6ba6fe5 100644
--- a/doc/rxvt.7.man.in
+++ b/doc/rxvt.7.man.in
@@ -129,7 +129,7 @@
.\" ========================================================================
.\"
.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
-\& URxvt*keysym.C-slash: \ee
-\& URxvt*keysym.C-semicolon: \ee
-\& URxvt*keysym.C-grave: \ee
-\& URxvt*keysym.C-comma: \ee
-\& URxvt*keysym.C-period: \ee
-\& URxvt*keysym.C-0x60: \ee
-\& URxvt*keysym.C-Tab: \ee
-\& URxvt*keysym.C-Return: \ee
-\& URxvt*keysym.S-Return: \ee
-\& URxvt*keysym.S-space: \ee
-\& URxvt*keysym.M-Up: \ee
-\& URxvt*keysym.M-Down: \ee
-\& URxvt*keysym.M-Left: \ee
-\& URxvt*keysym.M-Right: \ee
-\& URxvt*keysym.M-C-0: list.0123456789.\ee
-\& URxvt*keysym.M-C-a: list.abcdefghijklmnopqrstuvwxyz.\e033
-\& 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
+\& URxvt.keysym.C-slash: \ee
+\& URxvt.keysym.C-semicolon: \ee
+\& URxvt.keysym.C-grave: \ee
+\& URxvt.keysym.C-comma: \ee
+\& URxvt.keysym.C-period: \ee
+\& URxvt.keysym.C-0x60: \ee
+\& URxvt.keysym.C-Tab: \ee
+\& URxvt.keysym.C-Return: \ee
+\& URxvt.keysym.S-Return: \ee
+\& URxvt.keysym.S-space: \ee
+\& URxvt.keysym.M-Up: \ee
+\& URxvt.keysym.M-Down: \ee
+\& URxvt.keysym.M-Left: \ee
+\& URxvt.keysym.M-Right: \ee
+\& URxvt.keysym.M-C-0: list \ee
+\& URxvt.keysym.M-C-a: list \e033
+\& 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"
diff --git a/doc/rxvt.7.pod b/doc/rxvt.7.pod
index 279adad..0dfd1bf 100644
--- a/doc/rxvt.7.pod
+++ b/doc/rxvt.7.pod
@@ -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
- URxvt*keysym.C-slash: \e
- URxvt*keysym.C-semicolon: \e
- URxvt*keysym.C-grave: \e
- URxvt*keysym.C-comma: \e
- URxvt*keysym.C-period: \e
- URxvt*keysym.C-0x60: \e
- URxvt*keysym.C-Tab: \e
- URxvt*keysym.C-Return: \e
- URxvt*keysym.S-Return: \e
- URxvt*keysym.S-space: \e
- URxvt*keysym.M-Up: \e
- URxvt*keysym.M-Down: \e
- URxvt*keysym.M-Left: \e
- URxvt*keysym.M-Right: \e
- URxvt*keysym.M-C-0: list.0123456789.\e
- URxvt*keysym.M-C-a: list.abcdefghijklmnopqrstuvwxyz.\033
- 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
+ URxvt.keysym.C-slash: \033
+ URxvt.keysym.C-semicolon: \033
+ URxvt.keysym.C-grave: \033
+ URxvt.keysym.C-comma: \033
+ URxvt.keysym.C-period: \033
+ URxvt.keysym.C-0x60: \033
+ URxvt.keysym.C-Tab: \033
+ URxvt.keysym.C-Return: \033
+ URxvt.keysym.S-Return: \033
+ URxvt.keysym.S-space: \033
+ URxvt.keysym.M-Up: \033
+ URxvt.keysym.M-Down: \033
+ URxvt.keysym.M-Left: \033
+ URxvt.keysym.M-Right: \033
+ URxvt.keysym.M-C-0: list \033
+ URxvt.keysym.M-C-a: list \033
+ URxvt.keysym.F12: command:\033]701;zh_CN.GBK\007
+
+See some more examples in the documentation for the B 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 >>
+=item B<< C >>
-Request Terminal Parameters (DECREQTPARM)
+Window Operations
+
+=begin table
+
+ B<< C >> Deiconify (map) window
+ B<< C >> Iconify window
+ B<< C >> B<< C >> Move window to (X|Y)
+ B<< C >> B<< C >> Resize to WxH pixels
+ B<< C >> Raise window
+ B<< C >> Lower window
+ B<< C >> Refresh screen once
+ B<< C >> B<< C >> Resize to R rows and C columns
+ B<< C >> Report window state (responds with C or C
+ B<< C >> Report window position (responds with C)
+ B<< C >> Report window pixel size (responds with C)
+ B<< C >> Report window text size (responds with C)
+ B<< C >> Currently the same as C, but responds with C
+ B<< C >> Reports icon label (B<< C >>)
+ B<< C >> Reports window title (B<< C >>)
+ B<< C >> Set window height to C rows
+
+=end table
=item B<< C >>
Restore Cursor
+=item B<< C >>
+
+Request Terminal Parameters (DECREQTPARM)
+
=back
X
diff --git a/doc/rxvt.7.txt b/doc/rxvt.7.txt
index 42997cb..fed1b28 100644
--- a/doc/rxvt.7.txt
+++ b/doc/rxvt.7.txt
@@ -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
- URxvt*keysym.C-slash: \e
- URxvt*keysym.C-semicolon: \e
- URxvt*keysym.C-grave: \e
- URxvt*keysym.C-comma: \e
- URxvt*keysym.C-period: \e
- URxvt*keysym.C-0x60: \e
- URxvt*keysym.C-Tab: \e
- URxvt*keysym.C-Return: \e
- URxvt*keysym.S-Return: \e
- URxvt*keysym.S-space: \e
- URxvt*keysym.M-Up: \e
- URxvt*keysym.M-Down: \e
- URxvt*keysym.M-Left: \e
- URxvt*keysym.M-Right: \e
- URxvt*keysym.M-C-0: list.0123456789.\e
- URxvt*keysym.M-C-a: list.abcdefghijklmnopqrstuvwxyz.\033
- 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
+ URxvt.keysym.C-slash: \e
+ URxvt.keysym.C-semicolon: \e
+ URxvt.keysym.C-grave: \e
+ URxvt.keysym.C-comma: \e
+ URxvt.keysym.C-period: \e
+ URxvt.keysym.C-0x60: \e
+ URxvt.keysym.C-Tab: \e
+ URxvt.keysym.C-Return: \e
+ URxvt.keysym.S-Return: \e
+ URxvt.keysym.S-space: \e
+ URxvt.keysym.M-Up: \e
+ URxvt.keysym.M-Down: \e
+ URxvt.keysym.M-Left: \e
+ URxvt.keysym.M-Right: \e
+ URxvt.keysym.M-C-0: list \e
+ URxvt.keysym.M-C-a: list \033
+ 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
--- 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 \
"$@"
diff --git a/src/keyboard.C b/src/keyboard.C
index 38405d5..bf9433a 100644
--- a/src/keyboard.C
+++ b/src/keyboard.C
@@ -13,33 +13,33 @@
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, "" "%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"},
-//{ XK_apostrophe, ControlMask, 1, NORMAL, "\033"},
-//{ XK_slash, ControlMask, 1, NORMAL, "\033"},
-//{ XK_semicolon, ControlMask, 1, NORMAL, "\033"},
-//{ XK_grave, ControlMask, 1, NORMAL, "\033"},
-//{ XK_comma, ControlMask, 1, NORMAL, "\033"},
-//{ XK_Return, ControlMask, 1, NORMAL, "\033"},
-//{ XK_Return, ShiftMask, 1, NORMAL, "\033"},
-//{ ' ', ShiftMask, 1, NORMAL, "\033"},
-//{ '.', ControlMask, 1, NORMAL, "\033"},
-//{ '0', ControlMask, 10, RANGE, "0" "\033"},
-//{ '0', MetaMask|ControlMask, 10, RANGE, "0" "\033"},
-//{ 'a', MetaMask|ControlMask, 26, RANGE, "a" "\033"},
+ /* 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, "" "%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"},
+//{ XK_apostrophe, ControlMask, 1, keysym_t::NORMAL, "\033"},
+//{ XK_slash, ControlMask, 1, keysym_t::NORMAL, "\033"},
+//{ XK_semicolon, ControlMask, 1, keysym_t::NORMAL, "\033"},
+//{ XK_grave, ControlMask, 1, keysym_t::NORMAL, "\033"},
+//{ XK_comma, ControlMask, 1, keysym_t::NORMAL, "\033"},
+//{ XK_Return, ControlMask, 1, keysym_t::NORMAL, "\033"},
+//{ XK_Return, ShiftMask, 1, keysym_t::NORMAL, "\033"},
+//{ ' ', ShiftMask, 1, keysym_t::NORMAL, "\033"},
+//{ '.', ControlMask, 1, keysym_t::NORMAL, "\033"},
+//{ '0', ControlMask, 10, keysym_t::RANGE, "0" "\033"},
+//{ '0', MetaMask|ControlMask, 10, keysym_t::RANGE, "0" "\033"},
+//{ 'a', MetaMask|ControlMask, 26, keysym_t::RANGE, "a" "\033"},
};
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;
}
diff --git a/src/version.h b/src/version.h
index 2d2340f..68ee544 100644
--- a/src/version.h
+++ b/src/version.h
@@ -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"
diff --git a/src/xdefaults.C b/src/xdefaults.C
index bbfc6e7..cf7168e 100644
--- a/src/xdefaults.C
+++ b/src/xdefaults.C
@@ -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);
}
/*