From: root Date: Thu, 11 Aug 2005 13:23:06 +0000 (+0000) Subject: *** empty log message *** X-Git-Url: http://git.openbox.org/?a=commitdiff_plain;h=0cb4bd7fff6ca991514f45627ebab4762943ea3e;p=dana%2Furxvt.git *** empty log message *** --- diff --git a/Changes b/Changes index fd2fbce2..82e361f2 100644 --- 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 index 89b93205..27f6d39a 100644 --- 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 }