From e03a27e90ef7588965cf65d2d26f7b6a11c3b110 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Wed, 13 Aug 2025 12:11:32 +0800 Subject: [PATCH] fix: miss exclude unmap client in focuslast --- src/dispatch/bind_define.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/dispatch/bind_define.h b/src/dispatch/bind_define.h index 428498a..8ba8e4c 100644 --- a/src/dispatch/bind_define.h +++ b/src/dispatch/bind_define.h @@ -72,7 +72,8 @@ void focuslast(const Arg *arg) { wl_list_for_each(c, &fstack, flink) { if (c->iskilling || c->isminied || c->isunglobal || - client_is_unmanaged(c) || client_should_ignore_focus(c)) + !client_surface(c)->mapped || client_is_unmanaged(c) || + client_should_ignore_focus(c)) continue; if (selmon && !selmon->sel) { @@ -88,7 +89,7 @@ void focuslast(const Arg *arg) { break; } - if (!c) + if (!c || !client_surface(c)->mapped) return; if ((int)c->tags > 0) {