aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorvaxerski <[email protected]>2022-12-20 23:07:17 +0000
committervaxerski <[email protected]>2022-12-20 23:07:25 +0000
commitfc37ce4a724101def1befa01b353162830f4393f (patch)
tree0ff1d29d248511367dfeb0249034490d26ee1558
parentedcf4cd61d84b79049f625d9782ecc33160fdf58 (diff)
downloadHyprland-fc37ce4a724101def1befa01b353162830f4393f.tar.gz
Hyprland-fc37ce4a724101def1befa01b353162830f4393f.zip
render pinned windows above floating separately
-rw-r--r--src/render/Renderer.cpp20
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))