*** empty log message ***
authorroot <root>
Thu, 11 Aug 2005 13:23:06 +0000 (13:23 +0000)
committerroot <root>
Thu, 11 Aug 2005 13:23:06 +0000 (13:23 +0000)
Changes
src/screen.C

diff --git a/Changes b/Changes
index fd2fbce2cdc342c77c7579249800254f6840dd83..82e361f27652b72176f19aa522a28b2a78e70310 100644 (file)
--- 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.
index 89b93205c0a7b7799c48ac6143cd17bac569324e..27f6d39a19b56fa1d0013bc730c3bfc02732351e 100644 (file)
@@ -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
                 }