From 8fe1cec87ce4a0dc580a36be31fe198d375c21fa Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Tue, 22 Mar 2022 17:14:07 +0100 Subject: fixed floating window dragging and rendering --- src/render/Renderer.cpp | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'src/render') 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 -- cgit v1.2.3