diff options
author | Christoph Lohmann <20h@r-36.net> | 2015-10-05 22:38:19 +0200 |
---|---|---|
committer | Christoph Lohmann <20h@r-36.net> | 2015-10-05 22:38:19 +0200 |
commit | f7b80caebe2b96ef65e301634d8dc4e02325e357 (patch) | |
tree | f4c1e3076f8c85252b42763349c67c5ebd6d16eb | |
parent | 594a25983639847ed063a3d181893dba54825f5a (diff) | |
download | st-patched-f7b80caebe2b96ef65e301634d8dc4e02325e357.tar.bz2 st-patched-f7b80caebe2b96ef65e301634d8dc4e02325e357.tar.xz st-patched-f7b80caebe2b96ef65e301634d8dc4e02325e357.zip |
The definition of the reverse cursor is now up to the user.
-rw-r--r-- | config.def.h | 4 | ||||
-rw-r--r-- | st.c | 15 |
2 files changed, 6 insertions, 13 deletions
diff --git a/config.def.h b/config.def.h index b6adc5e..85921dc 100644 --- a/config.def.h +++ b/config.def.h | |||
@@ -94,16 +94,18 @@ static const char *colorname[] = { | |||
94 | 94 | ||
95 | /* more colors can be added after 255 to use with DefaultXX */ | 95 | /* more colors can be added after 255 to use with DefaultXX */ |
96 | "#cccccc", | 96 | "#cccccc", |
97 | "#555555", | ||
97 | }; | 98 | }; |
98 | 99 | ||
99 | 100 | ||
100 | /* | 101 | /* |
101 | * Default colors (colorname index) | 102 | * Default colors (colorname index) |
102 | * foreground, background, cursor | 103 | * foreground, background, cursor, reverse cursor |
103 | */ | 104 | */ |
104 | static unsigned int defaultfg = 7; | 105 | static unsigned int defaultfg = 7; |
105 | static unsigned int defaultbg = 0; | 106 | static unsigned int defaultbg = 0; |
106 | static unsigned int defaultcs = 256; | 107 | static unsigned int defaultcs = 256; |
108 | static unsigned int defaultrcs = 257; | ||
107 | 109 | ||
108 | /* | 110 | /* |
109 | * Default shape of cursor | 111 | * Default shape of cursor |
@@ -3831,7 +3831,6 @@ xdrawcursor(void) | |||
3831 | Glyph g = {' ', ATTR_NULL, defaultbg, defaultcs}, og; | 3831 | Glyph g = {' ', ATTR_NULL, defaultbg, defaultcs}, og; |
3832 | int ena_sel = sel.ob.x != -1 && sel.alt == IS_SET(MODE_ALTSCREEN); | 3832 | int ena_sel = sel.ob.x != -1 && sel.alt == IS_SET(MODE_ALTSCREEN); |
3833 | Color drawcol; | 3833 | Color drawcol; |
3834 | XRenderColor dccol; | ||
3835 | 3834 | ||
3836 | LIMIT(oldx, 0, term.col-1); | 3835 | LIMIT(oldx, 0, term.col-1); |
3837 | LIMIT(oldy, 0, term.row-1); | 3836 | LIMIT(oldy, 0, term.row-1); |
@@ -3852,16 +3851,7 @@ xdrawcursor(void) | |||
3852 | 3851 | ||
3853 | g.u = term.line[term.c.y][term.c.x].u; | 3852 | g.u = term.line[term.c.y][term.c.x].u; |
3854 | if (ena_sel && selected(term.c.x, term.c.y)) { | 3853 | if (ena_sel && selected(term.c.x, term.c.y)) { |
3855 | /* | 3854 | drawcol = dc.col[defaultrcs]; |
3856 | * Allocate the drawing color which is the reverse of | ||
3857 | * defaultcs, if we are selected. | ||
3858 | */ | ||
3859 | dccol.red = ~dc.col[defaultcs].color.red; | ||
3860 | dccol.green = ~dc.col[defaultcs].color.green; | ||
3861 | dccol.blue = ~dc.col[defaultcs].color.blue; | ||
3862 | dccol.alpha = ~dc.col[defaultcs].color.alpha; | ||
3863 | XftColorAllocValue(xw.dpy, xw.vis, xw.cmap, &dccol, &drawcol); | ||
3864 | |||
3865 | g.mode ^= ATTR_REVERSE; | 3855 | g.mode ^= ATTR_REVERSE; |
3866 | } else { | 3856 | } else { |
3867 | drawcol = dc.col[defaultcs]; | 3857 | drawcol = dc.col[defaultcs]; |
@@ -3889,7 +3879,8 @@ xdrawcursor(void) | |||
3889 | case 4: /* Steady Underline */ | 3879 | case 4: /* Steady Underline */ |
3890 | XftDrawRect(xw.draw, &drawcol, | 3880 | XftDrawRect(xw.draw, &drawcol, |
3891 | borderpx + curx * xw.cw, | 3881 | borderpx + curx * xw.cw, |
3892 | borderpx + (term.c.y + 1) * xw.ch - cursorthickness, | 3882 | borderpx + (term.c.y + 1) * xw.ch - \ |
3883 | cursorthickness, | ||
3893 | xw.cw, cursorthickness); | 3884 | xw.cw, cursorthickness); |
3894 | break; | 3885 | break; |
3895 | case 5: /* Blinking bar */ | 3886 | case 5: /* Blinking bar */ |