mirror of
https://github.com/tmux/tmux.git
synced 2025-09-05 08:07:03 +00:00
Drop having a separate type for style options and make them all strings, which
allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later. To make this work, a few other changes: - set-option -a with a style option automatically appends a ",". - OSC 10 and 11 don't set the window-style option anymore, instead the fg and bg are stored in the pane struct and act as the defaults that can be overridden by window-style. - status-fg and -bg now override status-style instead of trying to keep them in sync.
This commit is contained in:
10
input.c
10
input.c
@ -2484,7 +2484,6 @@ input_osc_10(struct input_ctx *ictx, const char *p)
|
||||
{
|
||||
struct window_pane *wp = ictx->wp;
|
||||
u_int r, g, b;
|
||||
char tmp[16];
|
||||
|
||||
if (wp == NULL)
|
||||
return;
|
||||
@ -2493,9 +2492,7 @@ input_osc_10(struct input_ctx *ictx, const char *p)
|
||||
|
||||
if (!input_osc_parse_colour(p, &r, &g, &b))
|
||||
goto bad;
|
||||
xsnprintf(tmp, sizeof tmp, "fg=#%02x%02x%02x", r, g, b);
|
||||
options_set_style(wp->options, "window-style", 1, tmp);
|
||||
options_set_style(wp->options, "window-active-style", 1, tmp);
|
||||
wp->fg = colour_join_rgb(r, g, b);
|
||||
wp->flags |= (PANE_REDRAW|PANE_STYLECHANGED);
|
||||
|
||||
return;
|
||||
@ -2510,7 +2507,6 @@ input_osc_11(struct input_ctx *ictx, const char *p)
|
||||
{
|
||||
struct window_pane *wp = ictx->wp;
|
||||
u_int r, g, b;
|
||||
char tmp[16];
|
||||
|
||||
if (wp == NULL)
|
||||
return;
|
||||
@ -2519,9 +2515,7 @@ input_osc_11(struct input_ctx *ictx, const char *p)
|
||||
|
||||
if (!input_osc_parse_colour(p, &r, &g, &b))
|
||||
goto bad;
|
||||
xsnprintf(tmp, sizeof tmp, "bg=#%02x%02x%02x", r, g, b);
|
||||
options_set_style(wp->options, "window-style", 1, tmp);
|
||||
options_set_style(wp->options, "window-active-style", 1, tmp);
|
||||
wp->bg = colour_join_rgb(r, g, b);
|
||||
wp->flags |= (PANE_REDRAW|PANE_STYLECHANGED);
|
||||
|
||||
return;
|
||||
|
Reference in New Issue
Block a user