From 9a3f635db33b25dcaa2da31d7701c933ffd6681d Mon Sep 17 00:00:00 2001 From: outfoxxed Date: Sun, 25 Jun 2023 21:10:53 -0700 Subject: [PATCH] Fix hy3:killactive not killing floating windows --- src/Hy3Layout.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/Hy3Layout.cpp b/src/Hy3Layout.cpp index b86912c..10d86d5 100644 --- a/src/Hy3Layout.cpp +++ b/src/Hy3Layout.cpp @@ -1867,15 +1867,19 @@ hastab: } void Hy3Layout::killFocusedNode(int workspace) { - auto* node = this->getWorkspaceFocusedNode(workspace); - if (node == nullptr) return; + if (g_pCompositor->m_pLastWindow != nullptr && g_pCompositor->m_pLastWindow->m_bIsFloating) { + g_pCompositor->closeWindow(g_pCompositor->m_pLastWindow); + } else { + auto* node = this->getWorkspaceFocusedNode(workspace); + if (node == nullptr) return; - std::vector windows; - node->appendAllWindows(windows); + std::vector windows; + node->appendAllWindows(windows); - for (auto* window: windows) { - window->setHidden(false); - g_pCompositor->closeWindow(window); + for (auto* window: windows) { + window->setHidden(false); + g_pCompositor->closeWindow(window); + } } }