From 57c4814f7049dbd29fd65e35184287c2a82f1bae Mon Sep 17 00:00:00 2001 From: erstarr <253168930+erstarr@users.noreply.github.com> Date: Wed, 29 Apr 2026 04:15:39 +0200 Subject: [PATCH] fix tiling only selection: actually select only tiling when chosen --- src/config/shared/actions/ConfigActions.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/config/shared/actions/ConfigActions.cpp b/src/config/shared/actions/ConfigActions.cpp index 56fb88e98..d07c036e0 100644 --- a/src/config/shared/actions/ConfigActions.cpp +++ b/src/config/shared/actions/ConfigActions.cpp @@ -1664,11 +1664,19 @@ ActionResult Actions::cycleNext(const bool next, std::optional onlyTiled, } } - std::optional floatStatus = {}; - if (onlyFloating.value_or(false)) - floatStatus = true; - const auto& cycled = g_pCompositor->getWindowCycle(window, true, floatStatus, false, !next, window->m_workspace && window->m_workspace->m_hasFullscreenWindow); + + + // true = floating + // false = tiling + // either-or = either-or + std::optional tileOrFloatOnly = std::nullopt; + + if (onlyTiled.value_or(false) != onlyFloating.value_or(false)) + tileOrFloatOnly = onlyFloating.value_or(false); + + + const auto& cycled = g_pCompositor->getWindowCycle(window, true, tileOrFloatOnly, false, !next, window->m_workspace && window->m_workspace->m_hasFullscreenWindow); switchToWindow(cycled);