TODO: can sth. be done about "double-wide character on last row"
-TODO: when the cursor is out-of-margin to the left, it does not treat double-width
- chars correctly when unfocused.
TODO: do font request caching, might help rxvtd on some machines
TODO: safer command: keymap processing.
TODO: "slow" rendering mode for bidi and scripts
cutting pieces off of characters.
- rxvt is now more restrictive in what font heights it accepts for
fonts that will likely overshoot or underhsoot lines.
+ - fix a cosmetic problem with the unfocused cursor on a wide character
+ at the end of the line (reported by Mikachu).
5.5 Sat Apr 23 22:31:36 CEST 2005
- re-enabled modifer state matching as in 5.3, but implement
}
else if (oldcursor.row >= 0)
{
+ int cursorwidth = 1;
+ int col = oldcursor.col;
+
+ while (col && screen.text[screen.cur.row + TermWin.saveLines][col] == NOCHAR)
+ col--;
+
+ while (col + cursorwidth < TermWin.ncol
+ && drawn_text[oldcursor.row][col + cursorwidth] == NOCHAR)
+ cursorwidth++;
+
#ifndef NO_CURSORCOLOR
if (ISSET_PIXCOLOR (Color_cursor))
XSetForeground (display->display, TermWin.gc, pix_colors[Color_cursor]);
#endif
- int cursorwidth = 1;
- while (oldcursor.col + cursorwidth < TermWin.ncol
- && drawn_text[oldcursor.row][oldcursor.col + cursorwidth] == NOCHAR)
- cursorwidth++;
XDrawRectangle (display->display, drawBuffer, TermWin.gc,
- Col2Pixel (oldcursor.col),
+ Col2Pixel (col),
Row2Pixel (oldcursor.row),
(unsigned int) (Width2Pixel (cursorwidth) - 1),
(unsigned int) (Height2Pixel (1) - TermWin.lineSpace - 1));