aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAurélien Aptel <aurelien.aptel@gmail.com>2012-02-15 19:33:48 +0100
committerAurélien Aptel <aurelien.aptel@gmail.com>2012-02-15 19:33:48 +0100
commitadf5d2e32a74704778e60e71be5425b7d7fff3e2 (patch)
treed4da30d5797e6b9ebece1d3b0348631ac906acfd
parent62d380947ee9fb8a1d5678985b1a729cfd4310b4 (diff)
downloadst-adf5d2e32a74704778e60e71be5425b7d7fff3e2.tar.gz
st-adf5d2e32a74704778e60e71be5425b7d7fff3e2.tar.bz2
show dark cursor when unfocused.
-rw-r--r--TODO7
-rw-r--r--config.def.h10
-rw-r--r--st.c8
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;
}