render pinned windows above floating separately

This commit is contained in:
vaxerski 2022-12-20 23:07:17 +00:00
parent edcf4cd61d
commit fc37ce4a72

View file

@ -451,7 +451,25 @@ void CHyprRenderer::renderAllClientsForMonitor(const int& ID, timespec* time) {
if (w->isHidden() && !w->m_bIsMapped && !w->m_bFadingOut) if (w->isHidden() && !w->m_bIsMapped && !w->m_bFadingOut)
continue; 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; continue;
if (g_pCompositor->isWorkspaceSpecial(w->m_iWorkspaceID)) if (g_pCompositor->isWorkspaceSpecial(w->m_iWorkspaceID))