diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-03-22 17:14:07 +0100 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-03-22 17:14:07 +0100 |
| commit | 8fe1cec87ce4a0dc580a36be31fe198d375c21fa (patch) | |
| tree | 55507f69f7a3bc7171b7c4ae73c8fb467efb1e13 /src/render | |
| parent | 8a8b26a6357528a736c4a28ff70aff6b3d397190 (diff) | |
fixed floating window dragging and rendering
Diffstat (limited to 'src/render')
| -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 |
