From b10a43dabc0d65a03a3a169ff292f0f18d9c6640 Mon Sep 17 00:00:00 2001 From: Vaxry Date: Tue, 29 Apr 2025 18:14:02 +0100 Subject: windowrules: add noclosefor fixes #10027 --- src/managers/KeybindManager.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/managers/KeybindManager.cpp') diff --git a/src/managers/KeybindManager.cpp b/src/managers/KeybindManager.cpp index f30f65a1..7f0045e0 100644 --- a/src/managers/KeybindManager.cpp +++ b/src/managers/KeybindManager.cpp @@ -1037,6 +1037,9 @@ SDispatchResult CKeybindManager::killActive(std::string args) { } SDispatchResult CKeybindManager::closeActive(std::string args) { + if (g_pCompositor->m_lastWindow && g_pCompositor->m_lastWindow->m_closeableSince > Time::steadyNow()) + return {.success = false, .error = "can't close window, it's not closeable yet (noclosefor)"}; + g_pCompositor->closeWindow(g_pCompositor->m_lastWindow.lock()); return {}; @@ -1050,6 +1053,9 @@ SDispatchResult CKeybindManager::closeWindow(std::string args) { return {.success = false, .error = "closeWindow: no window found"}; } + if (PWINDOW->m_closeableSince > Time::steadyNow()) + return {.success = false, .error = "can't close window, it's not closeable yet (noclosefor)"}; + g_pCompositor->closeWindow(PWINDOW); return {}; -- cgit v1.2.3