From d3bba2489d1cf8d7012abdca6a55177eb971076c Mon Sep 17 00:00:00 2001 From: MightyPlaza <123664421+MightyPlaza@users.noreply.github.com> Date: Sun, 23 Jul 2023 13:49:49 +0000 Subject: render: Border fixes (#2781) * Window.cpp * layout * CHyprGroupBarDecoration.cpp --- src/Window.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/Window.cpp') diff --git a/src/Window.cpp b/src/Window.cpp index e95a0959..233a1088 100644 --- a/src/Window.cpp +++ b/src/Window.cpp @@ -25,12 +25,20 @@ CWindow::~CWindow() { wlr_box CWindow::getFullWindowBoundingBox() { static auto* const PBORDERSIZE = &g_pConfigManager->getConfigValuePtr("general:border_size")->intValue; + const auto WORKSPACERULE = g_pConfigManager->getWorkspaceRuleFor(g_pCompositor->getWorkspaceByID(m_iWorkspaceID)); + + auto borderSize = m_sSpecialRenderData.borderSize.toUnderlying() != -1 ? m_sSpecialRenderData.borderSize.toUnderlying() : WORKSPACERULE.borderSize.value_or(*PBORDERSIZE); + if (m_sAdditionalConfigData.borderSize.toUnderlying() != -1) + borderSize = m_sAdditionalConfigData.borderSize.toUnderlying(); + + borderSize *= m_sSpecialRenderData.border && !m_sAdditionalConfigData.forceNoBorder; + if (m_sAdditionalConfigData.dimAround) { const auto PMONITOR = g_pCompositor->getMonitorFromID(m_iMonitorID); return {PMONITOR->vecPosition.x, PMONITOR->vecPosition.y, PMONITOR->vecSize.x, PMONITOR->vecSize.y}; } - SWindowDecorationExtents maxExtents = {{*PBORDERSIZE + 2, *PBORDERSIZE + 2}, {*PBORDERSIZE + 2, *PBORDERSIZE + 2}}; + SWindowDecorationExtents maxExtents = {{borderSize + 2, borderSize + 2}, {borderSize + 2, borderSize + 2}}; for (auto& wd : m_dWindowDecorations) { -- cgit v1.2.3