---
config.def.h | 4 ++--
x.c | 21 +++++++++++++++++----
2 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/config.def.h b/config.def.h
index 82b1b09..8b9262b 100644
--- a/config.def.h
+++ b/config.def.h
_AT_@ -118,8 +118,8 @@ static const char *colorname[] = {
*/
unsigned int defaultfg = 7;
unsigned int defaultbg = 0;
-static unsigned int defaultcs = 256;
-static unsigned int defaultrcs = 257;
+static int defaultcs = 256;
+static int defaultrcs = 257;
/*
* Default shape of cursor
diff --git a/x.c b/x.c
index d8ca4d4..98a4b1f 100644
--- a/x.c
+++ b/x.c
_AT_@ -1400,6 +1400,7 @@ void
xdrawcursor(int cx, int cy, Glyph g, int ox, int oy, Glyph og)
{
Color drawcol;
+ int tmp;
/* remove the old cursor */
if (selected(ox, oy))
_AT_@ -1415,11 +1416,23 @@ 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;
+ if (defaultrcs > 0) {
+ g.bg = defaultrcs;
+ g.fg = defaultfg;
+ }
} else {
- g.bg = defaultcs;
- g.fg = defaultbg;
+ if (defaultcs > 0) {
+ g.bg = defaultcs;
+ g.fg = defaultbg;
+ } else {
+ tmp = g.bg;
+ g.bg = g.fg;
+ if (g.mode & ATTR_BOLD && BETWEEN(g.bg, 0, 7)) {
+ g.bg += 8;
+ g.mode |= ATTR_FAINT;
+ }
+ g.fg = tmp;
+ }
}
drawcol = dc.col[g.bg];
--
2.18.0
Received on Wed Jul 04 2018 - 15:37:53 CEST
This archive was generated by hypermail 2.3.0 : Wed Jul 04 2018 - 15:48:26 CEST