From: root Date: Sun, 17 Apr 2005 22:36:12 +0000 (+0000) Subject: *** empty log message *** X-Git-Url: http://git.openbox.org/?a=commitdiff_plain;h=d87b964179ccc6dc8d6594e98662c890cd05fc46;p=dana%2Furxvt.git *** empty log message *** --- 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 @@


DESCRIPTION

-

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.
@@ -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
allall available codeset groups