From d87b964179ccc6dc8d6594e98662c890cd05fc46 Mon Sep 17 00:00:00 2001
From: root
Date: Sun, 17 Apr 2005 22:36:12 +0000
Subject: [PATCH] *** empty log message ***
---
Changes | 10 +++++++
README.FAQ | 17 ++++++-----
README.configure | 19 ++++++------
autoconf/configure.in | 11 -------
doc/etc/rxvt-unicode.termcap | 13 ++++----
doc/rxvt.1.html | 5 ++--
doc/rxvt.1.man.in | 5 ++--
doc/rxvt.1.pod | 3 +-
doc/rxvt.1.txt | 4 ++-
doc/rxvt.7.html | 38 ++++++++++++------------
doc/rxvt.7.man.in | 38 ++++++++++++------------
doc/rxvt.7.pod | 18 +++++-------
doc/rxvt.7.txt | 36 ++++++++++++-----------
reconf | 4 +--
src/keyboard.C | 7 ++++-
src/rxvt.h | 12 ++++++--
src/rxvtfont.C | 8 ++---
src/rxvtlib.h.in | 1 +
src/screen.C | 57 ++++++++++++++++++------------------
src/version.h | 4 +--
src/xdefaults.C | 3 +-
21 files changed, 168 insertions(+), 145 deletions(-)
diff --git a/Changes b/Changes
index 1d49ea3c..4d708bcd 100644
--- a/Changes
+++ b/Changes
@@ -11,6 +11,16 @@ WISH: OnTheSpot editing, or maybe switch to miiiiiiif
WISH: tabbed windows (hey, just use screen...)
WISH: just for fun, do shade and tint with XRender.
+5.4 Mon Apr 18 00:33:31 CEST 2005
+ - match modifier state exactly in custom keyboard code.
+ this is necessary because it has no knowledge about
+ built-in mappings and so will overwrite them. the priority-code
+ will be re-enabled when this has changed, so watch out.
+ - cursor blinking now depends on frills.
+ - underline cursor mode (frills, -uc).
+ - implement special value (*g*) for pointerBlankDelay
+ to disble it.
+
5.3 Sun Mar 13 00:20:44 CET 2005
- fix a bug that allowed to overflow a buffer via a long
escape sequence, which is probably exploitable (fix by
diff --git a/README.FAQ b/README.FAQ
index 2fba3a0f..1a12e2f3 100644
--- a/README.FAQ
+++ b/README.FAQ
@@ -281,13 +281,16 @@ FREQUENTLY ASKED QUESTIONS
representation of wchar_t. This is, of course, completely fine with
respect to standards.
- However, "__STDC_ISO_10646__" is the only sane way to support
- multi-language apps in an OS, as using a locale-dependent (and
- non-standardized) representation of wchar_t makes it impossible to
- convert between wchar_t (as used by X11 and your applications) and
- any other encoding without implementing OS-specific-wrappers for
- each and every locale. There simply are no APIs to convert wchar_t
- into anything except the current locale encoding.
+ However, that means rxvt-unicode only works in "POSIX", "ISO-8859-1"
+ and "UTF-8" locales under FreeBSD (which all use Unicode as wchar_t.
+
+ "__STDC_ISO_10646__" is the only sane way to support multi-language
+ apps in an OS, as using a locale-dependent (and non-standardized)
+ representation of wchar_t makes it impossible to convert between
+ wchar_t (as used by X11 and your applications) and any other
+ encoding without implementing OS-specific-wrappers for each and
+ every locale. There simply are no APIs to convert wchar_t into
+ anything except the current locale encoding.
Some applications (such as the formidable mlterm) work around this
by carrying their own replacement functions for character set
diff --git a/README.configure b/README.configure
index 37829013..8133ff3c 100644
--- a/README.configure
+++ b/README.configure
@@ -22,13 +22,14 @@ CONFIGURE OPTIONS
fonts can be set manually or automatically.
--with-codesets=NAME,...
- Compile in support for additional codeset (encoding) groups (eu, vn
- are always compiled in, which includes most 8-bit character sets).
- These codeset tables are currently only used for driving X11 core
- fonts, they are not required for Xft fonts. Compiling them in will
- make your binary bigger (together about 700kB), but it doesn't
- increase memory usage unless you use an X11 font requiring one of
- these encodings.
+ Compile in support for additional codeset (encoding) groups ("eu",
+ "vn" are always compiled in, which includes most 8-bit character
+ sets). These codeset tables are used for driving X11 core fonts,
+ they are not required for Xft fonts, although having them compiled
+ in lets rxvt-unicode choose replacement fonts more intelligently.
+ Compiling them in will make your binary bigger (all of together cost
+ about 700kB), but it doesn't increase memory usage unless you use a
+ font requiring one of these encodings.
all all available codeset groups
zh common chinese encodings
@@ -189,6 +190,7 @@ CONFIGURE OPTIONS
tripleclickwords
settable insecure mode
keysym remapping support
+ cursor blinking and underline cursor
-embed and -pty-fd options
--enable-iso14755
@@ -229,9 +231,6 @@ CONFIGURE OPTIONS
hot keys. This should keep in a fixed position the rxvt corner which
is closest to a corner of the screen.
- --enable-cursor-blink
- Add support for a blinking cursor.
-
--enable-pointer-blank
Add support to have the pointer disappear when typing or inactive.
diff --git a/autoconf/configure.in b/autoconf/configure.in
index 3916979e..a173ab7b 100644
--- a/autoconf/configure.in
+++ b/autoconf/configure.in
@@ -101,7 +101,6 @@ support_mouseslipwheel=no
support_utmp=no
support_wtmp=no
support_lastlog=no
-support_cursor_blink=no
support_text_blink=no
support_pointer_blank=no
support_scroll_rxvt=no
@@ -144,7 +143,6 @@ AC_ARG_ENABLE(everything,
support_menubar=yes
support_mousewheel=yes
support_mouseslipwheel=yes
- support_cursor_blink=yes
support_text_blink=yes
support_pointer_blank=yes
support_scroll_rxvt=yes
@@ -425,12 +423,6 @@ AC_ARG_ENABLE(smart-resize,
AC_DEFINE(SMART_RESIZE, 1, Define to use "smart" resize behavior)
fi])
-AC_ARG_ENABLE(cursor-blink,
- [ --enable-cursor-blink enable blinking cursor],
- [if test x$enableval = xyes -o x$enableval = xno; then
- support_cursor_blink=$enableval
- fi])
-
AC_ARG_ENABLE(text-blink,
[ --enable-text-blink enable blinking text],
[if test x$enableval = xyes -o x$enableval = xno; then
@@ -1282,9 +1274,6 @@ fi
if test x$support_pointer_blank = xyes; then
AC_DEFINE(POINTER_BLANK, 1, Define if you want hide the pointer while typing)
fi
-if test x$support_cursor_blink = xyes; then
- AC_DEFINE(CURSOR_BLINK, 1, Define if you want blinking cursor support)
-fi
if test x$support_text_blink = xyes; then
AC_DEFINE(TEXT_BLINK, 1, Define if you want blinking text support)
fi
diff --git a/doc/etc/rxvt-unicode.termcap b/doc/etc/rxvt-unicode.termcap
index 22215970..bd689e35 100644
--- a/doc/etc/rxvt-unicode.termcap
+++ b/doc/etc/rxvt-unicode.termcap
@@ -1,15 +1,16 @@
-# Reconstructed via infocmp from file: /etc/terminfo/r/rxvt-unicode
+# Reconstructed via infocmp from file: /usr/share/terminfo/r/rxvt-unicode
# (untranslatable capabilities removed to fit entry within 1023 bytes)
rxvt-unicode|rxvt-unicode terminal (X Window System):\
:am:bw:eo:km:mi:ms:xn:xo:\
:co#80:it#8:li#24:lm#0:\
:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\
:K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\
- :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ae=^O:al=\E[L:\
- :as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:\
- :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:\
- :ec=\E[%dX:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:ic=\E[@:\
- :im=\E[4h:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\
+ :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ae=\E(B:al=\E[L:\
+ :as=\E(0:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:\
+ :cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:\
+ :dl=\E[M:do=^J:ec=\E[%dX:ei=\E[4l:ho=\E[H:\
+ :i1=\E[?47l\E=\E[?1l:ic=\E[@:im=\E[4h:\
+ :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\
:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:\
:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:kD=\E[3~:\
:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:ke=\E[?1l\E>:\
diff --git a/doc/rxvt.1.html b/doc/rxvt.1.html
index 9d8a2c75..13acfc70 100644
--- a/doc/rxvt.1.html
+++ b/doc/rxvt.1.html
@@ -49,7 +49,7 @@
-rxvt-unicode, version 5.2, is a colour vt102 terminal
+
rxvt-unicode, version 5.3, 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 --
@@ -1097,7 +1097,8 @@ Mouse pointer background colour.
pointerBlankDelay: number
-Specifies number of seconds before blanking the pointer [default 2].
+Specifies number of seconds before blanking the pointer [default 2]. Use a
+large number (e.g. 987654321
) to effectively disable the timeout.
backspacekey: string
diff --git a/doc/rxvt.1.man.in b/doc/rxvt.1.man.in
index be3e16f9..5d2190b7 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-02-19" "5.2" "RXVT-UNICODE"
+.TH rxvt 1 "2005-04-17" "5.3" "RXVT-UNICODE"
.SH "NAME"
rxvt\-unicode (ouR XVT, unicode) \- (a VT102 emulator for the X window system)
.SH "SYNOPSIS"
@@ -845,7 +845,8 @@ Mouse pointer foreground colour.
Mouse pointer background colour.
.IP "\fBpointerBlankDelay:\fR \fInumber\fR" 4
.IX Item "pointerBlankDelay: number"
-Specifies number of seconds before blanking the pointer [default 2].
+Specifies number of seconds before blanking the pointer [default 2]. Use a
+large number (e.g. \f(CW987654321\fR) to effectively disable the timeout.
.IP "\fBbackspacekey:\fR \fIstring\fR" 4
.IX Item "backspacekey: string"
The string to send when the backspace key is pressed. If set to \fB\s-1DEC\s0\fR
diff --git a/doc/rxvt.1.pod b/doc/rxvt.1.pod
index 32f757d4..91b9ab19 100644
--- a/doc/rxvt.1.pod
+++ b/doc/rxvt.1.pod
@@ -817,7 +817,8 @@ Mouse pointer background colour.
=item B I
-Specifies number of seconds before blanking the pointer [default 2].
+Specifies number of seconds before blanking the pointer [default 2]. Use a
+large number (e.g. C<987654321>) to effectively disable the timeout.
=item B I
diff --git a/doc/rxvt.1.txt b/doc/rxvt.1.txt
index b301bc75..86481e46 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 5.2, is a colour vt102 terminal emulator intended
+ rxvt-unicode, version 5.3, 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
@@ -699,6 +699,8 @@ RESOURCES (available also as long-options)
pointerBlankDelay: *number*
Specifies number of seconds before blanking the pointer [default 2].
+ Use a large number (e.g. 987654321) to effectively disable the
+ timeout.
backspacekey: *string*
The string to send when the backspace key is pressed. If set to DEC
diff --git a/doc/rxvt.7.html b/doc/rxvt.7.html
index b21deb9b..264a411e 100644
--- a/doc/rxvt.7.html
+++ b/doc/rxvt.7.html
@@ -440,13 +440,17 @@ does it support it. Instead, it uses it's own internal representation of
wchar_t. This is, of course, completely fine with respect to standards.
-However, __STDC_ISO_10646__
is the only sane way to support
-multi-language apps in an OS, as using a locale-dependent (and
-non-standardized) representation of wchar_t makes it impossible to
-convert between wchar_t (as used by X11 and your applications) and any
-other encoding without implementing OS-specific-wrappers for each and
-every locale. There simply are no APIs to convert wchar_t into anything
-except the current locale encoding.
+However, that means rxvt-unicode only works in POSIX
, ISO-8859-1
and
+UTF-8
locales under FreeBSD (which all use Unicode as wchar_t.
+
+
+__STDC_ISO_10646__
is the only sane way to support multi-language
+apps in an OS, as using a locale-dependent (and non-standardized)
+representation of wchar_t makes it impossible to convert between
+wchar_t (as used by X11 and your applications) and any other encoding
+without implementing OS-specific-wrappers for each and every locale. There
+simply are no APIs to convert wchar_t into anything except the current
+locale encoding.
Some applications (such as the formidable mlterm) work around this
@@ -2531,12 +2535,13 @@ styles. The fonts can be set manually or automatically.
--with-codesets=NAME,...
-Compile in support for additional codeset (encoding) groups (eu, vn are
-always compiled in, which includes most 8-bit character sets). These
-codeset tables are currently only used for driving X11 core fonts, they
-are not required for Xft fonts. Compiling them in will make your binary
-bigger (together about 700kB), but it doesn't increase memory usage unless
-you use an X11 font requiring one of these encodings.
+Compile in support for additional codeset (encoding) groups (eu
, vn
+are always compiled in, which includes most 8-bit character sets). These
+codeset tables are used for driving X11 core fonts, they are not required
+for Xft fonts, although having them compiled in lets rxvt-unicode choose
+replacement fonts more intelligently. Compiling them in will make your
+binary bigger (all of together cost about 700kB), but it doesn't increase
+memory usage unless you use a font requiring one of these encodings.
all | all available codeset groups |
@@ -2785,6 +2790,7 @@ in combination with other switches) is:
tripleclickwords
settable insecure mode
keysym remapping support
+ cursor blinking and underline cursor
-embed and -pty-fd options
@@ -2852,12 +2858,6 @@ keys. This should keep in a fixed position the rxvt corner which is
closest to a corner of the screen.
---enable-cursor-blink
-
-
-Add support for a blinking cursor.
-
-
--enable-pointer-blank
diff --git a/doc/rxvt.7.man.in b/doc/rxvt.7.man.in
index 56ec0f62..e87d7aa6 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-02-21" "5.2" "RXVT-UNICODE"
+.TH rxvt 7 "2005-04-17" "5.3" "RXVT-UNICODE"
.SH "NAME"
RXVT REFERENCE \- FAQ, command sequences and other background information
.SH "SYNOPSIS"
@@ -459,13 +459,16 @@ As you might have guessed, FreeBSD does neither define this symobl nor
does it support it. Instead, it uses it's own internal representation of
\&\fBwchar_t\fR. This is, of course, completely fine with respect to standards.
.Sp
-However, \f(CW\*(C`_\|_STDC_ISO_10646_\|_\*(C'\fR is the only sane way to support
-multi-language apps in an \s-1OS\s0, as using a locale-dependent (and
-non\-standardized) representation of \fBwchar_t\fR makes it impossible to
-convert between \fBwchar_t\fR (as used by X11 and your applications) and any
-other encoding without implementing OS-specific-wrappers for each and
-every locale. There simply are no APIs to convert \fBwchar_t\fR into anything
-except the current locale encoding.
+However, that means rxvt-unicode only works in \f(CW\*(C`POSIX\*(C'\fR, \f(CW\*(C`ISO\-8859\-1\*(C'\fR and
+\&\f(CW\*(C`UTF\-8\*(C'\fR locales under FreeBSD (which all use Unicode as \fBwchar_t\fR.
+.Sp
+\&\f(CW\*(C`_\|_STDC_ISO_10646_\|_\*(C'\fR is the only sane way to support multi-language
+apps in an \s-1OS\s0, as using a locale-dependent (and non\-standardized)
+representation of \fBwchar_t\fR makes it impossible to convert between
+\&\fBwchar_t\fR (as used by X11 and your applications) and any other encoding
+without implementing OS-specific-wrappers for each and every locale. There
+simply are no APIs to convert \fBwchar_t\fR into anything except the current
+locale encoding.
.Sp
Some applications (such as the formidable \fBmlterm\fR) work around this
by carrying their own replacement functions for character set handling
@@ -2189,12 +2192,13 @@ Add support for \fBbold\fR, \fIitalic\fR and \fB\f(BIbold italic\fB\fR font
styles. The fonts can be set manually or automatically.
.IP "\-\-with\-codesets=NAME,..." 4
.IX Item "--with-codesets=NAME,..."
-Compile in support for additional codeset (encoding) groups (eu, vn are
-always compiled in, which includes most 8\-bit character sets). These
-codeset tables are currently only used for driving X11 core fonts, they
-are not required for Xft fonts. Compiling them in will make your binary
-bigger (together about 700kB), but it doesn't increase memory usage unless
-you use an X11 font requiring one of these encodings.
+Compile in support for additional codeset (encoding) groups (\f(CW\*(C`eu\*(C'\fR, \f(CW\*(C`vn\*(C'\fR
+are always compiled in, which includes most 8\-bit character sets). These
+codeset tables are used for driving X11 core fonts, they are not required
+for Xft fonts, although having them compiled in lets rxvt-unicode choose
+replacement fonts more intelligently. Compiling them in will make your
+binary bigger (all of together cost about 700kB), but it doesn't increase
+memory usage unless you use a font requiring one of these encodings.
.TS
l l .
all all available codeset groups
@@ -2346,7 +2350,7 @@ disable this.
A non-exhaustive list of features enabled by \f(CW\*(C`\-\-enable\-frills\*(C'\fR (possibly
in combination with other switches) is:
.Sp
-.Vb 12
+.Vb 13
\& MWM-hints
\& EWMH-hints (pid, utf8 names) and protocols (ping)
\& seperate underline colour
@@ -2358,6 +2362,7 @@ in combination with other switches) is:
\& tripleclickwords
\& settable insecure mode
\& keysym remapping support
+\& cursor blinking and underline cursor
\& -embed and -pty-fd options
.Ve
.IP "\-\-enable\-iso14755" 4
@@ -2399,9 +2404,6 @@ See for details.
Add smart growth/shrink behaviour when changing font size via from hot
keys. This should keep in a fixed position the rxvt corner which is
closest to a corner of the screen.
-.IP "\-\-enable\-cursor\-blink" 4
-.IX Item "--enable-cursor-blink"
-Add support for a blinking cursor.
.IP "\-\-enable\-pointer\-blank" 4
.IX Item "--enable-pointer-blank"
Add support to have the pointer disappear when typing or inactive.
diff --git a/doc/rxvt.7.pod b/doc/rxvt.7.pod
index d9c20cf3..c6a45a0a 100644
--- a/doc/rxvt.7.pod
+++ b/doc/rxvt.7.pod
@@ -2189,12 +2189,13 @@ styles. The fonts can be set manually or automatically.
=item --with-codesets=NAME,...
-Compile in support for additional codeset (encoding) groups (eu, vn are
-always compiled in, which includes most 8-bit character sets). These
-codeset tables are currently only used for driving X11 core fonts, they
-are not required for Xft fonts. Compiling them in will make your binary
-bigger (together about 700kB), but it doesn't increase memory usage unless
-you use an X11 font requiring one of these encodings.
+Compile in support for additional codeset (encoding) groups (C, C
+are always compiled in, which includes most 8-bit character sets). These
+codeset tables are used for driving X11 core fonts, they are not required
+for Xft fonts, although having them compiled in lets rxvt-unicode choose
+replacement fonts more intelligently. Compiling them in will make your
+binary bigger (all of together cost about 700kB), but it doesn't increase
+memory usage unless you use a font requiring one of these encodings.
=begin table
@@ -2385,6 +2386,7 @@ in combination with other switches) is:
tripleclickwords
settable insecure mode
keysym remapping support
+ cursor blinking and underline cursor
-embed and -pty-fd options
=item --enable-iso14755
@@ -2434,10 +2436,6 @@ Add smart growth/shrink behaviour when changing font size via from hot
keys. This should keep in a fixed position the rxvt corner which is
closest to a corner of the screen.
-=item --enable-cursor-blink
-
-Add support for a blinking cursor.
-
=item --enable-pointer-blank
Add support to have the pointer disappear when typing or inactive.
diff --git a/doc/rxvt.7.txt b/doc/rxvt.7.txt
index 0e7c5106..09a43193 100644
--- a/doc/rxvt.7.txt
+++ b/doc/rxvt.7.txt
@@ -302,13 +302,16 @@ FREQUENTLY ASKED QUESTIONS
representation of wchar_t. This is, of course, completely fine with
respect to standards.
- However, "__STDC_ISO_10646__" is the only sane way to support
- multi-language apps in an OS, as using a locale-dependent (and
- non-standardized) representation of wchar_t makes it impossible to
- convert between wchar_t (as used by X11 and your applications) and
- any other encoding without implementing OS-specific-wrappers for
- each and every locale. There simply are no APIs to convert wchar_t
- into anything except the current locale encoding.
+ However, that means rxvt-unicode only works in "POSIX", "ISO-8859-1"
+ and "UTF-8" locales under FreeBSD (which all use Unicode as wchar_t.
+
+ "__STDC_ISO_10646__" is the only sane way to support multi-language
+ apps in an OS, as using a locale-dependent (and non-standardized)
+ representation of wchar_t makes it impossible to convert between
+ wchar_t (as used by X11 and your applications) and any other
+ encoding without implementing OS-specific-wrappers for each and
+ every locale. There simply are no APIs to convert wchar_t into
+ anything except the current locale encoding.
Some applications (such as the formidable mlterm) work around this
by carrying their own replacement functions for character set
@@ -1669,13 +1672,14 @@ CONFIGURE OPTIONS
fonts can be set manually or automatically.
--with-codesets=NAME,...
- Compile in support for additional codeset (encoding) groups (eu, vn
- are always compiled in, which includes most 8-bit character sets).
- These codeset tables are currently only used for driving X11 core
- fonts, they are not required for Xft fonts. Compiling them in will
- make your binary bigger (together about 700kB), but it doesn't
- increase memory usage unless you use an X11 font requiring one of
- these encodings.
+ Compile in support for additional codeset (encoding) groups ("eu",
+ "vn" are always compiled in, which includes most 8-bit character
+ sets). These codeset tables are used for driving X11 core fonts,
+ they are not required for Xft fonts, although having them compiled
+ in lets rxvt-unicode choose replacement fonts more intelligently.
+ Compiling them in will make your binary bigger (all of together cost
+ about 700kB), but it doesn't increase memory usage unless you use a
+ font requiring one of these encodings.
all all available codeset groups
zh common chinese encodings
@@ -1836,6 +1840,7 @@ CONFIGURE OPTIONS
tripleclickwords
settable insecure mode
keysym remapping support
+ cursor blinking and underline cursor
-embed and -pty-fd options
--enable-iso14755
@@ -1876,9 +1881,6 @@ CONFIGURE OPTIONS
hot keys. This should keep in a fixed position the rxvt corner which
is closest to a corner of the screen.
- --enable-cursor-blink
- Add support for a blinking cursor.
-
--enable-pointer-blank
Add support to have the pointer disappear when typing or inactive.
diff --git a/reconf b/reconf
index 7d1e4d55..b1367d62 100755
--- a/reconf
+++ b/reconf
@@ -15,8 +15,8 @@ fi
--disable-keepscrolling --enable-xft --enable-mousewheel \
--with-name=rxvt --enable-selectionscrolling --enable-pointer-blank \
--enable-frills --enable-swapscreen --enable-transparency --enable-slipwheeling \
- --with-codesets=zh,jp,kr --enable-menubar --enable-tinting \
- --enable-cursor-blink --enable-text-blink --enable-fading \
+ --with-codesets=all --enable-menubar --enable-tinting \
+ --enable-text-blink --enable-fading \
--enable-plain-scroll --enable-rxvt-scroll --enable-combining --enable-iso14755 \
--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 ab5efd2e..c74120da 100644
--- a/src/keyboard.C
+++ b/src/keyboard.C
@@ -461,8 +461,13 @@ keyboard_manager::find_keysym (KeySym keysym, unsigned int state)
keysym_t *key = keymap [index];
if (key->keysym <= keysym && keysym < key->keysym + key->range
+#if 0 // disabled because the custom ekymap does not know the builtin keymap
// match only the specified bits in state and ignore others
- && (key->state & state) == key->state)
+ && (key->state & state) == key->state
+#else // re-enable this part once the builtin keymap is handled here, too
+ && key->state == state
+#endif
+ )
return index;
}
diff --git a/src/rxvt.h b/src/rxvt.h
index 9d7b3a8b..c9d9eecd 100644
--- a/src/rxvt.h
+++ b/src/rxvt.h
@@ -24,6 +24,7 @@
#if ENABLE_FRILLS
# define ENABLE_XEMBED 1
# define ENABLE_EWMH 1
+# define CURSOR_BLINK 1
#endif
/*
@@ -645,6 +646,10 @@ enum {
Rs_borderLess,
Rs_lineSpace,
Rs_pty_fd,
+ Rs_cursorUnderline,
+#endif
+#if CURSOR_BLINK
+ Rs_cursorBlink,
#endif
#if ENABLE_XEMBED
Rs_embed,
@@ -654,7 +659,6 @@ enum {
Rs_answerbackstring,
Rs_tripleclickwords,
Rs_insecure,
- Rs_cursorBlink,
Rs_pointerBlank,
Rs_pointerBlankDelay,
Rs_imLocale,
@@ -1476,7 +1480,11 @@ struct rxvt_term : zero_initialized, rxvt_vars {
void scr_refresh (unsigned char refresh_type);
bool scr_refresh_rend (rend_t mask, rend_t value);
void scr_erase_screen (int mode);
+#if ENABLE_FRILLS
void scr_erase_savelines ();
+ void scr_backindex ();
+ void scr_forwardindex ();
+#endif
void scr_touch (bool refresh);
void scr_expose (int x, int y, int width, int height, bool refresh);
rxvt_fontset *scr_find_fontset (rend_t r = DEFAULT_RSTYLE);
@@ -1493,8 +1501,6 @@ struct rxvt_term : zero_initialized, rxvt_vars {
void scr_add_lines (const unicode_t *str, int nlines, int len);
void scr_backspace ();
void scr_tab (int count, bool ht = false);
- void scr_backindex ();
- void scr_forwardindex ();
void scr_gotorc (int row, int col, int relative);
void scr_index (enum page_dirn direction);
void scr_erase_line (int mode);
diff --git a/src/rxvtfont.C b/src/rxvtfont.C
index 2c0fdd0f..9a2cd383 100644
--- a/src/rxvtfont.C
+++ b/src/rxvtfont.C
@@ -132,10 +132,10 @@ const struct rxvt_fallback_font {
{ CS_UNICODE, "-*-*-*-r-*-*-*-*-*-*-c-*-iso10646-1" },
{ CS_UNICODE, "-*-*-*-r-*-*-*-*-*-*-m-*-iso10646-1" },
#if XFT
- { CS_UNICODE, "xft:Bitstream Vera Sans Mono:antialias=false:autohint=true"},
- { CS_UNICODE, "xft:Courier New:antialias=false:autohint=true" },
- { CS_UNICODE, "xft:Andale Mono:antialias=false" },
- { CS_UNICODE, "xft:Arial Unicode MS:antialias=false" },
+ { CS_UNICODE, "xft:Bitstream Vera Sans Mono:antialias=false:autohint=true" },
+ { CS_UNICODE, "xft:Courier New:antialias=false:autohint=true" },
+ { CS_UNICODE, "xft:Andale Mono:antialias=false:autohint=false" },
+ { CS_UNICODE, "xft:Arial Unicode MS:antialias=false:autohint=false" },
// FreeMono is usually uglier than x fonts, so try last only.
{ CS_UNICODE, "xft:FreeMono:autohint=true" },
diff --git a/src/rxvtlib.h.in b/src/rxvtlib.h.in
index 73b27d4b..a7f8f02d 100644
--- a/src/rxvtlib.h.in
+++ b/src/rxvtlib.h.in
@@ -222,6 +222,7 @@ typedef struct {
# define Opt_borderLess 0
#endif
#define Opt_pastableTabs (1UL<<25)
+#define Opt_cursorUnderline (1UL<<26)
/* place holder used for parsing command-line options */
#define Opt_Reverse (1UL<<30)
#define Opt_Boolean (1UL<<31)
diff --git a/src/screen.C b/src/screen.C
index dd104a11..a46937a3 100644
--- a/src/screen.C
+++ b/src/screen.C
@@ -2015,16 +2015,6 @@ rxvt_term::scr_printscreen (int fullhist)
* drawn_text/drawn_rend contain the screen information before the update.
* screen.text/screen.rend contain what the screen will change to.
*/
-
-#define FONT_WIDTH(X, Y) \
- (X)->per_char[ (Y) - (X)->min_char_or_byte2].width
-#define FONT_RBEAR(X, Y) \
- (X)->per_char[ (Y) - (X)->min_char_or_byte2].rbearing
-#define FONT_LBEAR(X, Y) \
- (X)->per_char[ (Y) - (X)->min_char_or_byte2].lbearing
-#define IS_FONT_CHAR(X, Y) \
- ((Y) >= (X)->min_char_or_byte2 && (Y) <= (X)->max_char_or_byte2)
-
void
rxvt_term::scr_refresh (unsigned char refresh_type)
{
@@ -2053,10 +2043,10 @@ rxvt_term::scr_refresh (unsigned char refresh_type)
row_offset = TermWin.saveLines - TermWin.view_start;
#if XPM_BACKGROUND
- must_clear |= (bgPixmap.pixmap != None);
+ must_clear |= bgPixmap.pixmap != None;
#endif
#if TRANSPARENT
- must_clear |= ((options & Opt_transparent) && am_transparent);
+ must_clear |= (options & Opt_transparent) && am_transparent;
#endif
ocrow = oldcursor.row; /* is there an old outline cursor on screen? */
@@ -2090,28 +2080,34 @@ rxvt_term::scr_refresh (unsigned char refresh_type)
if (showcursor && TermWin.focus)
{
- *crp ^= RS_RVid;
-#ifndef NO_CURSORCOLOR
- cc1 = *crp & (RS_fgMask | RS_bgMask);
- if (ISSET_PIXCOLOR (Color_cursor))
- ccol1 = Color_cursor;
+ if (options & Opt_cursorUnderline)
+ *crp ^= RS_Uline;
else
+ {
+ *crp ^= RS_RVid;
+
+#ifndef NO_CURSORCOLOR
+ cc1 = *crp & (RS_fgMask | RS_bgMask);
+ if (ISSET_PIXCOLOR (Color_cursor))
+ ccol1 = Color_cursor;
+ else
#ifdef CURSOR_COLOR_IS_RENDITION_COLOR
- ccol1 = GET_FGCOLOR (rstyle);
+ ccol1 = GET_FGCOLOR (rstyle);
#else
- ccol1 = Color_fg;
+ ccol1 = Color_fg;
#endif
- if (ISSET_PIXCOLOR (Color_cursor2))
- ccol2 = Color_cursor2;
- else
+ if (ISSET_PIXCOLOR (Color_cursor2))
+ ccol2 = Color_cursor2;
+ else
#ifdef CURSOR_COLOR_IS_RENDITION_COLOR
- ccol2 = GET_BGCOLOR (rstyle);
+ ccol2 = GET_BGCOLOR (rstyle);
#else
- ccol2 = Color_bg;
+ ccol2 = Color_bg;
#endif
- *crp = SET_FGCOLOR (*crp, ccol1);
- *crp = SET_BGCOLOR (*crp, ccol2);
+ *crp = SET_FGCOLOR (*crp, ccol1);
+ *crp = SET_BGCOLOR (*crp, ccol2);
#endif
+ }
}
}
@@ -2427,10 +2423,15 @@ rxvt_term::scr_refresh (unsigned char refresh_type)
{
if (TermWin.focus)
{
- *crp ^= RS_RVid;
+ if (options & Opt_cursorUnderline)
+ *crp ^= RS_Uline;
+ else
+ {
+ *crp ^= RS_RVid;
#ifndef NO_CURSORCOLOR
- *crp = (*crp & ~ (RS_fgMask | RS_bgMask)) | cc1;
+ *crp = (*crp & ~ (RS_fgMask | RS_bgMask)) | cc1;
#endif
+ }
}
else if (oldcursor.row >= 0)
{
diff --git a/src/version.h b/src/version.h
index fc2c126e..4d992fa2 100644
--- a/src/version.h
+++ b/src/version.h
@@ -1,3 +1,3 @@
// VERSION _must_ be \d.\d+
-#define VERSION "5.3"
-#define DATE "2005-03-13"
+#define VERSION "5.4"
+#define DATE "2005-04-18"
diff --git a/src/xdefaults.C b/src/xdefaults.C
index 3853489d..a81f45b0 100644
--- a/src/xdefaults.C
+++ b/src/xdefaults.C
@@ -140,8 +140,9 @@ optList[] = {
#if ENABLE_FRILLS
BOOL (Rs_tripleclickwords, "tripleclickwords", "tcw", Opt_tripleclickwords, "triple click word selection"),
BOOL (Rs_insecure, "insecure", "insecure", Opt_insecure, "enable possibly insecure escape sequences"),
+ BOOL (Rs_cursorUnderline, "cursorUnderline", "uc", Opt_cursorUnderline, "underline cursor"),
#endif
-#ifdef CURSOR_BLINK
+#if CURSOR_BLINK
BOOL (Rs_cursorBlink, "cursorBlink", "bc", Opt_cursorBlink, "blinking cursor"),
#endif
#ifdef POINTER_BLANK
--
2.34.1