summaryrefslogtreecommitdiff
path: root/src/render/Renderer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/render/Renderer.cpp')
-rw-r--r--src/render/Renderer.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp
index c9dada6d..7eda6296 100644
--- a/src/render/Renderer.cpp
+++ b/src/render/Renderer.cpp
@@ -59,12 +59,24 @@ bool shouldRenderWindow(CWindow* pWindow, SMonitor* pMonitor) {
}
void CHyprRenderer::renderWorkspaceWithFullscreenWindow(SMonitor* pMonitor, SWorkspace* pWorkspace, timespec* time) {
+ CWindow* pWorkspaceWindow = nullptr;
+
for (auto& w : g_pCompositor->m_lWindows) {
if (w.m_iWorkspaceID != pWorkspace->ID || !w.m_bIsFullscreen)
continue;
// found it!
renderWindow(&w, pMonitor, time, false);
+
+ pWorkspaceWindow = &w;
+ }
+
+ // then render windows over fullscreen
+ for (auto& w : g_pCompositor->m_lWindows) {
+ if (w.m_iWorkspaceID != pWorkspaceWindow->m_iWorkspaceID || !w.m_bCreatedOverFullscreen || !w.m_bIsMapped)
+ continue;
+
+ renderWindow(&w, pMonitor, time, true);
}
}