diff options
author | Nicholas Marriott <nicm@openbsd.org> | 2010-02-04 18:20:16 +0000 |
---|---|---|
committer | Nicholas Marriott <nicm@openbsd.org> | 2010-02-04 18:20:16 +0000 |
commit | 604b02cfaa59cf65623b828baf310b5998674cd0 (patch) | |
tree | 7276b130355cf13b4106aadc49b3a94d6d132f53 /screen-redraw.c | |
parent | d6bd9c0e7f6f891774fd9d083bdff2c0e56231dd (diff) | |
download | rtmux-604b02cfaa59cf65623b828baf310b5998674cd0.tar.gz rtmux-604b02cfaa59cf65623b828baf310b5998674cd0.tar.bz2 rtmux-604b02cfaa59cf65623b828baf310b5998674cd0.zip |
Option to display the active pane in a different colour with the display-panes
command. From Paul Hoffman, thanks.
Diffstat (limited to 'screen-redraw.c')
-rw-r--r-- | screen-redraw.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/screen-redraw.c b/screen-redraw.c index 83eafa62..bd3010cb 100644 --- a/screen-redraw.c +++ b/screen-redraw.c @@ -269,18 +269,21 @@ screen_redraw_draw_number(struct client *c, struct window_pane *wp) { struct tty *tty = &c->tty; struct session *s = c->session; + struct options *oo = &s->options; + struct window *w = wp->window; struct grid_cell gc; u_int idx, px, py, i, j, xoff, yoff; - int colour; + int colour, active_colour; char buf[16], *ptr; size_t len; - idx = window_pane_index(wp->window, wp); + idx = window_pane_index(w, wp); len = xsnprintf(buf, sizeof buf, "%u", idx); if (wp->sx < len) return; - colour = options_get_number(&s->options, "display-panes-colour"); + colour = options_get_number(oo, "display-panes-colour"); + active_colour = options_get_number(oo, "display-panes-active-colour"); px = wp->sx / 2; py = wp->sy / 2; xoff = wp->xoff; yoff = wp->yoff; @@ -289,7 +292,10 @@ screen_redraw_draw_number(struct client *c, struct window_pane *wp) tty_cursor(tty, xoff + px - len / 2, yoff + py); memcpy(&gc, &grid_default_cell, sizeof gc); gc.data = '_'; /* not space */ - colour_set_fg(&gc, colour); + if (w->active == wp) + colour_set_fg(&gc, active_colour); + else + colour_set_fg(&gc, colour); tty_attributes(tty, &gc); tty_puts(tty, buf); return; @@ -300,7 +306,10 @@ screen_redraw_draw_number(struct client *c, struct window_pane *wp) memcpy(&gc, &grid_default_cell, sizeof gc); gc.data = '_'; /* not space */ - colour_set_bg(&gc, colour); + if (w->active == wp) + colour_set_bg(&gc, active_colour); + else + colour_set_bg(&gc, colour); tty_attributes(tty, &gc); for (ptr = buf; *ptr != '\0'; ptr++) { if (*ptr < '0' || *ptr > '9') |