summaryrefslogtreecommitdiff
path: root/src/managers/KeybindManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/managers/KeybindManager.cpp')
-rw-r--r--src/managers/KeybindManager.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/managers/KeybindManager.cpp b/src/managers/KeybindManager.cpp
index 04cc0d9b..5d791004 100644
--- a/src/managers/KeybindManager.cpp
+++ b/src/managers/KeybindManager.cpp
@@ -7,6 +7,7 @@ CKeybindManager::CKeybindManager() {
m_mDispatchers["exec"] = spawn;
m_mDispatchers["killactive"] = killActive;
+ m_mDispatchers["closewindow"] = kill;
m_mDispatchers["togglefloating"] = toggleActiveFloating;
m_mDispatchers["workspace"] = changeworkspace;
m_mDispatchers["fullscreen"] = fullscreenActive;
@@ -475,6 +476,17 @@ void CKeybindManager::killActive(std::string args) {
g_pCompositor->closeWindow(g_pCompositor->m_pLastWindow);
}
+void CKeybindManager::kill(std::string args) {
+ const auto PWINDOW = g_pCompositor->getWindowByRegex(args);
+
+ if (!PWINDOW) {
+ Debug::log(ERR, "kill: no window found");
+ return;
+ }
+
+ g_pCompositor->closeWindow(PWINDOW);
+}
+
void CKeybindManager::clearKeybinds() {
m_lKeybinds.clear();
}