summaryrefslogtreecommitdiff
path: root/src/managers/KeybindManager.cpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-04-02 20:04:32 +0200
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-04-02 20:04:32 +0200
commit3f99dad7f563593d298bcd548002e5b53a886825 (patch)
tree4bdd69de02aff2b8a8352ff8abbb6b38d5d91c8c /src/managers/KeybindManager.cpp
parent7add082217b1e86f36bb152aec658eb5977622fa (diff)
Added pseudotiling
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 d9d2fa72..d820e83e 100644
--- a/src/managers/KeybindManager.cpp
+++ b/src/managers/KeybindManager.cpp
@@ -53,6 +53,7 @@ bool CKeybindManager::handleKeybinds(const uint32_t& modmask, const xkb_keysym_t
else if (k.handler == "workspace") { changeworkspace(k.arg); }
else if (k.handler == "fullscreen") { fullscreenActive(k.arg); }
else if (k.handler == "movetoworkspace") { moveActiveToWorkspace(k.arg); }
+ else if (k.handler == "pseudo") { toggleActivePseudo(k.arg); }
found = true;
}
@@ -114,6 +115,17 @@ void CKeybindManager::toggleActiveFloating(std::string args) {
}
}
+void CKeybindManager::toggleActivePseudo(std::string args) {
+ const auto ACTIVEWINDOW = g_pCompositor->m_pLastWindow;
+
+ if (!g_pCompositor->windowValidMapped(ACTIVEWINDOW))
+ return;
+
+ ACTIVEWINDOW->m_bIsPseudotiled = !ACTIVEWINDOW->m_bIsPseudotiled;
+
+ g_pLayoutManager->getCurrentLayout()->recalculateWindow(ACTIVEWINDOW);
+}
+
void CKeybindManager::changeworkspace(std::string args) {
int workspaceToChangeTo = 0;
try {