diff --git a/src/desktop/Window.cpp b/src/desktop/Window.cpp index 78f12a11..71b78ded 100644 --- a/src/desktop/Window.cpp +++ b/src/desktop/Window.cpp @@ -1231,7 +1231,7 @@ void CWindow::updateWindowData(const SWorkspaceRule& workspaceRule) { } int CWindow::getRealBorderSize() { - if (m_windowData.noBorder.valueOrDefault() || (m_workspace && isEffectiveInternalFSMode(FSMODE_FULLSCREEN))) + if (m_windowData.noBorder.valueOrDefault() || (m_workspace && isEffectiveInternalFSMode(FSMODE_FULLSCREEN)) || !m_windowData.decorate.valueOrDefault()) return 0; static auto PBORDERSIZE = CConfigValue("general:border_size"); @@ -1909,4 +1909,4 @@ SP CWindow::getSolitaryResource() { } return nullptr; -} \ No newline at end of file +} diff --git a/src/render/decorations/CHyprBorderDecoration.cpp b/src/render/decorations/CHyprBorderDecoration.cpp index 1ba60f0c..33ffcb60 100644 --- a/src/render/decorations/CHyprBorderDecoration.cpp +++ b/src/render/decorations/CHyprBorderDecoration.cpp @@ -157,5 +157,6 @@ std::string CHyprBorderDecoration::getDisplayName() { } bool CHyprBorderDecoration::doesntWantBorders() { - return m_window->m_windowData.noBorder.valueOrDefault() || m_window->m_X11DoesntWantBorders || m_window->getRealBorderSize() == 0; + return m_window->m_windowData.noBorder.valueOrDefault() || m_window->m_X11DoesntWantBorders || m_window->getRealBorderSize() == 0 || + !m_window->m_windowData.decorate.valueOrDefault(); }