diff options
author | vaxerski <[email protected]> | 2022-12-20 23:07:17 +0000 |
---|---|---|
committer | vaxerski <[email protected]> | 2022-12-20 23:07:25 +0000 |
commit | fc37ce4a724101def1befa01b353162830f4393f (patch) | |
tree | 0ff1d29d248511367dfeb0249034490d26ee1558 | |
parent | edcf4cd61d84b79049f625d9782ecc33160fdf58 (diff) | |
download | Hyprland-fc37ce4a724101def1befa01b353162830f4393f.tar.gz Hyprland-fc37ce4a724101def1befa01b353162830f4393f.zip |
render pinned windows above floating separately
-rw-r--r-- | src/render/Renderer.cpp | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index 1196f77e..8ae5a014 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -451,7 +451,25 @@ void CHyprRenderer::renderAllClientsForMonitor(const int& ID, timespec* time) { if (w->isHidden() && !w->m_bIsMapped && !w->m_bFadingOut) continue; - if (!w->m_bIsFloating) + if (!w->m_bIsFloating || w->m_bPinned) + continue; + + if (g_pCompositor->isWorkspaceSpecial(w->m_iWorkspaceID)) + continue; + + if (!shouldRenderWindow(w.get(), PMONITOR)) + continue; + + // render the bad boy + renderWindow(w.get(), PMONITOR, time, true, RENDER_PASS_ALL); + } + + // pinned always above + for (auto& w : g_pCompositor->m_vWindows) { + if (w->isHidden() && !w->m_bIsMapped && !w->m_bFadingOut) + continue; + + if (!w->m_bPinned || !w->m_bIsFloating) continue; if (g_pCompositor->isWorkspaceSpecial(w->m_iWorkspaceID)) |