From 3f99dad7f563593d298bcd548002e5b53a886825 Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Sat, 2 Apr 2022 20:04:32 +0200 Subject: Added pseudotiling --- src/managers/KeybindManager.cpp | 12 ++++++++++++ src/managers/KeybindManager.hpp | 1 + 2 files changed, 13 insertions(+) (limited to 'src/managers') 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 { diff --git a/src/managers/KeybindManager.hpp b/src/managers/KeybindManager.hpp index 019ba9bf..f68f8314 100644 --- a/src/managers/KeybindManager.hpp +++ b/src/managers/KeybindManager.hpp @@ -27,6 +27,7 @@ private: void killActive(std::string); void spawn(std::string); void toggleActiveFloating(std::string); + void toggleActivePseudo(std::string); void changeworkspace(std::string); void fullscreenActive(std::string); void moveActiveToWorkspace(std::string); -- cgit v1.2.3