diff options
| author | Vaxry <vaxry@vaxry.net> | 2025-04-29 18:14:02 +0100 |
|---|---|---|
| committer | Vaxry <vaxry@vaxry.net> | 2025-04-29 18:14:02 +0100 |
| commit | b10a43dabc0d65a03a3a169ff292f0f18d9c6640 (patch) | |
| tree | ba93bdd1b1a1235ae0bd16f7569815dd8d224250 /src/managers/KeybindManager.cpp | |
| parent | 5bd7ff884dc613ad22ecd227d41ce6ad7ee336df (diff) | |
windowrules: add noclosefor
fixes #10027
Diffstat (limited to 'src/managers/KeybindManager.cpp')
| -rw-r--r-- | src/managers/KeybindManager.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
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 {}; |
