aboutsummaryrefslogtreecommitdiff
path: root/server-client.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2021-07-21 10:01:24 +0100
committerThomas Adam <thomas@xteddy.org>2021-07-21 10:01:24 +0100
commit7cbf4c902779c5493190266b31157ed111e567ab (patch)
tree7618eff5225df4b5982dff8bb6773cfaf2937b7b /server-client.c
parente3ff887d2ac846afee4f25359ced420ab2f3faf6 (diff)
parent78ec0579163f6c532a1f64fd59b09e0d4f931ea0 (diff)
downloadrtmux-7cbf4c902779c5493190266b31157ed111e567ab.tar.gz
rtmux-7cbf4c902779c5493190266b31157ed111e567ab.tar.bz2
rtmux-7cbf4c902779c5493190266b31157ed111e567ab.zip
Merge branch 'obsd-master' into master
Diffstat (limited to 'server-client.c')
-rw-r--r--server-client.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/server-client.c b/server-client.c
index e3a690bd..15d86077 100644
--- a/server-client.c
+++ b/server-client.c
@@ -90,7 +90,7 @@ void
server_client_set_overlay(struct client *c, u_int delay,
overlay_check_cb checkcb, overlay_mode_cb modecb,
overlay_draw_cb drawcb, overlay_key_cb keycb, overlay_free_cb freecb,
- void *data)
+ overlay_resize_cb resizecb, void *data)
{
struct timeval tv;
@@ -111,6 +111,7 @@ server_client_set_overlay(struct client *c, u_int delay,
c->overlay_draw = drawcb;
c->overlay_key = keycb;
c->overlay_free = freecb;
+ c->overlay_resize = resizecb;
c->overlay_data = data;
c->tty.flags |= TTY_FREEZE;
@@ -2058,9 +2059,12 @@ server_client_dispatch(struct imsg *imsg, void *arg)
if (c->flags & CLIENT_CONTROL)
break;
server_client_update_latest(c);
- server_client_clear_overlay(c);
tty_resize(&c->tty);
recalculate_sizes();
+ if (c->overlay_resize == NULL)
+ server_client_clear_overlay(c);
+ else
+ c->overlay_resize(c);
server_redraw_client(c);
if (c->session != NULL)
notify_client("client-resized", c);