From fd7ec72fea03d858cc5f14bd6f829e8bc0491484 Mon Sep 17 00:00:00 2001 From: Grace Murphy Date: Sat, 3 Jan 2026 01:27:14 +0000 Subject: [PATCH 1/2] change rendering behaviour to allow for opaque borders --- src/render/Renderer.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index 1aa85f154..efdc46bdf 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -547,6 +547,7 @@ void CHyprRenderer::renderWindow(PHLWINDOW pWindow, PHLMONITOR pMonitor, const T EMIT_HOOK_EVENT("render", RENDER_PRE_WINDOW); const auto fullAlpha = renderdata.alpha * renderdata.fadeAlpha; + const auto decorationAlpha = 1.f * renderdata.fadeAlpha; if (*PDIMAROUND && pWindow->m_ruleApplicator->dimAround().valueOrDefault() && !m_bRenderingSnapshot && mode != RENDER_PASS_POPUP) { CBox monbox = {0, 0, g_pHyprOpenGL->m_renderData.pMonitor->m_transformedSize.x, g_pHyprOpenGL->m_renderData.pMonitor->m_transformedSize.y}; @@ -584,14 +585,14 @@ void CHyprRenderer::renderWindow(PHLWINDOW pWindow, PHLMONITOR pMonitor, const T if (wd->getDecorationLayer() != DECORATION_LAYER_BOTTOM) continue; - wd->draw(pMonitor, fullAlpha); + wd->draw(pMonitor, decorationAlpha); } for (auto const& wd : pWindow->m_windowDecorations) { if (wd->getDecorationLayer() != DECORATION_LAYER_UNDER) continue; - wd->draw(pMonitor, fullAlpha); + wd->draw(pMonitor, decorationAlpha); } } @@ -638,7 +639,7 @@ void CHyprRenderer::renderWindow(PHLWINDOW pWindow, PHLMONITOR pMonitor, const T if (wd->getDecorationLayer() != DECORATION_LAYER_OVER) continue; - wd->draw(pMonitor, fullAlpha); + wd->draw(pMonitor, decorationAlpha); } } @@ -723,7 +724,7 @@ void CHyprRenderer::renderWindow(PHLWINDOW pWindow, PHLMONITOR pMonitor, const T if (wd->getDecorationLayer() != DECORATION_LAYER_OVERLAY) continue; - wd->draw(pMonitor, fullAlpha); + wd->draw(pMonitor, decorationAlpha); } } } From 99e55a92ed9328b3926c14b6d825633854ecf557 Mon Sep 17 00:00:00 2001 From: Grace Murphy Date: Sat, 3 Jan 2026 01:32:16 +0000 Subject: [PATCH 2/2] format --- src/render/Renderer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index efdc46bdf..149dfaabb 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -546,7 +546,7 @@ void CHyprRenderer::renderWindow(PHLWINDOW pWindow, PHLMONITOR pMonitor, const T EMIT_HOOK_EVENT("render", RENDER_PRE_WINDOW); - const auto fullAlpha = renderdata.alpha * renderdata.fadeAlpha; + const auto fullAlpha = renderdata.alpha * renderdata.fadeAlpha; const auto decorationAlpha = 1.f * renderdata.fadeAlpha; if (*PDIMAROUND && pWindow->m_ruleApplicator->dimAround().valueOrDefault() && !m_bRenderingSnapshot && mode != RENDER_PASS_POPUP) {