summaryrefslogtreecommitdiff
path: root/src/render/Renderer.cpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-03-22 17:14:07 +0100
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-03-22 17:14:07 +0100
commit8fe1cec87ce4a0dc580a36be31fe198d375c21fa (patch)
tree55507f69f7a3bc7171b7c4ae73c8fb467efb1e13 /src/render/Renderer.cpp
parent8a8b26a6357528a736c4a28ff70aff6b3d397190 (diff)
fixed floating window dragging and rendering
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