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.cpp21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp
index 6239c3c5..1c0f4ad2 100644
--- a/src/render/Renderer.cpp
+++ b/src/render/Renderer.cpp
@@ -109,15 +109,34 @@ void CHyprRenderer::renderAllClientsForMonitor(const int& ID, timespec* time) {
return;
}
+ // Non-floating
for (auto& w : g_pCompositor->m_lWindows) {
if (!g_pCompositor->windowValidMapped(&w))
continue;
+ if (w.m_bIsFloating)
+ continue; // floating are in second pass
+
+ if (!shouldRenderWindow(&w, PMONITOR))
+ continue;
+
+ // render the bad boy
+ renderWindow(&w, PMONITOR, time, true);
+ }
+
+ // floating on top
+ for (auto& w : g_pCompositor->m_lWindows) {
+ if (!g_pCompositor->windowValidMapped(&w))
+ continue;
+
+ if (!w.m_bIsFloating)
+ continue;
+
if (!shouldRenderWindow(&w, PMONITOR))
continue;
// render the bad boy
- renderWindow(&w, PMONITOR, time, true);
+ renderWindow(&w, PMONITOR, time, true);
}
// Render surfaces above windows for monitor