diff options
| author | Vaxry <vaxry@vaxry.net> | 2026-04-29 18:51:19 +0100 |
|---|---|---|
| committer | Vaxry <43317083+vaxerski@users.noreply.github.com> | 2026-04-29 22:05:32 +0100 |
| commit | 31e025dbe04dbe1836ea759f6b6e2ea09591fb23 (patch) | |
| tree | 7b810a935febc522179d332786312c5d26e1ffa7 /src/config/shared/actions/ConfigActions.cpp | |
| parent | 55a1611fd8150d7bb8d1b6e2b8cc95ffccf31ea2 (diff) | |
desktop/window: refactor over fullscreen state
Diffstat (limited to 'src/config/shared/actions/ConfigActions.cpp')
| -rw-r--r-- | src/config/shared/actions/ConfigActions.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/config/shared/actions/ConfigActions.cpp b/src/config/shared/actions/ConfigActions.cpp index c36a149f..1664df18 100644 --- a/src/config/shared/actions/ConfigActions.cpp +++ b/src/config/shared/actions/ConfigActions.cpp @@ -230,6 +230,8 @@ ActionResult Actions::pinWindow(eTogglableAction action, std::optional<PHLWINDOW return {}; window->m_pinned = wantPin; + window->updateFullscreenInputState(); + *window->alpha(Desktop::View::WINDOW_ALPHA_FULLSCREEN) = window->isBlockedByFullscreen() ? 0.F : 1.F; const auto PMONITOR = window->m_monitor.lock(); if (!PMONITOR) @@ -349,7 +351,7 @@ ActionResult Actions::moveFocus(Math::eDirection dir) { } const auto PWINDOWTOCHANGETO = *PFULLCYCLE && PLASTWINDOW->isFullscreen() ? - g_pCompositor->getWindowCycle(PLASTWINDOW, true, {}, false, dir != Math::DIRECTION_DOWN && dir != Math::DIRECTION_RIGHT) : + g_pCompositor->getWindowCycle(PLASTWINDOW, true, {}, false, dir != Math::DIRECTION_DOWN && dir != Math::DIRECTION_RIGHT, true) : g_pCompositor->getWindowInDirection(PLASTWINDOW, dir); if (*PGROUPCYCLE && PLASTWINDOW->m_group) { @@ -1651,7 +1653,7 @@ ActionResult Actions::cycleNext(const bool next, std::optional<bool> onlyTiled, if (onlyFloating.value_or(false)) floatStatus = true; - const auto& cycled = g_pCompositor->getWindowCycle(window, true, floatStatus, false, !next); + const auto& cycled = g_pCompositor->getWindowCycle(window, true, floatStatus, false, !next, window->m_workspace && window->m_workspace->m_hasFullscreenWindow); switchToWindow(cycled); |
