diff options
Diffstat (limited to 'st.c')
-rw-r--r-- | st.c | 33 |
1 files changed, 26 insertions, 7 deletions
@@ -2968,14 +2968,33 @@ xdrawcursor(void) { | |||
2968 | 2968 | ||
2969 | /* draw the new one */ | 2969 | /* draw the new one */ |
2970 | if(!(IS_SET(MODE_HIDE))) { | 2970 | if(!(IS_SET(MODE_HIDE))) { |
2971 | if(!(xw.state & WIN_FOCUSED)) | 2971 | if(xw.state & WIN_FOCUSED) { |
2972 | g.bg = defaultucs; | 2972 | if(IS_SET(MODE_REVERSE)) { |
2973 | 2973 | g.mode |= ATTR_REVERSE; | |
2974 | if(IS_SET(MODE_REVERSE)) | 2974 | g.fg = defaultcs; |
2975 | g.mode |= ATTR_REVERSE, g.fg = defaultcs, g.bg = defaultfg; | 2975 | g.bg = defaultfg; |
2976 | } | ||
2976 | 2977 | ||
2977 | sl = utf8size(g.c); | 2978 | sl = utf8size(g.c); |
2978 | xdraws(g.c, g, term.c.x, term.c.y, 1, sl); | 2979 | xdraws(g.c, g, term.c.x, term.c.y, 1, sl); |
2980 | } else { | ||
2981 | XftDrawRect(xw.draw, &dc.col[defaultcs], | ||
2982 | borderpx + term.c.x * xw.cw, | ||
2983 | borderpx + term.c.y * xw.ch, | ||
2984 | xw.cw - 1, 1); | ||
2985 | XftDrawRect(xw.draw, &dc.col[defaultcs], | ||
2986 | borderpx + term.c.x * xw.cw, | ||
2987 | borderpx + term.c.y * xw.ch, | ||
2988 | 1, xw.ch - 1); | ||
2989 | XftDrawRect(xw.draw, &dc.col[defaultcs], | ||
2990 | borderpx + (term.c.x + 1) * xw.cw - 1, | ||
2991 | borderpx + term.c.y * xw.ch, | ||
2992 | 1, xw.ch - 1); | ||
2993 | XftDrawRect(xw.draw, &dc.col[defaultcs], | ||
2994 | borderpx + term.c.x * xw.cw, | ||
2995 | borderpx + (term.c.y + 1) * xw.ch - 1, | ||
2996 | xw.cw, 1); | ||
2997 | } | ||
2979 | oldx = term.c.x, oldy = term.c.y; | 2998 | oldx = term.c.x, oldy = term.c.y; |
2980 | } | 2999 | } |
2981 | } | 3000 | } |