diff --git a/src/Compositor.cpp b/src/Compositor.cpp index 56e859719..96c8b34c3 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -1977,7 +1977,7 @@ void CCompositor::updateFullscreenFadeOnWorkspace(CWorkspace* pWorkspace) { for (auto& w : g_pCompositor->m_vWindows) { if (w->m_iWorkspaceID == pWorkspace->m_iID) { - if (w->m_bFadingOut || w->m_bPinned) + if (w->m_bFadingOut || w->m_bPinned || w->m_bIsFullscreen) continue; if (!FULLSCREEN) @@ -2018,7 +2018,7 @@ void CCompositor::setWindowFullscreen(CWindow* pWindow, bool on, eFullscreenMode g_pXWaylandManager->setWindowFullscreen(pWindow, pWindow->m_bIsFullscreen && mode == FULLSCREEN_FULL); pWindow->updateDynamicRules(); - g_pCompositor->updateWindowAnimatedDecorationValues(pWindow); + updateWindowAnimatedDecorationValues(pWindow); // make all windows on the same workspace under the fullscreen window for (auto& w : m_vWindows) { diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index bcecf2c83..1e290f0e1 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -181,7 +181,7 @@ void CHyprRenderer::renderWorkspaceWithFullscreenWindow(CMonitor* pMonitor, CWor // then render windows over fullscreen. for (auto& w : g_pCompositor->m_vWindows) { - if (w->m_iWorkspaceID != pWorkspaceWindow->m_iWorkspaceID || (!w->m_bCreatedOverFullscreen && !w->m_bPinned) || (!w->m_bIsMapped && !w->m_bFadingOut)) + if (w->m_iWorkspaceID != pWorkspaceWindow->m_iWorkspaceID || (!w->m_bCreatedOverFullscreen && !w->m_bPinned) || (!w->m_bIsMapped && !w->m_bFadingOut) || w->m_bIsFullscreen) continue; renderWindow(w.get(), pMonitor, time, true, RENDER_PASS_ALL);