diff options
| author | Vaxry <vaxry@vaxry.net> | 2023-12-09 18:38:32 +0000 |
|---|---|---|
| committer | Vaxry <vaxry@vaxry.net> | 2023-12-09 18:38:32 +0000 |
| commit | 0ebbf371ffdf5c1b1bfad549e24a47b0dfee508e (patch) | |
| tree | df21f3306b6b69d66d7b8db26aaf027a7d79e26e /src/render/Renderer.cpp | |
| parent | 89d8f665b5c661a4b373f766692b3d68c3cd294f (diff) | |
renderer: improve fullscreen workspace client rendering
fixes #4076
Diffstat (limited to 'src/render/Renderer.cpp')
| -rw-r--r-- | src/render/Renderer.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index d20e10b8..0821e0f0 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -168,7 +168,8 @@ bool CHyprRenderer::shouldRenderWindow(CWindow* pWindow, CMonitor* pMonitor, CWo if (PWINDOWWORKSPACE->m_vRenderOffset.isBeingAnimated() || PWINDOWWORKSPACE->m_fAlpha.isBeingAnimated() || PWINDOWWORKSPACE->m_bForceRendering) { return true; } else { - if (!(!PWINDOWWORKSPACE->m_bHasFullscreenWindow || pWindow->m_bIsFullscreen || (pWindow->m_bIsFloating && pWindow->m_bCreatedOverFullscreen))) + if (PWINDOWWORKSPACE->m_bHasFullscreenWindow && !pWindow->m_bIsFullscreen && !pWindow->m_bIsFloating && !pWindow->m_bCreatedOverFullscreen && + pWindow->m_fAlpha.fl() == 0) return false; } } @@ -220,7 +221,7 @@ void CHyprRenderer::renderWorkspaceWindowsFullscreen(CMonitor* pMonitor, CWorksp // loop over the tiled windows that are fading out for (auto& w : g_pCompositor->m_vWindows) { - if (w->m_iWorkspaceID != pMonitor->activeWorkspace) + if (!shouldRenderWindow(w.get(), pMonitor, pWorkspace)) continue; if (w->m_fAlpha.fl() == 0.f) @@ -237,7 +238,7 @@ void CHyprRenderer::renderWorkspaceWindowsFullscreen(CMonitor* pMonitor, CWorksp // and floating ones too for (auto& w : g_pCompositor->m_vWindows) { - if (w->m_iWorkspaceID != pMonitor->activeWorkspace) + if (!shouldRenderWindow(w.get(), pMonitor, pWorkspace)) continue; if (w->m_fAlpha.fl() == 0.f) |
