diff options
author | nicm <nicm> | 2020-12-03 07:12:11 +0000 |
---|---|---|
committer | nicm <nicm> | 2020-12-03 07:12:11 +0000 |
commit | fd451aa7962f399250fd166f207451fcf4b9cb94 (patch) | |
tree | b53be085bcb45f9a88b478fe00c6449f98c1a0c5 /window-buffer.c | |
parent | f0c1233d4f97b499dd51688b089ad7c485c14b2a (diff) | |
download | rtmux-fd451aa7962f399250fd166f207451fcf4b9cb94.tar.gz rtmux-fd451aa7962f399250fd166f207451fcf4b9cb94.tar.bz2 rtmux-fd451aa7962f399250fd166f207451fcf4b9cb94.zip |
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-buffer.c')
-rw-r--r-- | window-buffer.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/window-buffer.c b/window-buffer.c index ae6f13ce..4599cbc5 100644 --- a/window-buffer.c +++ b/window-buffer.c @@ -31,6 +31,7 @@ static struct screen *window_buffer_init(struct window_mode_entry *, static void window_buffer_free(struct window_mode_entry *); static void window_buffer_resize(struct window_mode_entry *, u_int, u_int); +static void window_buffer_update(struct window_mode_entry *); static void window_buffer_key(struct window_mode_entry *, struct client *, struct session *, struct winlink *, key_code, struct mouse_event *); @@ -63,6 +64,7 @@ const struct window_mode window_buffer_mode = { .init = window_buffer_init, .free = window_buffer_free, .resize = window_buffer_resize, + .update = window_buffer_update, .key = window_buffer_key, }; @@ -336,6 +338,16 @@ window_buffer_resize(struct window_mode_entry *wme, u_int sx, u_int sy) } static void +window_buffer_update(struct window_mode_entry *wme) +{ + struct window_buffer_modedata *data = wme->data; + + mode_tree_build(data->data); + mode_tree_draw(data->data); + data->wp->flags |= PANE_REDRAW; +} + +static void window_buffer_do_delete(void *modedata, void *itemdata, __unused struct client *c, __unused key_code key) { |