From a869693405f99c8ca8e2da32a08534489ce165f2 Mon Sep 17 00:00:00 2001 From: nicm Date: Sat, 5 Oct 2024 12:10:16 +0000 Subject: [PATCH] Send focus events to pane when entering or leaving popup, GitHub issue 3991. --- server-client.c | 2 ++ window.c | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/server-client.c b/server-client.c index 851d9fd2c..8c5f36458 100644 --- a/server-client.c +++ b/server-client.c @@ -121,6 +121,7 @@ server_client_set_overlay(struct client *c, u_int delay, c->tty.flags |= TTY_FREEZE; if (c->overlay_mode == NULL) c->tty.flags |= TTY_NOCURSOR; + window_update_focus(c->session->curw->window); server_redraw_client(c); } @@ -145,6 +146,7 @@ server_client_clear_overlay(struct client *c) c->overlay_data = NULL; c->tty.flags &= ~(TTY_FREEZE|TTY_NOCURSOR); + window_update_focus(c->session->curw->window); server_redraw_client(c); } diff --git a/window.c b/window.c index 06d37453e..86e8d1c01 100644 --- a/window.c +++ b/window.c @@ -482,7 +482,8 @@ window_pane_update_focus(struct window_pane *wp) if (c->session != NULL && c->session->attached != 0 && (c->flags & CLIENT_FOCUSED) && - c->session->curw->window == wp->window) { + c->session->curw->window == wp->window && + c->overlay_draw == NULL) { focused = 1; break; }