24c9ea1e51
When an OCS sequence was used to change the bg color, the borders where dirty. This simple patch just clears the window before the redraw of the terminal when the bg color has been changed. This is apparently enough and seams to be very smooth. There was a TODO comment for it on the st.c file, which I removed.
43 lines
1.1 KiB
C
43 lines
1.1 KiB
C
/* See LICENSE for license details. */
|
|
|
|
enum win_mode {
|
|
MODE_VISIBLE = 1 << 0,
|
|
MODE_FOCUSED = 1 << 1,
|
|
MODE_APPKEYPAD = 1 << 2,
|
|
MODE_MOUSEBTN = 1 << 3,
|
|
MODE_MOUSEMOTION = 1 << 4,
|
|
MODE_REVERSE = 1 << 5,
|
|
MODE_KBDLOCK = 1 << 6,
|
|
MODE_HIDE = 1 << 7,
|
|
MODE_APPCURSOR = 1 << 8,
|
|
MODE_MOUSESGR = 1 << 9,
|
|
MODE_8BIT = 1 << 10,
|
|
MODE_BLINK = 1 << 11,
|
|
MODE_FBLINK = 1 << 12,
|
|
MODE_FOCUS = 1 << 13,
|
|
MODE_MOUSEX10 = 1 << 14,
|
|
MODE_MOUSEMANY = 1 << 15,
|
|
MODE_BRCKTPASTE = 1 << 16,
|
|
MODE_NUMLOCK = 1 << 17,
|
|
MODE_MOUSE = MODE_MOUSEBTN|MODE_MOUSEMOTION|MODE_MOUSEX10\
|
|
|MODE_MOUSEMANY,
|
|
#if KEYBOARDSELECT_PATCH
|
|
MODE_KBDSELECT = 1 << 18,
|
|
#endif // KEYBOARDSELECT_PATCH
|
|
};
|
|
|
|
void xbell(void);
|
|
void xclipcopy(void);
|
|
void xdrawcursor(int, int, Glyph, int, int, Glyph);
|
|
void xdrawline(Line, int, int, int);
|
|
void xfinishdraw(void);
|
|
void xloadcols(void);
|
|
int xsetcolorname(int, const char *);
|
|
void xsettitle(char *);
|
|
int xsetcursor(int);
|
|
void xsetmode(int, unsigned int);
|
|
void xsetpointermotion(int);
|
|
void xsetsel(char *);
|
|
int xstartdraw(void);
|
|
void xximspot(int, int);
|
|
void xclearwin(void); |