From d6de248b0d434a382a7036ff04b3f9b367668cb0 Mon Sep 17 00:00:00 2001 From: Przegryw321 <65826466+Przegryw321@users.noreply.github.com> Date: Wed, 19 Jun 2024 23:19:18 +0200 Subject: window: expose pseudotiled state and add param to dispatcher (#6583) * Show pseudotiled state of window in hyprctl clients * Add a window as an optional argument for the pseudo dispatcher * change formatting --- src/managers/KeybindManager.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'src/managers/KeybindManager.cpp') 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) { -- cgit v1.2.3