diff --git a/src/Window.hpp b/src/Window.hpp index 7dcd670f..181ae74e 100644 --- a/src/Window.hpp +++ b/src/Window.hpp @@ -13,6 +13,7 @@ struct SWindowSpecialRenderData { // set by the layout bool rounding = true; + bool border = true; }; struct SWindowAdditionalConfigData { diff --git a/src/layout/DwindleLayout.cpp b/src/layout/DwindleLayout.cpp index 05f9e2d5..13ee7774 100644 --- a/src/layout/DwindleLayout.cpp +++ b/src/layout/DwindleLayout.cpp @@ -177,11 +177,13 @@ void CHyprDwindleLayout::applyNodeDataToWindow(SDwindleNodeData* pNode, bool for PWINDOW->updateWindowDecos(); PWINDOW->m_sSpecialRenderData.rounding = false; + PWINDOW->m_sSpecialRenderData.border = false; return; } PWINDOW->m_sSpecialRenderData.rounding = true; + PWINDOW->m_sSpecialRenderData.border = true; const auto OFFSETTOPLEFT = Vector2D(DISPLAYLEFT ? GAPSOUT : GAPSIN, DISPLAYTOP ? GAPSOUT : GAPSIN); diff --git a/src/layout/MasterLayout.cpp b/src/layout/MasterLayout.cpp index c489e32e..3c1d943c 100644 --- a/src/layout/MasterLayout.cpp +++ b/src/layout/MasterLayout.cpp @@ -241,11 +241,13 @@ void CHyprMasterLayout::applyNodeDataToWindow(SMasterNodeData* pNode) { PWINDOW->updateWindowDecos(); PWINDOW->m_sSpecialRenderData.rounding = false; + PWINDOW->m_sSpecialRenderData.border = false; return; } PWINDOW->m_sSpecialRenderData.rounding = true; + PWINDOW->m_sSpecialRenderData.border = true; const auto OFFSETTOPLEFT = Vector2D(DISPLAYLEFT ? GAPSOUT : GAPSIN, DISPLAYTOP ? GAPSOUT : GAPSIN); diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index 6251d0a8..9d442be9 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -255,7 +255,7 @@ void CHyprRenderer::renderWindow(CWindow* pWindow, CMonitor* pMonitor, timespec* wlr_surface_for_each_surface(g_pXWaylandManager->getWindowSurface(pWindow), renderSurface, &renderdata); - if (renderdata.decorate) { + if (renderdata.decorate && pWindow->m_sSpecialRenderData.border) { static auto *const PROUNDING = &g_pConfigManager->getConfigValuePtr("decoration:rounding")->intValue; float rounding = renderdata.dontRound ? 0 : renderdata.rounding == -1 ? *PROUNDING : renderdata.rounding;