summaryrefslogtreecommitdiffstats
path: root/input.c
diff options
context:
space:
mode:
authornicm <nicm>2019-06-20 11:59:59 +0000
committernicm <nicm>2019-06-20 11:59:59 +0000
commit5f92f92908b81b4ec66682adb84b9ffc8d83c2f7 (patch)
tree1efeb76d391658d00d7b6028ae02b2cf49a5cac6 /input.c
parentc1ede507d954b98a73c40665e7aee6fe5f0c5bce (diff)
Add a per-pane option set. Pane options inherit from window options (so
there should be no change to existing behaviour) and are set and shown with set-option -p and show-options -p. Change remain-on-exit and window-style/window-active-style to be pane options (some others will be changed later). This makes select-pane -P and -g unnecessary so no longer document them (they still work) and no longer document set-window-option and show-window-options in favour of set-option -w and show-options -w.
Diffstat (limited to 'input.c')
-rw-r--r--input.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/input.c b/input.c
index e54b5ac0..3e85e14f 100644
--- a/input.c
+++ b/input.c
@@ -2347,12 +2347,14 @@ 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 (sscanf(p, "rgb:%2x/%2x/%2x", &r, &g, &b) != 3)
goto bad;
-
- wp->style.gc.fg = colour_join_rgb(r, g, b);
- wp->flags |= PANE_REDRAW;
+ 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->flags |= (PANE_REDRAW|PANE_STYLECHANGED);
return;
@@ -2366,12 +2368,14 @@ 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 (sscanf(p, "rgb:%2x/%2x/%2x", &r, &g, &b) != 3)
goto bad;
-
- wp->style.gc.bg = colour_join_rgb(r, g, b);
- wp->flags |= PANE_REDRAW;
+ 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->flags |= (PANE_REDRAW|PANE_STYLECHANGED);
return;