repo: rxvt-unicode-sixel action: commit revision: path_from: revision_from: d8286b34560111d4663263cc83803390bd1b169a: path_to: revision_to:
commit d8286b34560111d4663263cc83803390bd1b169a Author: Marc LehmannDate: Thu Aug 11 13:23:06 2005 +0000 *** empty log message *** diff --git a/Changes b/Changes
--- a/Changes
+++ b/Changes
@@ -1,5 +1,4 @@
TODO: --enable-minimal non-default
-TODO: reverse video black-on-black => rv
TODO: do font request caching, might help rxvtd on some machines
TODO: safer command: keymap processing.
TODO: "slow" rendering mode for bidi and scripts
@@ -24,6 +23,8 @@ WISH: just for fun, do shade and tint with XRender.
the terminfo flash code to use the same delay. This is
synchronous, so many bells might inhibit screen updates in other
windows.
+ - text with background==foreground colour gets displayed with default
+ bg/fg now when in reverse video, so it can be seen when selecting.
5.7 Wed Jul 13 04:46:33 CEST 2005
- implement some useful (hopefully) options for rxvtd.
diff --git a/src/screen.C b/src/screen.C
--- a/src/screen.C
+++ b/src/screen.C
@@ -2310,27 +2310,27 @@ rxvt_term::scr_refresh (unsigned char refresh_type)
while (i && text[count] == NOCHAR)
count++, i--;
-#if ENABLE_STYLES
- // force redraw after "careful" characters to avoid pixel droppings
- if (srp[col] & RS_Careful && col < TermWin.ncol - 1 && 0)
- drp[col + 1] = ~srp[col + 1];
-
- // include previous careful character(s) if possible, looks nicer (best effort...)
- while (text > stp
- && srp[text - stp - 1] & RS_Careful
- && RS_SAME (rend, srp[text - stp - 1]))
- text--, count++, xpixel -= TermWin.fwidth;
-#endif
-
/*
* Determine the attributes for the string
*/
int fore = GET_FGCOLOR (rend); // desired foreground
int back = GET_BGCOLOR (rend); // desired background
- // only do special processing if ana attributes are set, which is rare
- if (rend & (RS_Bold | RS_Italic | RS_Uline | RS_RVid | RS_Blink))
+ // only do special processing if any attributes are set, which is rare
+ if (rend & (RS_Bold | RS_Italic | RS_Uline | RS_RVid | RS_Blink | RS_Careful))
{
+#if ENABLE_STYLES
+ // force redraw after "careful" characters to avoid pixel droppings
+ if (srp[col] & RS_Careful && col < TermWin.ncol - 1 && 0)
+ drp[col + 1] = ~srp[col + 1];
+
+ // include previous careful character(s) if possible, looks nicer (best effort...)
+ while (text > stp
+ && srp[text - stp - 1] & RS_Careful
+ && RS_SAME (rend, srp[text - stp - 1]))
+ text--, count++, xpixel -= TermWin.fwidth;
+#endif
+
bool invert = rend & RS_RVid;
#ifndef NO_BOLD_UNDERLINE_REVERSE
@@ -2367,6 +2367,12 @@ rxvt_term::scr_refresh (unsigned char refresh_type)
#ifndef NO_BOLD_UNDERLINE_REVERSE
if (ISSET_PIXCOLOR (Color_RV))
back = Color_RV;
+
+ if (fore == back)
+ {
+ fore = Color_bg;
+ back = Color_fg;
+ }
#endif
}
-----END OF PAGE-----