summaryrefslogtreecommitdiffstats
path: root/window-tree.c
diff options
context:
space:
mode:
authornicm <nicm>2020-12-03 07:12:11 +0000
committernicm <nicm>2020-12-03 07:12:11 +0000
commitfd451aa7962f399250fd166f207451fcf4b9cb94 (patch)
treeb53be085bcb45f9a88b478fe00c6449f98c1a0c5 /window-tree.c
parentf0c1233d4f97b499dd51688b089ad7c485c14b2a (diff)
Redraw any visible modes when status line changes so that formats like
the pane title are updated. GitHub issue 2487. Also a man page fix from jmc.
Diffstat (limited to 'window-tree.c')
-rw-r--r--window-tree.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/window-tree.c b/window-tree.c
index a687af16..1498b337 100644
--- a/window-tree.c
+++ b/window-tree.c
@@ -29,6 +29,7 @@ static struct screen *window_tree_init(struct window_mode_entry *,
static void window_tree_free(struct window_mode_entry *);
static void window_tree_resize(struct window_mode_entry *, u_int,
u_int);
+static void window_tree_update(struct window_mode_entry *);
static void window_tree_key(struct window_mode_entry *,
struct client *, struct session *,
struct winlink *, key_code, struct mouse_event *);
@@ -79,6 +80,7 @@ const struct window_mode window_tree_mode = {
.init = window_tree_init,
.free = window_tree_free,
.resize = window_tree_resize,
+ .update = window_tree_update,
.key = window_tree_key,
};
@@ -937,6 +939,16 @@ window_tree_resize(struct window_mode_entry *wme, u_int sx, u_int sy)
mode_tree_resize(data->data, sx, sy);
}
+static void
+window_tree_update(struct window_mode_entry *wme)
+{
+ struct window_tree_modedata *data = wme->data;
+
+ mode_tree_build(data->data);
+ mode_tree_draw(data->data);
+ data->wp->flags |= PANE_REDRAW;
+}
+
static char *
window_tree_get_target(struct window_tree_itemdata *item,
struct cmd_find_state *fs)