~petersanchez/st

b51bcd5553af3db394014efbd78acf7828fa48ff — Jules Maselbas 5 years ago 1911c92
Make cursor follow text color
2 files changed, 7 insertions(+), 7 deletions(-)

M config.def.h
M x.c
M config.def.h => config.def.h +0 -2
@@ 118,8 118,6 @@ static const char *colorname[] = {
 */
unsigned int defaultfg = 7;
unsigned int defaultbg = 0;
static unsigned int defaultcs = 256;
static unsigned int defaultrcs = 257;

/*
 * Default shape of cursor

M x.c => x.c +7 -5
@@ 1419,13 1419,15 @@ xdrawcursor(int cx, int cy, Glyph g, int ox, int oy, Glyph og)
	g.mode &= ATTR_BOLD|ATTR_ITALIC|ATTR_UNDERLINE|ATTR_STRUCK|ATTR_WIDE;

	if (selected(cx, cy)) {
		g.bg = defaultrcs;
		g.fg = defaultfg;
		drawcol = dc.col[g.bg];
	} else {
		g.bg = defaultcs;
		g.fg = defaultbg;
		g.mode |= ATTR_REVERSE;

		if (g.mode & ATTR_BOLD && BETWEEN(g.fg, 0, 7))
			drawcol = dc.col[g.fg + 8];
		else
			drawcol = dc.col[g.fg];
	}
	drawcol = dc.col[g.bg];

	if (IS_SET(MODE_REVERSE)) {
		drawcol.color.red = ~drawcol.color.red;