9a3f635db33b25dcaa2da31d7701c933ffd6681d
- Author
- outfoxxed <outfoxxed@outfoxxed.me>
- Committer
- outfoxxed <outfoxxed@outfoxxed.me>
- Date
Message
Fix hy3:killactive not killing floating windows
Diff
1diff --git a/src/Hy3Layout.cpp b/src/Hy3Layout.cpp
2index b86912c4df5b966c0e86710dbea852b5e3e4a1d6..10d86d5e3d99673575dff70e5af0f912d3f290eb 100644
3--- a/src/Hy3Layout.cpp
4+++ b/src/Hy3Layout.cpp
5@@ -1867,15 +1867,19 @@ hastab:
6 }
7
8 void Hy3Layout::killFocusedNode(int workspace) {
9- auto* node = this->getWorkspaceFocusedNode(workspace);
10- if (node == nullptr) return;
11+ if (g_pCompositor->m_pLastWindow != nullptr && g_pCompositor->m_pLastWindow->m_bIsFloating) {
12+ g_pCompositor->closeWindow(g_pCompositor->m_pLastWindow);
13+ } else {
14+ auto* node = this->getWorkspaceFocusedNode(workspace);
15+ if (node == nullptr) return;
16
17- std::vector<CWindow*> windows;
18- node->appendAllWindows(windows);
19+ std::vector<CWindow*> windows;
20+ node->appendAllWindows(windows);
21
22- for (auto* window: windows) {
23- window->setHidden(false);
24- g_pCompositor->closeWindow(window);
25+ for (auto* window: windows) {
26+ window->setHidden(false);
27+ g_pCompositor->closeWindow(window);
28+ }
29 }
30 }
31