From c83c1beace7ead489ffc76e113f4ee25c4145ad6 Mon Sep 17 00:00:00 2001 From: Consolatis <35009135+Consolatis@users.noreply.github.com> Date: Mon, 26 Sep 2022 03:48:02 +0200 Subject: [PATCH] src/osd.c: Prevent showing invalid windows This might happen when closing the last application "to tray" like VLC, Discord or Steam. Reported-by: @Flrian --- src/desktop.c | 5 ++++- src/osd.c | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/desktop.c b/src/desktop.c index d261e7f7..f5384f8d 100644 --- a/src/desktop.c +++ b/src/desktop.c @@ -179,7 +179,10 @@ first_view(struct server *server) struct wl_list *list_head = &server->workspace_current->tree->children; wl_list_for_each_reverse(node, list_head, link) { - return node_view_from_node(node); + struct view *view = node_view_from_node(node); + if (isfocusable(view)) { + return view; + } } return NULL; } diff --git a/src/osd.c b/src/osd.c index 26b946cb..f24bbcfd 100644 --- a/src/osd.c +++ b/src/osd.c @@ -226,7 +226,7 @@ osd_update(struct server *server) struct wl_list *node_list = &server->workspace_current->tree->children; - if (wl_list_empty(node_list)) { + if (wl_list_empty(node_list) || !server->osd_state.cycle_view) { osd_finish(server); return; }