From 85917a40b0001c206610dbbcc7295c5550fad2ec Mon Sep 17 00:00:00 2001 From: Vaxry Date: Sat, 24 Aug 2024 20:58:21 +0200 Subject: [PATCH] more --- src/render/Renderer.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index 76076093..2993de1c 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -513,10 +513,10 @@ void CHyprRenderer::renderWorkspaceWindows(CMonitor* pMonitor, PHLWORKSPACE pWor // firstly, render all workspaces in sync, but leave out main workspace for (auto& [k, v] : toRender) { - if (k == pWorkspace) + if (k == pWorkspace || !k) continue; - const bool SCALE = k && k->m_fScaleClients.value() != 1.F && g_pCompositor->getWindowsOnWorkspace(k->m_iID) > 0; + const bool SCALE = k->m_fScaleClients.value() != 1.F && g_pCompositor->getWindowsOnWorkspace(k->m_iID) > 0; if (SCALE) preWorkspaceScaleAnim(); @@ -535,8 +535,16 @@ void CHyprRenderer::renderWorkspaceWindows(CMonitor* pMonitor, PHLWORKSPACE pWor preWorkspaceScaleAnim(); // lastly, render the current ws - for (auto& [window, mode] : toRender[pWorkspace]) { - renderWindow(window, pMonitor, time, true, mode); + if (toRender.contains(pWorkspace)) { + for (auto& [window, mode] : toRender[pWorkspace]) { + renderWindow(window, pMonitor, time, true, mode); + } + } + // and the null ws (windows fading out) + if (toRender.contains(nullptr)) { + for (auto& [window, mode] : toRender[nullptr]) { + renderWindow(window, pMonitor, time, true, mode); + } } if (SCALE)