From 559c08d87fbddbac2b98c4b9d0f22b8da97b3278 Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Wed, 12 Nov 2025 23:06:09 -0500 Subject: [PATCH] [kwin] Fix maximized gap screw-up --- ...-erratic-margin-behavior-on-maximize.patch | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 kde-plasma/kwin/0021-Fix-erratic-margin-behavior-on-maximize.patch diff --git a/kde-plasma/kwin/0021-Fix-erratic-margin-behavior-on-maximize.patch b/kde-plasma/kwin/0021-Fix-erratic-margin-behavior-on-maximize.patch new file mode 100644 index 0000000..3065e12 --- /dev/null +++ b/kde-plasma/kwin/0021-Fix-erratic-margin-behavior-on-maximize.patch @@ -0,0 +1,49 @@ +From 4262f23654f5b130e361827a01167acb7283930c Mon Sep 17 00:00:00 2001 +From: Jacopo De Simoi +Date: Wed, 12 Nov 2025 15:05:32 -0500 +Subject: [PATCH 21/21] Fix erratic margin behavior on maximize + +Possibly this should be squashed back +--- + src/tiles/tile.cpp | 7 ++++--- + src/workspace.cpp | 1 + + 2 files changed, 5 insertions(+), 3 deletions(-) + +diff --git a/src/tiles/tile.cpp b/src/tiles/tile.cpp +index 2a3f22a4b4..b142f222e9 100644 +--- a/src/tiles/tile.cpp ++++ b/src/tiles/tile.cpp +@@ -187,14 +187,15 @@ QRectF Tile::windowGeometry() const + } else if (quickTileMode() & QuickTileFlag::Bottom) { + margins += QMarginsF(0,m_padding,0,0); + } +- return geom.intersected(workspace()->clientArea(MaximizeArea, m_tiling->output(), m_desktop)) - margins; +- ++ return geom.intersected(workspace()->clientArea(PlacementArea, m_tiling->output(), m_desktop)) - margins; + } + + QRectF Tile::maximizedWindowGeometry() const + { + const auto geom = absoluteGeometry(); +- return geom.intersected(workspace()->clientArea(MaximizeArea, m_tiling->output(), m_desktop)); ++ auto margins = QMarginsF(m_padding, m_padding, m_padding, m_padding); ++ qDebug() << geom << margins << clientArea(MaximizeArea, m_tiling->output(), m_desktop); ++ return geom.intersected(workspace()->clientArea(MaximizeArea, m_tiling->output(), m_desktop)) - margins; + } + + Qt::Edges Tile::anchors() const +diff --git a/src/workspace.cpp b/src/workspace.cpp +index e531a74585..a96a941614 100644 +--- a/src/workspace.cpp ++++ b/src/workspace.cpp +@@ -2282,6 +2282,7 @@ QRectF Workspace::clientArea(clientAreaOption opt, const Output *output, const V + + switch (opt) { + case MaximizeArea: ++ border = border + output->defaultPadding(); + case PlacementArea: { + if (auto desktopIt = m_screenAreas.constFind(desktop); desktopIt != m_screenAreas.constEnd()) { + if (auto outputIt = desktopIt->constFind(output); outputIt != desktopIt->constEnd()) { +-- +2.51.0 +