From 5aab4a96e3c01cce181b42d51140f7ed4e555d8b Mon Sep 17 00:00:00 2001 From: vaxerski Date: Sun, 24 Dec 2023 15:08:48 +0100 Subject: dispatchers: add tiled/floating to cyclenext --- src/managers/KeybindManager.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'src/managers/KeybindManager.cpp') diff --git a/src/managers/KeybindManager.cpp b/src/managers/KeybindManager.cpp index 6aea4e32..d58aa8d8 100644 --- a/src/managers/KeybindManager.cpp +++ b/src/managers/KeybindManager.cpp @@ -1571,10 +1571,18 @@ void CKeybindManager::circleNext(std::string arg) { return; } - if (arg == "last" || arg == "l" || arg == "prev" || arg == "p") - switchToWindow(g_pCompositor->getPrevWindowOnWorkspace(g_pCompositor->m_pLastWindow, true)); + CVarList args{arg, 0, 's', true}; + + std::optional floatStatus = {}; + if (args.contains("tile") || args.contains("tiled")) + floatStatus = false; + else if (args.contains("float") || args.contains("floating")) + floatStatus = true; + + if (args.contains("prev") || args.contains("p") || args.contains("last") || args.contains("l")) + switchToWindow(g_pCompositor->getPrevWindowOnWorkspace(g_pCompositor->m_pLastWindow, true, floatStatus)); else - switchToWindow(g_pCompositor->getNextWindowOnWorkspace(g_pCompositor->m_pLastWindow, true)); + switchToWindow(g_pCompositor->getNextWindowOnWorkspace(g_pCompositor->m_pLastWindow, true, floatStatus)); } void CKeybindManager::focusWindow(std::string regexp) { -- cgit v1.2.3