# st

Unnamed repository; edit this file 'description' to name the repository.

| Log | Files | Refs | README | LICENSE

    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:
    MTODO | 7++++++-
    Mconfig.def.h | 10++++++----
    Mst.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;
     	}