diff options
author | Vaxry <[email protected]> | 2024-08-24 20:58:21 +0200 |
---|---|---|
committer | Vaxry <[email protected]> | 2024-08-24 20:58:21 +0200 |
commit | 85917a40b0001c206610dbbcc7295c5550fad2ec (patch) | |
tree | 74868eafb979ad4874ce204d2ed86eac8005c581 | |
parent | d3e26652d627a7bf3e562de415568260d9865a2f (diff) | |
download | Hyprland-85917a40b0001c206610dbbcc7295c5550fad2ec.tar.gz Hyprland-85917a40b0001c206610dbbcc7295c5550fad2ec.zip |
morescale-workspaces
-rw-r--r-- | src/render/Renderer.cpp | 16 |
1 files 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) |