If colours are not supported by the terminal, try to emulate a coloured

background by setting or clearing the reverse attribute.

This makes a few applications which don't use the reverse attribute themselves
a little happier, and allows the status, message and mode options to have
default attributes and fg/bg options that work as expected when set as reverse.
This commit is contained in:
Nicholas Marriott
2009-08-05 16:26:38 +00:00
parent 12ef3ceda1
commit bcddddf98d
7 changed files with 39 additions and 25 deletions

View File

@ -64,8 +64,8 @@ status_redraw(struct client *c)
if (gettimeofday(&c->status_timer, NULL) != 0)
fatal("gettimeofday");
memcpy(&stdgc, &grid_default_cell, sizeof gc);
stdgc.bg = options_get_number(&s->options, "status-fg");
stdgc.fg = options_get_number(&s->options, "status-bg");
stdgc.fg = options_get_number(&s->options, "status-fg");
stdgc.bg = options_get_number(&s->options, "status-bg");
stdgc.attr |= options_get_number(&s->options, "status-attr");
yy = c->tty.sy - 1;
@ -563,8 +563,8 @@ status_message_redraw(struct client *c)
len = c->tty.sx;
memcpy(&gc, &grid_default_cell, sizeof gc);
gc.bg = options_get_number(&s->options, "message-fg");
gc.fg = options_get_number(&s->options, "message-bg");
gc.fg = options_get_number(&s->options, "message-fg");
gc.bg = options_get_number(&s->options, "message-bg");
gc.attr |= options_get_number(&s->options, "message-attr");
screen_write_start(&ctx, NULL, &c->status);
@ -662,8 +662,8 @@ status_prompt_redraw(struct client *c)
len = c->tty.sx;
memcpy(&gc, &grid_default_cell, sizeof gc);
gc.bg = options_get_number(&s->options, "message-fg");
gc.fg = options_get_number(&s->options, "message-bg");
gc.fg = options_get_number(&s->options, "message-fg");
gc.bg = options_get_number(&s->options, "message-bg");
gc.attr |= options_get_number(&s->options, "message-attr");
screen_write_start(&ctx, NULL, &c->status);