From adf5d2e32a74704778e60e71be5425b7d7fff3e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Aptel?= Date: Wed, 15 Feb 2012 19:33:48 +0100 Subject: [PATCH] show dark cursor when unfocused. --- TODO | 7 ++++++- config.def.h | 10 ++++++---- st.c | 8 ++++++-- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/TODO b/TODO index 62a9f42..311d9ca 100644 --- a/TODO +++ b/TODO @@ -10,10 +10,15 @@ code & interface * clean selection code * clean and complete terminfo entry -* fix shift up/down (shift selection in emacs) * fast drawing * ... +bugs +---- + +* handle XOpenMI() errors +* fix shift up/down (shift selection in emacs) + misc ---- diff --git a/config.def.h b/config.def.h index f1bd91e..169bcdd 100644 --- a/config.def.h +++ b/config.def.h @@ -32,13 +32,15 @@ static const char *colorname[] = { /* more colors can be added to use with DefaultXX */ "#cccccc", + "#333333", }; /* Default colors (colorname index) - foreground, background, cursor */ -#define DefaultFG 7 -#define DefaultBG 0 -#define DefaultCS 16 + foreground, background, cursor, unfocused cursor */ +#define DefaultFG 7 +#define DefaultBG 0 +#define DefaultCS 16 +#define DefaultUCS 17 /* Special keys (change & recompile st.info accordingly) Keep in mind that kpress() in st.c hardcodes some keys. diff --git a/st.c b/st.c index 627e566..a86e0f9 100644 --- a/st.c +++ b/st.c @@ -1826,10 +1826,14 @@ xdrawcursor(void) { xcopy(oldx, oldy, 1, 1); /* draw the new one */ - if(!(term.c.state & CURSOR_HIDE) && (xw.state & WIN_FOCUSED)) { - sl = utf8size(g.c); + if(!(term.c.state & CURSOR_HIDE)) { + if(!(xw.state & WIN_FOCUSED)) + g.bg = DefaultUCS; + if(IS_SET(MODE_REVERSE)) g.mode |= ATTR_REVERSE, g.fg = DefaultCS, g.bg = DefaultFG; + + sl = utf8size(g.c); xdraws(g.c, g, term.c.x, term.c.y, 1, sl); oldx = term.c.x, oldy = term.c.y; }