From 21128fea1e29d9a7c494cc9615bbd2bba1bae71b Mon Sep 17 00:00:00 2001 From: Tiago Cunha Date: Thu, 10 Nov 2011 21:40:17 +0000 Subject: [PATCH] Sync OpenBSD patchset 976: Option to change status line (message) background when using vi keys and in command mode. From Ben Boeckel. --- options-table.c | 15 +++++++++++++++ status.c | 18 +++++++++++++++--- tmux.1 | 8 +++++++- 3 files changed, 37 insertions(+), 4 deletions(-) diff --git a/options-table.c b/options-table.c index 4925a495..1bdb0de5 100644 --- a/options-table.c +++ b/options-table.c @@ -193,6 +193,21 @@ const struct options_table_entry session_options_table[] = { .default_num = 3 }, + { .name = "message-command-attr", + .type = OPTIONS_TABLE_ATTRIBUTES, + .default_num = 0 + }, + + { .name = "message-command-bg", + .type = OPTIONS_TABLE_COLOUR, + .default_num = 0 + }, + + { .name = "message-command-fg", + .type = OPTIONS_TABLE_COLOUR, + .default_num = 3 + }, + { .name = "message-fg", .type = OPTIONS_TABLE_COLOUR, .default_num = 0 diff --git a/status.c b/status.c index 1baab922..5db40b4b 100644 --- a/status.c +++ b/status.c @@ -919,9 +919,16 @@ status_prompt_redraw(struct client *c) off = 0; memcpy(&gc, &grid_default_cell, sizeof gc); - colour_set_fg(&gc, options_get_number(&s->options, "message-fg")); - colour_set_bg(&gc, options_get_number(&s->options, "message-bg")); - gc.attr |= options_get_number(&s->options, "message-attr"); + /* Change colours for command mode. */ + if (c->prompt_mdata.mode == 1) { + colour_set_fg(&gc, options_get_number(&s->options, "message-command-fg")); + colour_set_bg(&gc, options_get_number(&s->options, "message-command-bg")); + gc.attr |= options_get_number(&s->options, "message-command-attr"); + } else { + colour_set_fg(&gc, options_get_number(&s->options, "message-fg")); + colour_set_bg(&gc, options_get_number(&s->options, "message-bg")); + gc.attr |= options_get_number(&s->options, "message-attr"); + } screen_write_start(&ctx, NULL, &c->status); @@ -977,7 +984,12 @@ status_prompt_key(struct client *c, int key) c->flags |= CLIENT_STATUS; } break; + case MODEKEYEDIT_SWITCHMODE: + c->flags |= CLIENT_STATUS; + break; case MODEKEYEDIT_SWITCHMODEAPPEND: + c->flags |= CLIENT_STATUS; + /* FALLTHROUGH */ case MODEKEYEDIT_CURSORRIGHT: if (c->prompt_index < size) { c->prompt_index++; diff --git a/tmux.1 b/tmux.1 index 985c201b..36940331 100644 --- a/tmux.1 +++ b/tmux.1 @@ -14,7 +14,7 @@ .\" IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING .\" OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: October 27 2011 $ +.Dd $Mdocdate: November 5 2011 $ .Dt TMUX 1 .Os .Sh NAME @@ -1971,6 +1971,12 @@ from the 256-colour set, or a hexadecimal RGB string such as .Ql #ffffff , which chooses the closest match from the default 256-colour set. +.It Ic message-command-attr Ar attributes +Set status line message attributes when in command mode. +.It Ic message-command-bg Ar colour +Set status line message background colour when in command mode. +.It Ic message-command-fg Ar colour +Set status line message foreground colour when in command mode. .It Ic message-fg Ar colour Set status line message foreground colour. .It Ic message-limit Ar number