diff options
Diffstat (limited to 'src/render/Renderer.cpp')
| -rw-r--r-- | src/render/Renderer.cpp | 21 |
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 |
