diff -ru rxvt-2.7.3/src/screen.c rxvt-2.7.3-selct/src/screen.c --- rxvt-2.7.3/src/screen.c Wed Feb 23 06:13:36 2000 +++ rxvt-2.7.3-selct/src/screen.c Mon Mar 27 13:45:27 2000 @@ -2107,6 +2107,7 @@ len, wlen, /* text length screen/buffer */ fprop, /* proportional font used */ rvid, /* reverse video this position */ + selct, /* selection at this position */ rend, /* rendition */ fore, back, /* desired foreground/background */ wbyte, /* we're in multibyte */ @@ -2481,6 +2482,8 @@ rend = GET_ATTR(rend); gcmask = 0; rvid = (rend & RS_RVid) ? 1 : 0; + selct = (rend & RS_Blink) ? 1 : 0; + rend &= ~RS_Blink; /* we've taken care of it */ switch (rend & RS_fontMask) { case RS_acsFont: @@ -2498,6 +2501,8 @@ } if (rvid) SWAP_IT(fore, back, i); + if (selct) + back = Color_cursor; if (back != Color_bg) { gcvalue.background = PixColors[back]; gcmask |= GCBackground; @@ -2682,10 +2687,10 @@ end_row += TermWin.nrow; for (; i < row && i < end_row; i++, col = 0) for (srp = screen.rend[i]; col < TermWin.ncol; col++) - srp[col] ^= RS_RVid; + srp[col] ^= RS_Blink; if (i == row && i < end_row) for (srp = screen.rend[i]; col < selection.end.col; col++) - srp[col] ^= RS_RVid; + srp[col] ^= RS_Blink; } } Only in rxvt-2.7.3-selct/src: screen.c.orig