st
simple terminal
git clone https://9o.is/git/st.git
commit be2877cd042eaf5d0f7dda102f526357aa577232 parent d8e11bdb0ecbccbaab7d944a577b9557ccff5d52 Author: Aurélien Aptel <aurelien.aptel@gmail.com> Date: Wed, 15 Feb 2012 19:33:48 +0100 show dark cursor when unfocused. Diffstat:
| M | TODO | | | 7 | ++++++- |
| M | config.def.h | | | 10 | ++++++---- |
| M | st.c | | | 8 | ++++++-- |
3 files changed, 18 insertions(+), 7 deletions(-)
diff --git 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 @@ -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 @@ -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; }