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.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/managers/KeybindManager.cpp b/src/managers/KeybindManager.cpp
index 80af767c..e5db8918 100644
--- a/src/managers/KeybindManager.cpp
+++ b/src/managers/KeybindManager.cpp
@@ -5,6 +5,7 @@
#include "../protocols/ShortcutsInhibit.hpp"
#include "../render/decorations/CHyprGroupBarDecoration.hpp"
#include "KeybindManager.hpp"
+#include "Compositor.hpp"
#include "TokenManager.hpp"
#include "debug/Log.hpp"
#include "helpers/varlist/VarList.hpp"
@@ -1017,15 +1018,20 @@ void CKeybindManager::centerWindow(std::string args) {
}
void CKeybindManager::toggleActivePseudo(std::string args) {
- const auto ACTIVEWINDOW = g_pCompositor->m_pLastWindow.lock();
+ PHLWINDOW PWINDOW = nullptr;
- if (!ACTIVEWINDOW)
+ if (args != "active" && args.length() > 1)
+ PWINDOW = g_pCompositor->getWindowByRegex(args);
+ else
+ PWINDOW = g_pCompositor->m_pLastWindow.lock();
+
+ if (!PWINDOW)
return;
- ACTIVEWINDOW->m_bIsPseudotiled = !ACTIVEWINDOW->m_bIsPseudotiled;
+ PWINDOW->m_bIsPseudotiled = !PWINDOW->m_bIsPseudotiled;
- if (!ACTIVEWINDOW->m_bIsFullscreen)
- g_pLayoutManager->getCurrentLayout()->recalculateWindow(ACTIVEWINDOW);
+ if (!PWINDOW->m_bIsFullscreen)
+ g_pLayoutManager->getCurrentLayout()->recalculateWindow(PWINDOW);
}
void CKeybindManager::changeworkspace(std::string args) {