diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-03-30 20:16:23 +0200 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-03-30 20:16:23 +0200 |
| commit | f794c91293ca4249fe0883bad4371a4e9e8d4344 (patch) | |
| tree | dcf11d4415b95ecd5a896e967115e50e63a5e32a /src/render/Renderer.cpp | |
| parent | e49657f0f927abbe9ef9b5f9b5714ca1adeec99d (diff) | |
windows on top of fullscreen, lastmonitor fixes
Diffstat (limited to 'src/render/Renderer.cpp')
| -rw-r--r-- | src/render/Renderer.cpp | 12 |
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); } } |
