diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2020-04-28 13:50:07 +0100 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2020-04-28 13:50:07 +0100 |
commit | 1f8256fc508bbee24b53fcd588ebf74653d69dfa (patch) | |
tree | d664861f00c35ccb98431281618fa84a7d1da0fd /input.c | |
parent | a43a15684667d0ef223b8ad88538cca04186dd8b (diff) | |
download | rtmux-1f8256fc508bbee24b53fcd588ebf74653d69dfa.tar.gz rtmux-1f8256fc508bbee24b53fcd588ebf74653d69dfa.tar.bz2 rtmux-1f8256fc508bbee24b53fcd588ebf74653d69dfa.zip |
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.
Diffstat (limited to 'input.c')
-rw-r--r-- | input.c | 10 |
1 files changed, 2 insertions, 8 deletions
@@ -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; |