summaryrefslogtreecommitdiff
path: root/src/render/Renderer.cpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-03-30 20:16:23 +0200
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-03-30 20:16:23 +0200
commitf794c91293ca4249fe0883bad4371a4e9e8d4344 (patch)
treedcf11d4415b95ecd5a896e967115e50e63a5e32a /src/render/Renderer.cpp
parente49657f0f927abbe9ef9b5f9b5714ca1adeec99d (diff)
windows on top of fullscreen, lastmonitor fixes
Diffstat (limited to 'src/render/Renderer.cpp')
-rw-r--r--src/render/Renderer.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp
index c9dada6d..7eda6296 100644
--- a/src/render/Renderer.cpp
+++ b/src/render/Renderer.cpp
@@ -59,12 +59,24 @@ bool shouldRenderWindow(CWindow* pWindow, SMonitor* pMonitor) {
}
void CHyprRenderer::renderWorkspaceWithFullscreenWindow(SMonitor* pMonitor, SWorkspace* pWorkspace, timespec* time) {
+ CWindow* pWorkspaceWindow = nullptr;
+
for (auto& w : g_pCompositor->m_lWindows) {
if (w.m_iWorkspaceID != pWorkspace->ID || !w.m_bIsFullscreen)
continue;
// found it!
renderWindow(&w, pMonitor, time, false);
+
+ pWorkspaceWindow = &w;
+ }
+
+ // then render windows over fullscreen
+ for (auto& w : g_pCompositor->m_lWindows) {
+ if (w.m_iWorkspaceID != pWorkspaceWindow->m_iWorkspaceID || !w.m_bCreatedOverFullscreen || !w.m_bIsMapped)
+ continue;
+
+ renderWindow(&w, pMonitor, time, true);
}
}