From 057695bc3f7de5e8841c15252fc51029590895e4 Mon Sep 17 00:00:00 2001 From: Vaxry <43317083+vaxerski@users.noreply.github.com> Date: Wed, 22 Oct 2025 11:32:42 +0100 Subject: desktopAnimationMgr: don't set fade 0 for members of a fs group (#12091) fixes a flash of opacity that shouldnt be there --- src/managers/animation/DesktopAnimationManager.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/managers/animation/DesktopAnimationManager.cpp') diff --git a/src/managers/animation/DesktopAnimationManager.cpp b/src/managers/animation/DesktopAnimationManager.cpp index 88f0c826..f156dfa9 100644 --- a/src/managers/animation/DesktopAnimationManager.cpp +++ b/src/managers/animation/DesktopAnimationManager.cpp @@ -459,6 +459,8 @@ void CDesktopAnimationManager::setFullscreenFadeAnimation(PHLWORKSPACE ws, eAnim const auto FULLSCREEN = type == ANIMATION_TYPE_IN; + const auto FSWINDOW = ws->getFullscreenWindow(); + for (auto const& w : g_pCompositor->m_windows) { if (w->m_workspace == ws) { @@ -467,8 +469,11 @@ void CDesktopAnimationManager::setFullscreenFadeAnimation(PHLWORKSPACE ws, eAnim if (!FULLSCREEN) *w->m_alpha = 1.F; - else if (!w->isFullscreen()) - *w->m_alpha = !w->m_createdOverFullscreen ? 0.f : 1.f; + else if (!w->isFullscreen()) { + const bool CREATED_OVER_FS = w->m_createdOverFullscreen; + const bool IS_IN_GROUP_OF_FS = FSWINDOW && FSWINDOW->hasInGroup(w); + *w->m_alpha = !CREATED_OVER_FS && !IS_IN_GROUP_OF_FS ? 0.f : 1.f; + } } } -- cgit v1.2.3