summaryrefslogtreecommitdiff
path: root/src/render/Renderer.cpp
diff options
context:
space:
mode:
authorVaxry <vaxry@vaxry.net>2023-12-09 18:38:32 +0000
committerVaxry <vaxry@vaxry.net>2023-12-09 18:38:32 +0000
commit0ebbf371ffdf5c1b1bfad549e24a47b0dfee508e (patch)
treedf21f3306b6b69d66d7b8db26aaf027a7d79e26e /src/render/Renderer.cpp
parent89d8f665b5c661a4b373f766692b3d68c3cd294f (diff)
renderer: improve fullscreen workspace client rendering
fixes #4076
Diffstat (limited to 'src/render/Renderer.cpp')
-rw-r--r--src/render/Renderer.cpp7
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)