aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2021-08-12 22:01:22 +0100
committerThomas Adam <thomas@xteddy.org>2021-08-12 22:01:22 +0100
commit94d96c6179277cae2443a3358d538493683576c9 (patch)
tree8e0c7c3ffd4b0888fd7d16c5b4996a148af09889
parent9d7b1960c2bf36f678cbe213ba46221f0b80b31e (diff)
parent6feb8f6505441583bb9f289da2227954c8335ce4 (diff)
downloadrtmux-94d96c6179277cae2443a3358d538493683576c9.tar.gz
rtmux-94d96c6179277cae2443a3358d538493683576c9.tar.bz2
rtmux-94d96c6179277cae2443a3358d538493683576c9.zip
Merge branch 'obsd-master' into master
-rw-r--r--cmd-select-pane.c2
-rw-r--r--format.c9
-rw-r--r--status.c4
-rw-r--r--tty.c13
4 files changed, 17 insertions, 11 deletions
diff --git a/cmd-select-pane.c b/cmd-select-pane.c
index 7871fe05..c5b4ee13 100644
--- a/cmd-select-pane.c
+++ b/cmd-select-pane.c
@@ -145,10 +145,12 @@ cmd_select_pane_exec(struct cmd *self, struct cmdq_item *item)
markedwp = marked_pane.wp;
if (lastwp != NULL) {
+ lastwp->flags |= (PANE_REDRAW|PANE_STYLECHANGED);
server_redraw_window_borders(lastwp->window);
server_status_window(lastwp->window);
}
if (markedwp != NULL) {
+ markedwp->flags |= (PANE_REDRAW|PANE_STYLECHANGED);
server_redraw_window_borders(markedwp->window);
server_status_window(markedwp->window);
}
diff --git a/format.c b/format.c
index 86263a25..1f18828a 100644
--- a/format.c
+++ b/format.c
@@ -4300,15 +4300,14 @@ format_replace(struct format_expand_state *es, const char *key, size_t keylen,
if (strcmp(found, condition) == 0) {
free(found);
found = xstrdup("");
- format_log(es, "condition '%s' found: %s",
- condition, found);
- } else {
format_log(es,
"condition '%s' not found; assuming false",
condition);
}
- } else
- format_log(es, "condition '%s' found", condition);
+ } else {
+ format_log(es, "condition '%s' found: %s", condition,
+ found);
+ }
if (format_choose(es, cp + 1, &left, &right, 0) != 0) {
format_log(es, "condition '%s' syntax error: %s",
diff --git a/status.c b/status.c
index 7435b31a..853f46d3 100644
--- a/status.c
+++ b/status.c
@@ -390,10 +390,10 @@ status_redraw(struct client *c)
/* Set up default colour. */
style_apply(&gc, s->options, "status-style", ft);
fg = options_get_number(s->options, "status-fg");
- if (fg != 8)
+ if (!COLOUR_DEFAULT(fg))
gc.fg = fg;
bg = options_get_number(s->options, "status-bg");
- if (bg != 8)
+ if (!COLOUR_DEFAULT(bg))
gc.bg = bg;
if (!grid_cells_equal(&gc, &sl->style)) {
force = 1;
diff --git a/tty.c b/tty.c
index 6cebe051..ecad9249 100644
--- a/tty.c
+++ b/tty.c
@@ -2790,18 +2790,23 @@ tty_window_default_style(struct grid_cell *gc, struct window_pane *wp)
void
tty_default_colours(struct grid_cell *gc, struct window_pane *wp)
{
- struct options *oo = wp->options;
+ struct options *oo = wp->options;
+ struct format_tree *ft;
memcpy(gc, &grid_default_cell, sizeof *gc);
if (wp->flags & PANE_STYLECHANGED) {
+ log_debug("%%%u: style changed", wp->id);
wp->flags &= ~PANE_STYLECHANGED;
+ ft = format_create(NULL, NULL, FORMAT_PANE|wp->id,
+ FORMAT_NOJOBS);
+ format_defaults(ft, NULL, NULL, NULL, wp);
tty_window_default_style(&wp->cached_active_gc, wp);
- style_add(&wp->cached_active_gc, oo, "window-active-style",
- NULL);
+ style_add(&wp->cached_active_gc, oo, "window-active-style", ft);
tty_window_default_style(&wp->cached_gc, wp);
- style_add(&wp->cached_gc, oo, "window-style", NULL);
+ style_add(&wp->cached_gc, oo, "window-style", ft);
+ format_free(ft);
}
if (gc->fg == 8) {