summaryrefslogtreecommitdiff
path: root/src/config/shared/actions/ConfigActions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/config/shared/actions/ConfigActions.cpp')
-rw-r--r--src/config/shared/actions/ConfigActions.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/config/shared/actions/ConfigActions.cpp b/src/config/shared/actions/ConfigActions.cpp
index 52b2a359..5fc16308 100644
--- a/src/config/shared/actions/ConfigActions.cpp
+++ b/src/config/shared/actions/ConfigActions.cpp
@@ -1665,11 +1665,15 @@ ActionResult Actions::cycleNext(const bool next, std::optional<bool> onlyTiled,
}
}
- std::optional<bool> floatStatus = {};
- if (onlyFloating.value_or(false))
- floatStatus = true;
+ // true = floating
+ // false = tiling
+ // either-or = either-or
+ std::optional<bool> tileOrFloatOnly = std::nullopt;
- const auto& cycled = g_pCompositor->getWindowCycle(window, true, floatStatus, false, !next, window->m_workspace && window->m_workspace->m_hasFullscreenWindow);
+ 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);