[kwin] Fix maximized gap screw-up

master
Jacopo De Simoi 4 months ago
parent ebbcdc175c
commit 559c08d87f
  1. 49
      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 <wilderjds@protonmail.com>
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
Loading…
Cancel
Save