diff options
author | nicm <nicm> | 2021-07-21 08:06:36 +0000 |
---|---|---|
committer | nicm <nicm> | 2021-07-21 08:06:36 +0000 |
commit | f0e02387b2e13ba2a924b4a6c47da38b22bd8d3e (patch) | |
tree | dee378866cb0e68c613c1fd8f3c4eb46176804fe /server-client.c | |
parent | 732c72c98e9b3aa6b1d33f1eab9fa16874d92e7d (diff) | |
download | rtmux-f0e02387b2e13ba2a924b4a6c47da38b22bd8d3e.tar.gz rtmux-f0e02387b2e13ba2a924b4a6c47da38b22bd8d3e.tar.bz2 rtmux-f0e02387b2e13ba2a924b4a6c47da38b22bd8d3e.zip |
Do not close popups on resize, instead adjust them to fit, from Anindya
Mukherjee.
Diffstat (limited to 'server-client.c')
-rw-r--r-- | server-client.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/server-client.c b/server-client.c index 27b264a0..1be3575e 100644 --- a/server-client.c +++ b/server-client.c @@ -93,7 +93,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; @@ -114,6 +114,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; @@ -2061,9 +2062,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); |