summaryrefslogtreecommitdiff
path: root/src/config/shared/actions/ConfigActions.cpp
diff options
context:
space:
mode:
authorVaxry <vaxry@vaxry.net>2026-04-29 18:51:19 +0100
committerVaxry <43317083+vaxerski@users.noreply.github.com>2026-04-29 22:05:32 +0100
commit31e025dbe04dbe1836ea759f6b6e2ea09591fb23 (patch)
tree7b810a935febc522179d332786312c5d26e1ffa7 /src/config/shared/actions/ConfigActions.cpp
parent55a1611fd8150d7bb8d1b6e2b8cc95ffccf31ea2 (diff)
desktop/window: refactor over fullscreen state
Diffstat (limited to 'src/config/shared/actions/ConfigActions.cpp')
-rw-r--r--src/config/shared/actions/ConfigActions.cpp6
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);