From 0fdf909b196ffb5730bcf52c1195eabeb2b04d3c Mon Sep 17 00:00:00 2001 From: Vaxry Date: Mon, 11 Dec 2023 16:32:00 +0000 Subject: [PATCH] renderer: don't render decorations on renderdata.decorate false fixes #4117 --- src/render/Renderer.cpp | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index 6731dff5..43d7584c 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -479,7 +479,7 @@ void CHyprRenderer::renderWindow(CWindow* pWindow, CMonitor* pMonitor, timespec* } } - if (!pWindow->m_bIsFullscreen || PWORKSPACE->m_efFullscreenMode != FULLSCREEN_FULL) { + if (decorate) { for (auto& wd : pWindow->m_dWindowDecorations) { if (wd->getDecorationLayer() != DECORATION_LAYER_BOTTOM) continue; @@ -511,11 +511,13 @@ void CHyprRenderer::renderWindow(CWindow* pWindow, CMonitor* pMonitor, timespec* g_pHyprOpenGL->m_RenderData.useNearestNeighbor = false; - for (auto& wd : pWindow->m_dWindowDecorations) { - if (wd->getDecorationLayer() != DECORATION_LAYER_OVER) - continue; + if (decorate) { + for (auto& wd : pWindow->m_dWindowDecorations) { + if (wd->getDecorationLayer() != DECORATION_LAYER_OVER) + continue; - wd->draw(pMonitor, renderdata.alpha * renderdata.fadeAlpha, Vector2D{renderdata.x, renderdata.y} - PREOFFSETPOS); + wd->draw(pMonitor, renderdata.alpha * renderdata.fadeAlpha, Vector2D{renderdata.x, renderdata.y} - PREOFFSETPOS); + } } if (TRANSFORMERSPRESENT) { @@ -553,11 +555,13 @@ void CHyprRenderer::renderWindow(CWindow* pWindow, CMonitor* pMonitor, timespec* g_pHyprOpenGL->m_RenderData.useNearestNeighbor = false; } - for (auto& wd : pWindow->m_dWindowDecorations) { - if (wd->getDecorationLayer() != DECORATION_LAYER_OVERLAY) - continue; + if (decorate) { + for (auto& wd : pWindow->m_dWindowDecorations) { + if (wd->getDecorationLayer() != DECORATION_LAYER_OVERLAY) + continue; - wd->draw(pMonitor, renderdata.alpha * renderdata.fadeAlpha, Vector2D{renderdata.x, renderdata.y} - PREOFFSETPOS); + wd->draw(pMonitor, renderdata.alpha * renderdata.fadeAlpha, Vector2D{renderdata.x, renderdata.y} - PREOFFSETPOS); + } } }