From 3b2b2b639617430e681352aa552195f4fcf0c404 Mon Sep 17 00:00:00 2001 From: tokyo4j Date: Wed, 16 Apr 2025 09:04:20 +0900 Subject: [PATCH] view: disallow minimizing unmapped view This fixes that XDG clients which send xdg_toplevel.set_minimized before mapping its surface don't get focused, because desktop_focus_view() in map handler only unminimizes a minimized view rather than giving focus. --- src/view.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/view.c b/src/view.c index e17a883c..f6d3d0be 100644 --- a/src/view.c +++ b/src/view.c @@ -764,6 +764,11 @@ _minimize(struct view *view, bool minimized) if (view->minimized == minimized) { return; } + if (!view->mapped && minimized) { + /* xdg_toplevel.set_minimized can be sent before mapping */ + wlr_log(WLR_DEBUG, "not minimizing unmapped view"); + return; + } if (view->impl->minimize) { view->impl->minimize(view, minimized);