diff --git a/kde-plasma/kwin/0001-Implement-moveRelative.patch b/kde-plasma/kwin/0001-Implement-moveRelative.patch index 921391d..f7709f3 100644 --- a/kde-plasma/kwin/0001-Implement-moveRelative.patch +++ b/kde-plasma/kwin/0001-Implement-moveRelative.patch @@ -1,7 +1,7 @@ -From a933582c1dbf49e67dd14fee0a729dcb25edcd70 Mon Sep 17 00:00:00 2001 +From e3835d9d052da2bc69063fd096fb27656b78f2cc Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Wed, 18 Dec 2024 11:59:09 -0500 -Subject: [PATCH 01/21] Implement moveRelative +Subject: [PATCH 01/22] Implement moveRelative --- src/window.cpp | 5 +++++ @@ -9,10 +9,10 @@ Subject: [PATCH 01/21] Implement moveRelative 2 files changed, 10 insertions(+) diff --git a/src/window.cpp b/src/window.cpp -index c4dd92c06f..0b4623a200 100644 +index d72837efa4..61e97be7c1 100644 --- a/src/window.cpp +++ b/src/window.cpp -@@ -3387,6 +3387,11 @@ void Window::setMoveResizeGeometry(const QRectF &geo) +@@ -3405,6 +3405,11 @@ void Window::setMoveResizeGeometry(const RectF &geo) setMoveResizeOutput(workspace()->outputAt(geo.center())); } @@ -21,14 +21,14 @@ index c4dd92c06f..0b4623a200 100644 + move(m_frameGeometry.topLeft() + point); +} + - Output *Window::moveResizeOutput() const + LogicalOutput *Window::moveResizeOutput() const { return m_moveResizeOutput; diff --git a/src/window.h b/src/window.h -index 2b11fa365c..9fbda89236 100644 +index dca986b261..7134a833ab 100644 --- a/src/window.h +++ b/src/window.h -@@ -716,6 +716,11 @@ public: +@@ -757,6 +757,11 @@ public: */ void move(const QPointF &topLeft); @@ -41,5 +41,5 @@ index 2b11fa365c..9fbda89236 100644 * Resizes the window to have a new @p size but stay with the top-left corner in the same position. */ -- -2.51.2 +2.52.0 diff --git a/kde-plasma/kwin/0002-Make-output-yield-tiling-constants.patch b/kde-plasma/kwin/0002-Make-output-yield-tiling-constants.patch index 5e7efa0..3d552f8 100644 --- a/kde-plasma/kwin/0002-Make-output-yield-tiling-constants.patch +++ b/kde-plasma/kwin/0002-Make-output-yield-tiling-constants.patch @@ -1,23 +1,24 @@ -From c7dae5c52668351a9f58b6ec8a9bdb4adc7f0313 Mon Sep 17 00:00:00 2001 +From 112def7856d0af4f49bb201cfbc82d61d3c3964a Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Mon, 23 Jun 2025 09:40:54 +0200 -Subject: [PATCH 02/21] Make output yield tiling constants +Subject: [PATCH 02/22] Make output yield tiling constants in order to have pixel-perfect placement, the tile gap size and border size must depend on the output size and scaling. --- - src/core/output.cpp | 10 ++++++++++ + src/core/output.cpp | 11 +++++++++++ src/core/output.h | 8 ++++++++ - 2 files changed, 18 insertions(+) + 2 files changed, 19 insertions(+) diff --git a/src/core/output.cpp b/src/core/output.cpp -index 9d12ef0c7d..310f244b8d 100644 +index e7e0c98214..5a5b85ecf8 100644 --- a/src/core/output.cpp +++ b/src/core/output.cpp -@@ -456,6 +456,16 @@ qreal Output::scale() const - return m_state.scale; +@@ -402,6 +402,17 @@ Rect LogicalOutput::geometry() const + return Rect(m_backendOutput->position(), m_backendOutput->pixelSize() / scale()); } ++ +qreal Output::defaultPadding() const +{ + return 4. / scale(); @@ -28,16 +29,16 @@ index 9d12ef0c7d..310f244b8d 100644 + return 1. / scale(); +} + - QRect Output::geometry() const + RectF LogicalOutput::geometryF() const { - return QRect(m_state.position, pixelSize() / scale()); + return RectF(m_backendOutput->position(), QSizeF(m_backendOutput->pixelSize()) / scale()); diff --git a/src/core/output.h b/src/core/output.h -index 61b54e9df3..db42886731 100644 +index f833f063c2..c2add2e6a4 100644 --- a/src/core/output.h +++ b/src/core/output.h -@@ -258,6 +258,14 @@ public: - */ - bool isEnabled() const; +@@ -195,6 +195,14 @@ public: + QString serialNumber() const; + QString uuid() const; + /** + * Returns default-padding and cutout size of this output in device @@ -51,5 +52,5 @@ index 61b54e9df3..db42886731 100644 * Returns geometry of this output in device independent pixels. */ -- -2.51.2 +2.52.0 diff --git a/kde-plasma/kwin/0003-Adjust-screen-area-for-tiling-gaps.patch b/kde-plasma/kwin/0003-Adjust-screen-area-for-tiling-gaps.patch index e5ddde9..1a0a80b 100644 --- a/kde-plasma/kwin/0003-Adjust-screen-area-for-tiling-gaps.patch +++ b/kde-plasma/kwin/0003-Adjust-screen-area-for-tiling-gaps.patch @@ -1,19 +1,19 @@ -From 897b2611859cab050fbabdf5e34fbe2284e47f4d Mon Sep 17 00:00:00 2001 +From e85dc19e8e0432d3b1364374cc58d01de01afc6a Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Wed, 18 Dec 2024 15:11:22 -0500 -Subject: [PATCH 03/21] Adjust screen area for tiling + gaps +Subject: [PATCH 03/22] Adjust screen area for tiling + gaps --- src/workspace.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/workspace.cpp b/src/workspace.cpp -index 17ce1e9f80..37f3ece9c0 100644 +index 1940695cd5..28b7ee5713 100644 --- a/src/workspace.cpp +++ b/src/workspace.cpp -@@ -2297,22 +2297,30 @@ void Workspace::rearrange() +@@ -2473,22 +2473,30 @@ void Workspace::rearrange(const QHash &oldOutputs) */ - QRectF Workspace::clientArea(clientAreaOption opt, const Output *output, const VirtualDesktop *desktop) const + RectF Workspace::clientArea(clientAreaOption opt, const LogicalOutput *output, const VirtualDesktop *desktop) const { + qreal border = output->defaultBorder() + output->defaultPadding(); + @@ -47,5 +47,5 @@ index 17ce1e9f80..37f3ece9c0 100644 return m_geometry; default: -- -2.51.2 +2.52.0 diff --git a/kde-plasma/kwin/0004-Add-actions-for-third-quick-tiling.patch b/kde-plasma/kwin/0004-Add-actions-for-third-quick-tiling.patch index 5436788..d22fcc3 100644 --- a/kde-plasma/kwin/0004-Add-actions-for-third-quick-tiling.patch +++ b/kde-plasma/kwin/0004-Add-actions-for-third-quick-tiling.patch @@ -1,7 +1,7 @@ -From ded38319514ed324feb1f30344791dfd5ea22a1f Mon Sep 17 00:00:00 2001 +From 1870de07059cbfa88624889a2156db3c9de5ca03 Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Sun, 18 Jan 2026 22:37:59 -0500 -Subject: [PATCH 04/21] Add actions for third quick-tiling +Subject: [PATCH 04/22] Add actions for third quick-tiling --- src/effect/globals.h | 7 +++++++ @@ -11,7 +11,7 @@ Subject: [PATCH 04/21] Add actions for third quick-tiling 4 files changed, 27 insertions(+) diff --git a/src/effect/globals.h b/src/effect/globals.h -index 5114160b09..39f2da55f6 100644 +index 70e077cd69..8a3caca20b 100644 --- a/src/effect/globals.h +++ b/src/effect/globals.h @@ -183,6 +183,13 @@ enum class QuickTileFlag { @@ -29,10 +29,10 @@ index 5114160b09..39f2da55f6 100644 Q_ENUM_NS(QuickTileFlag) Q_DECLARE_FLAGS(QuickTileMode, QuickTileFlag) diff --git a/src/scripting/workspace_wrapper.cpp b/src/scripting/workspace_wrapper.cpp -index 1d26fd2a45..1a21d21289 100644 +index 9277012e01..f5f5cc3c53 100644 --- a/src/scripting/workspace_wrapper.cpp +++ b/src/scripting/workspace_wrapper.cpp -@@ -190,6 +190,11 @@ SLOTWRAPPER(slotSwitchToBelowScreen) +@@ -191,6 +191,11 @@ SLOTWRAPPER(slotSwitchToBelowScreen) } SLOTWRAPPER(slotWindowQuickTileLeft, QuickTileFlag::Left) @@ -45,7 +45,7 @@ index 1d26fd2a45..1a21d21289 100644 SLOTWRAPPER(slotWindowQuickTileTop, QuickTileFlag::Top) SLOTWRAPPER(slotWindowQuickTileBottom, QuickTileFlag::Bottom) diff --git a/src/scripting/workspace_wrapper.h b/src/scripting/workspace_wrapper.h -index ec12bc6b41..612b8f3e86 100644 +index 685f840431..448d86ea98 100644 --- a/src/scripting/workspace_wrapper.h +++ b/src/scripting/workspace_wrapper.h @@ -379,6 +379,11 @@ public Q_SLOTS: @@ -61,10 +61,10 @@ index ec12bc6b41..612b8f3e86 100644 void slotWindowQuickTileBottom(); void slotWindowQuickTileTopLeft(); diff --git a/src/useractions.cpp b/src/useractions.cpp -index 0bdbbf83d5..e49135c097 100644 +index 1c89c9705e..2d329ec087 100644 --- a/src/useractions.cpp +++ b/src/useractions.cpp -@@ -871,6 +871,16 @@ void Workspace::initShortcuts() +@@ -879,6 +879,16 @@ void Workspace::initShortcuts() Qt::META | Qt::Key_Left, std::bind(&Workspace::quickTileWindow, this, QuickTileFlag::Left), true); initShortcut("Window Quick Tile Right", i18n("Quick Tile Window to the Right"), Qt::META | Qt::Key_Right, std::bind(&Workspace::quickTileWindow, this, QuickTileFlag::Right), true); @@ -82,5 +82,5 @@ index 0bdbbf83d5..e49135c097 100644 Qt::META | Qt::Key_Up, std::bind(&Workspace::quickTileWindow, this, QuickTileFlag::Top), true); initShortcut("Window Quick Tile Bottom", i18n("Quick Tile Window to the Bottom"), -- -2.51.2 +2.52.0 diff --git a/kde-plasma/kwin/0005-Force-maximized-windows-to-cast-a-shadow.patch b/kde-plasma/kwin/0005-Force-maximized-windows-to-cast-a-shadow.patch index 455cdb9..e691977 100644 --- a/kde-plasma/kwin/0005-Force-maximized-windows-to-cast-a-shadow.patch +++ b/kde-plasma/kwin/0005-Force-maximized-windows-to-cast-a-shadow.patch @@ -1,14 +1,14 @@ -From 7a2d46abe3c388bf8fa93a42c98fa9ebb387ea91 Mon Sep 17 00:00:00 2001 +From 36d0b6b20b17be54ec37f659c0973620e618e4ab Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Sun, 5 Jan 2025 01:05:09 -0500 -Subject: [PATCH 05/21] Force maximized windows to cast a shadow +Subject: [PATCH 05/22] Force maximized windows to cast a shadow --- src/window.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/window.cpp b/src/window.cpp -index 0b4623a200..5acc277bf9 100644 +index 61e97be7c1..2502951ecb 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -289,7 +289,7 @@ SurfaceItem *Window::surfaceItem() const @@ -21,5 +21,5 @@ index 0b4623a200..5acc277bf9 100644 bool Window::isClient() const -- -2.51.2 +2.52.0 diff --git a/kde-plasma/kwin/0006-Add-Quicktiles-at-thirds.patch b/kde-plasma/kwin/0006-Add-Quicktiles-at-thirds.patch index 01d1922..25471b2 100644 --- a/kde-plasma/kwin/0006-Add-Quicktiles-at-thirds.patch +++ b/kde-plasma/kwin/0006-Add-Quicktiles-at-thirds.patch @@ -1,7 +1,7 @@ -From 6ff6ad69e759246c405649a109381c1de049b0fd Mon Sep 17 00:00:00 2001 +From a4e1ad431ad3c564114690a4d41bdbe04afdfda4 Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Wed, 1 Oct 2025 20:24:58 -0400 -Subject: [PATCH 06/21] Add Quicktiles at thirds +Subject: [PATCH 06/22] Add Quicktiles at thirds --- src/tiles/quicktile.cpp | 53 +++++++++++++++++++++++++++++++++++++++++ @@ -9,39 +9,39 @@ Subject: [PATCH 06/21] Add Quicktiles at thirds 2 files changed, 71 insertions(+) diff --git a/src/tiles/quicktile.cpp b/src/tiles/quicktile.cpp -index 8c8dc93952..507df27ed1 100644 +index 9d4e85af09..42593cb114 100644 --- a/src/tiles/quicktile.cpp +++ b/src/tiles/quicktile.cpp @@ -38,6 +38,13 @@ QuickRootTile::QuickRootTile(TileManager *tiling, VirtualDesktop *desktop) - m_leftVerticalTile = createTile(QRectF(0, 0, 0.5, 1), QuickTileFlag::Left); - m_rightVerticalTile = createTile(QRectF(0.5, 0, 0.5, 1), QuickTileFlag::Right); + m_leftVerticalTile = createTile(RectF(0, 0, 0.5, 1), QuickTileFlag::Left); + m_rightVerticalTile = createTile(RectF(0.5, 0, 0.5, 1), QuickTileFlag::Right); + -+ m_third1VerticalTile = createTile(QRectF(0, 0, 1. / 3., 1), QuickTileFlag::Third1); -+ m_third12VerticalTile = createTile(QRectF(0, 0, 2. / 3., 1), QuickTileFlag::Third1 | QuickTileFlag::Third2); -+ m_third2VerticalTile = createTile(QRectF(1. / 3., 0, 1. / 3., 1), QuickTileFlag::Third2); -+ m_third23VerticalTile = createTile(QRectF(1. / 3., 0, 2. / 3., 1), QuickTileFlag::Third2 | QuickTileFlag::Third3); -+ m_third3VerticalTile = createTile(QRectF(2. / 3., 0, 1. / 3., 1), QuickTileFlag::Third3); ++ m_third1VerticalTile = createTile(RectF(0, 0, 1. / 3., 1), QuickTileFlag::Third1); ++ m_third12VerticalTile = createTile(RectF(0, 0, 2. / 3., 1), QuickTileFlag::Third1 | QuickTileFlag::Third2); ++ m_third2VerticalTile = createTile(RectF(1. / 3., 0, 1. / 3., 1), QuickTileFlag::Third2); ++ m_third23VerticalTile = createTile(RectF(1. / 3., 0, 2. / 3., 1), QuickTileFlag::Third2 | QuickTileFlag::Third3); ++ m_third3VerticalTile = createTile(RectF(2. / 3., 0, 1. / 3., 1), QuickTileFlag::Third3); + - m_topHorizontalTile = createTile(QRectF(0, 0, 1, 0.5), QuickTileFlag::Top); - m_bottomHorizontalTile = createTile(QRectF(0, 0.5, 1, 0.5), QuickTileFlag::Bottom); + m_topHorizontalTile = createTile(RectF(0, 0, 1, 0.5), QuickTileFlag::Top); + m_bottomHorizontalTile = createTile(RectF(0, 0.5, 1, 0.5), QuickTileFlag::Bottom); @@ -45,6 +52,18 @@ QuickRootTile::QuickRootTile(TileManager *tiling, VirtualDesktop *desktop) - m_topRightTile = createTile(QRectF(0.5, 0, 0.5, 0.5), QuickTileFlag::Top | QuickTileFlag::Right); - m_bottomLeftTile = createTile(QRectF(0, 0.5, 0.5, 0.5), QuickTileFlag::Bottom | QuickTileFlag::Left); - m_bottomRightTile = createTile(QRectF(0.5, 0.5, 0.5, 0.5), QuickTileFlag::Bottom | QuickTileFlag::Right); + m_topRightTile = createTile(RectF(0.5, 0, 0.5, 0.5), QuickTileFlag::Top | QuickTileFlag::Right); + m_bottomLeftTile = createTile(RectF(0, 0.5, 0.5, 0.5), QuickTileFlag::Bottom | QuickTileFlag::Left); + m_bottomRightTile = createTile(RectF(0.5, 0.5, 0.5, 0.5), QuickTileFlag::Bottom | QuickTileFlag::Right); + -+ m_topThird1Tile = createTile(QRectF(0, 0, 1. / 3., 0.5), QuickTileFlag::Top | QuickTileFlag::Third1); -+ m_topThird12Tile = createTile(QRectF(0, 0, 2. / 3., 0.5), QuickTileFlag::Top | QuickTileFlag::Third1 | QuickTileFlag::Third2); -+ m_topThird2Tile = createTile(QRectF(1. / 3., 0, 1. / 3., 0.5), QuickTileFlag::Top | QuickTileFlag::Third2); -+ m_topThird23Tile = createTile(QRectF(1. / 3., 0, 2. / 3., 0.5), QuickTileFlag::Top | QuickTileFlag::Third2 | QuickTileFlag::Third3); -+ m_topThird3Tile = createTile(QRectF(2. / 3., 0, 1. / 3., 0.5), QuickTileFlag::Top | QuickTileFlag::Third3); ++ m_topThird1Tile = createTile(RectF(0, 0, 1. / 3., 0.5), QuickTileFlag::Top | QuickTileFlag::Third1); ++ m_topThird12Tile = createTile(RectF(0, 0, 2. / 3., 0.5), QuickTileFlag::Top | QuickTileFlag::Third1 | QuickTileFlag::Third2); ++ m_topThird2Tile = createTile(RectF(1. / 3., 0, 1. / 3., 0.5), QuickTileFlag::Top | QuickTileFlag::Third2); ++ m_topThird23Tile = createTile(RectF(1. / 3., 0, 2. / 3., 0.5), QuickTileFlag::Top | QuickTileFlag::Third2 | QuickTileFlag::Third3); ++ m_topThird3Tile = createTile(RectF(2. / 3., 0, 1. / 3., 0.5), QuickTileFlag::Top | QuickTileFlag::Third3); + -+ m_bottomThird1Tile = createTile(QRectF(0, 0.5, 1. / 3., 0.5), QuickTileFlag::Bottom | QuickTileFlag::Third1); -+ m_bottomThird12Tile = createTile(QRectF(0, 0.5, 2. / 3., 0.5), QuickTileFlag::Bottom | QuickTileFlag::Third1 | QuickTileFlag::Third2); -+ m_bottomThird2Tile = createTile(QRectF(1. / 3., 0.5, 1. / 3., 0.5), QuickTileFlag::Bottom | QuickTileFlag::Third2); -+ m_bottomThird23Tile = createTile(QRectF(1. / 3., 0.5, 2. / 3., 0.5), QuickTileFlag::Bottom | QuickTileFlag::Third2 | QuickTileFlag::Third3); -+ m_bottomThird3Tile = createTile(QRectF(2. / 3., 0.5, 1. / 3., 0.5), QuickTileFlag::Bottom | QuickTileFlag::Third3); ++ m_bottomThird1Tile = createTile(RectF(0, 0.5, 1. / 3., 0.5), QuickTileFlag::Bottom | QuickTileFlag::Third1); ++ m_bottomThird12Tile = createTile(RectF(0, 0.5, 2. / 3., 0.5), QuickTileFlag::Bottom | QuickTileFlag::Third1 | QuickTileFlag::Third2); ++ m_bottomThird2Tile = createTile(RectF(1. / 3., 0.5, 1. / 3., 0.5), QuickTileFlag::Bottom | QuickTileFlag::Third2); ++ m_bottomThird23Tile = createTile(RectF(1. / 3., 0.5, 2. / 3., 0.5), QuickTileFlag::Bottom | QuickTileFlag::Third2 | QuickTileFlag::Third3); ++ m_bottomThird3Tile = createTile(RectF(2. / 3., 0.5, 1. / 3., 0.5), QuickTileFlag::Bottom | QuickTileFlag::Third3); } QuickRootTile::~QuickRootTile() @@ -130,5 +130,5 @@ index 6abb622740..4a75874f6d 100644 } // namespace KWin -- -2.51.2 +2.52.0 diff --git a/kde-plasma/kwin/0007-Add-padding-to-qulcktiles.patch b/kde-plasma/kwin/0007-Add-padding-to-qulcktiles.patch index 80d6b5f..44ca2ca 100644 --- a/kde-plasma/kwin/0007-Add-padding-to-qulcktiles.patch +++ b/kde-plasma/kwin/0007-Add-padding-to-qulcktiles.patch @@ -1,14 +1,14 @@ -From d79e0cbcb46dbe048f42f061ba92ea05be3eb03c Mon Sep 17 00:00:00 2001 +From 085a91b2f37579612856533229347248e5ad7820 Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Wed, 1 Mar 2023 12:36:23 -0500 -Subject: [PATCH 07/21] Add padding to qulcktiles +Subject: [PATCH 07/22] Add padding to qulcktiles --- src/tiles/quicktile.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/tiles/quicktile.cpp b/src/tiles/quicktile.cpp -index 507df27ed1..c5c255e648 100644 +index 42593cb114..449bee016a 100644 --- a/src/tiles/quicktile.cpp +++ b/src/tiles/quicktile.cpp @@ -10,6 +10,7 @@ @@ -21,7 +21,7 @@ index 507df27ed1..c5c255e648 100644 { @@ -25,7 +26,7 @@ QuickRootTile::QuickRootTile(TileManager *tiling, VirtualDesktop *desktop) - auto createTile = [this](const QRectF &geometry, QuickTileMode tileMode) { + auto createTile = [this](const RectF &geometry, QuickTileMode tileMode) { Tile *tile = createChildAt(geometry, childCount()); - tile->setPadding(0.0); + tile->setPadding(m_tiling->output()->defaultPadding()); @@ -29,5 +29,5 @@ index 507df27ed1..c5c255e648 100644 connect(tile, &Tile::relativeGeometryChanged, this, [this, tile]() { -- -2.51.2 +2.52.0 diff --git a/kde-plasma/kwin/0008-Use-geometry-relative-to-the-cutout.patch b/kde-plasma/kwin/0008-Use-geometry-relative-to-the-cutout.patch index 6ef53ef..42dbff5 100644 --- a/kde-plasma/kwin/0008-Use-geometry-relative-to-the-cutout.patch +++ b/kde-plasma/kwin/0008-Use-geometry-relative-to-the-cutout.patch @@ -1,46 +1,46 @@ -From 00309fc3d23fa111d3edf91b9732dffa6cab67c1 Mon Sep 17 00:00:00 2001 +From 914aa331e609bf074ed24fe4206635e14bab386e Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Tue, 24 Jun 2025 13:19:24 +0200 -Subject: [PATCH 08/21] Use geometry relative to the cutout +Subject: [PATCH 08/22] Use geometry relative to the cutout --- src/tiles/tile.cpp | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/tiles/tile.cpp b/src/tiles/tile.cpp -index ff6441f7f2..2e474479bd 100644 +index a94e2005ce..7c1918f633 100644 --- a/src/tiles/tile.cpp +++ b/src/tiles/tile.cpp -@@ -152,20 +152,19 @@ QRectF Tile::relativeGeometry() const +@@ -152,20 +152,19 @@ RectF Tile::relativeGeometry() const - QRectF Tile::absoluteGeometry() const + RectF Tile::absoluteGeometry() const { -- const QRectF geom = m_tiling->output()->geometryF(); -- return QRectF(std::round(geom.x() + m_relativeGeometry.x() * geom.width()), -- std::round(geom.y() + m_relativeGeometry.y() * geom.height()), -- std::round(m_relativeGeometry.width() * geom.width()), -- std::round(m_relativeGeometry.height() * geom.height())); +- const RectF geom = m_tiling->output()->geometryF(); +- return RectF(std::round(geom.x() + m_relativeGeometry.x() * geom.width()), +- std::round(geom.y() + m_relativeGeometry.y() * geom.height()), +- std::round(m_relativeGeometry.width() * geom.width()), +- std::round(m_relativeGeometry.height() * geom.height())); -} + qreal cutoutSize = m_tiling->output()->defaultPadding() + m_tiling->output()->defaultBorder(); + const QMarginsF cutout = QMarginsF(cutoutSize, cutoutSize, cutoutSize, cutoutSize); -+ const QRectF geom = m_tiling->output()->geometryF() - cutout; -+ return QRectF(geom.x() + m_relativeGeometry.x() * geom.width(), -+ geom.y() + m_relativeGeometry.y() * geom.height(), -+ m_relativeGeometry.width() * geom.width(), -+ m_relativeGeometry.height() * geom.height()); ++ const RectF geom = m_tiling->output()->geometryF() - cutout; ++ return RectF(geom.x() + m_relativeGeometry.x() * geom.width(), ++ geom.y() + m_relativeGeometry.y() * geom.height(), ++ m_relativeGeometry.width() * geom.width(), ++ m_relativeGeometry.height() * geom.height()); +} // the code in master is rounding, but why??? - QRectF Tile::absoluteGeometryInScreen() const + RectF Tile::absoluteGeometryInScreen() const { - const QRectF geom = m_tiling->output()->geometryF(); -- return QRectF(std::round(m_relativeGeometry.x() * geom.width()), -- std::round(m_relativeGeometry.y() * geom.height()), -- std::round(m_relativeGeometry.width() * geom.width()), -- std::round(m_relativeGeometry.height() * geom.height())); + const RectF geom = m_tiling->output()->geometryF(); +- return RectF(std::round(m_relativeGeometry.x() * geom.width()), +- std::round(m_relativeGeometry.y() * geom.height()), +- std::round(m_relativeGeometry.width() * geom.width()), +- std::round(m_relativeGeometry.height() * geom.height())); + return absoluteGeometry().translated(-geom.topLeft()); } - QRectF Tile::windowGeometry() const + RectF Tile::windowGeometry() const -- -2.51.2 +2.52.0 diff --git a/kde-plasma/kwin/0009-Make-vertical-gap-twice-as-big-between-windows.patch b/kde-plasma/kwin/0009-Make-vertical-gap-twice-as-big-between-windows.patch index e7cc26b..1588a80 100644 --- a/kde-plasma/kwin/0009-Make-vertical-gap-twice-as-big-between-windows.patch +++ b/kde-plasma/kwin/0009-Make-vertical-gap-twice-as-big-between-windows.patch @@ -1,17 +1,17 @@ -From 5f63c176bad8c1ea99b07a360e76415eed477f7e Mon Sep 17 00:00:00 2001 +From 8a779a1a28d048eac843c245759fd8036cd4f6c5 Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Tue, 20 Jun 2023 18:11:43 -0400 -Subject: [PATCH 09/21] Make vertical gap twice as big between windows +Subject: [PATCH 09/22] Make vertical gap twice as big between windows --- src/tiles/tile.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/tiles/tile.cpp b/src/tiles/tile.cpp -index 2e474479bd..3aa32f6555 100644 +index 7c1918f633..fbb0dbc4c9 100644 --- a/src/tiles/tile.cpp +++ b/src/tiles/tile.cpp -@@ -177,7 +177,17 @@ QRectF Tile::windowGeometry() const +@@ -177,7 +177,17 @@ RectF Tile::windowGeometry() const effectiveMargins.setBottom(m_relativeGeometry.bottom() < 1.0 ? m_padding / 2.0 : m_padding); const auto geom = absoluteGeometry(); @@ -29,7 +29,7 @@ index 2e474479bd..3aa32f6555 100644 + } - QRectF Tile::maximizedWindowGeometry() const + RectF Tile::maximizedWindowGeometry() const -- -2.51.2 +2.52.0 diff --git a/kde-plasma/kwin/0010-Implement-core-panning-methods.patch b/kde-plasma/kwin/0010-Implement-core-panning-methods.patch index d6efc4a..a8fcc26 100644 --- a/kde-plasma/kwin/0010-Implement-core-panning-methods.patch +++ b/kde-plasma/kwin/0010-Implement-core-panning-methods.patch @@ -1,7 +1,7 @@ -From 1b0db2a7d0600ac1f1b33437fd43934133477b0e Mon Sep 17 00:00:00 2001 +From d0bccdb7ee9c75461e8453d13d67eb738bba51ce Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Mon, 19 Jan 2026 10:22:58 -0500 -Subject: [PATCH 10/21] Implement core panning methods +Subject: [PATCH 10/22] Implement core panning methods --- src/effect/effecthandler.cpp | 1 + @@ -12,10 +12,10 @@ Subject: [PATCH 10/21] Implement core panning methods 5 files changed, 92 insertions(+) diff --git a/src/effect/effecthandler.cpp b/src/effect/effecthandler.cpp -index f592a27cde..41f27d9793 100644 +index 6f6142a820..04dd5bc374 100644 --- a/src/effect/effecthandler.cpp +++ b/src/effect/effecthandler.cpp -@@ -785,6 +785,7 @@ void EffectsHandler::activateWindow(EffectWindow *effectWindow) +@@ -780,6 +780,7 @@ void EffectsHandler::activateWindow(EffectWindow *effectWindow) auto window = effectWindow->window(); if (window->isClient()) { Workspace::self()->activateWindow(window, true); @@ -24,7 +24,7 @@ index f592a27cde..41f27d9793 100644 } diff --git a/src/placement.cpp b/src/placement.cpp -index eeae4fc93b..820a9c9a59 100644 +index 5074285437..3487d9effd 100644 --- a/src/placement.cpp +++ b/src/placement.cpp @@ -11,6 +11,8 @@ @@ -36,7 +36,7 @@ index eeae4fc93b..820a9c9a59 100644 #include "cursor.h" #include "options.h" #include "rules.h" -@@ -772,6 +774,79 @@ void Window::shrinkVertical() +@@ -771,6 +773,79 @@ void Window::shrinkVertical() } } @@ -117,10 +117,10 @@ index eeae4fc93b..820a9c9a59 100644 { if (!m_activeWindow) { diff --git a/src/useractions.cpp b/src/useractions.cpp -index e49135c097..1de2f6a64e 100644 +index 2d329ec087..fd19a8c575 100644 --- a/src/useractions.cpp +++ b/src/useractions.cpp -@@ -881,6 +881,14 @@ void Workspace::initShortcuts() +@@ -889,6 +889,14 @@ void Workspace::initShortcuts() 0, std::bind(&Workspace::quickTileWindow, this, QuickTileFlag::Third2), true); initShortcut("Window Quick Tile Right Third", i18n("Quick Tile Window to the Right Third"), 0, std::bind(&Workspace::quickTileWindow, this, QuickTileFlag::Third3), true); @@ -136,10 +136,10 @@ index e49135c097..1de2f6a64e 100644 Qt::META | Qt::Key_Up, std::bind(&Workspace::quickTileWindow, this, QuickTileFlag::Top), true); initShortcut("Window Quick Tile Bottom", i18n("Quick Tile Window to the Bottom"), diff --git a/src/workspace.cpp b/src/workspace.cpp -index 37f3ece9c0..28a6a33265 100644 +index 28b7ee5713..f2d16845f4 100644 --- a/src/workspace.cpp +++ b/src/workspace.cpp -@@ -179,6 +179,7 @@ void Workspace::init() +@@ -196,6 +196,7 @@ void Workspace::init() connect(options, &Options::configChanged, m_screenEdges.get(), &ScreenEdges::reconfigure); connect(VirtualDesktopManager::self(), &VirtualDesktopManager::layoutChanged, m_screenEdges.get(), &ScreenEdges::updateLayout); connect(this, &Workspace::windowActivated, m_screenEdges.get(), &ScreenEdges::checkBlocking); @@ -148,10 +148,10 @@ index 37f3ece9c0..28a6a33265 100644 connect(this, &Workspace::windowRemoved, m_focusChain.get(), &FocusChain::remove); connect(this, &Workspace::windowActivated, m_focusChain.get(), &FocusChain::setActiveWindow); diff --git a/src/workspace.h b/src/workspace.h -index 3cb421b1a6..fdbfd21c10 100644 +index 2cb9f36d3c..279d29d68b 100644 --- a/src/workspace.h +++ b/src/workspace.h -@@ -485,6 +485,13 @@ public Q_SLOTS: +@@ -492,6 +492,13 @@ public Q_SLOTS: void slotWindowShrinkHorizontal(); void slotWindowShrinkVertical(); @@ -166,5 +166,5 @@ index 3cb421b1a6..fdbfd21c10 100644 void slotLowerWindowOpacity(); -- -2.51.2 +2.52.0 diff --git a/kde-plasma/kwin/0011-Remove-the-logic-for-tiles-on-different-screens.patch b/kde-plasma/kwin/0011-Remove-the-logic-for-tiles-on-different-screens.patch index 3b2bc2a..6e51be6 100644 --- a/kde-plasma/kwin/0011-Remove-the-logic-for-tiles-on-different-screens.patch +++ b/kde-plasma/kwin/0011-Remove-the-logic-for-tiles-on-different-screens.patch @@ -1,17 +1,17 @@ -From 7e2db80dfdff2e193cb90ddc893870e1fe62bd43 Mon Sep 17 00:00:00 2001 +From 27118a6e68442f24274d469ddf85df56c25fca3c Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Thu, 5 Jun 2025 22:23:24 -0400 -Subject: [PATCH 11/21] Remove the logic for tiles on different screens +Subject: [PATCH 11/22] Remove the logic for tiles on different screens --- src/window.cpp | 38 +------------------------------------- 1 file changed, 1 insertion(+), 37 deletions(-) diff --git a/src/window.cpp b/src/window.cpp -index 5acc277bf9..32376e6992 100644 +index 2502951ecb..5cb1c9aed3 100644 --- a/src/window.cpp +++ b/src/window.cpp -@@ -3615,7 +3615,7 @@ void Window::handleQuickTileShortcut(QuickTileMode mode) +@@ -3633,7 +3633,7 @@ void Window::handleQuickTileShortcut(QuickTileMode mode) } else { // If the window is asked to be tiled in a screen corner, don't combine the new mode with the old one. QuickTileMode combined; @@ -20,7 +20,7 @@ index 5acc277bf9..32376e6992 100644 case QuickTileMode(QuickTileFlag::Left): case QuickTileMode(QuickTileFlag::Top): case QuickTileMode(QuickTileFlag::Right): -@@ -3625,42 +3625,6 @@ void Window::handleQuickTileShortcut(QuickTileMode mode) +@@ -3643,42 +3643,6 @@ void Window::handleQuickTileShortcut(QuickTileMode mode) default: combined = mode; } @@ -28,9 +28,9 @@ index 5acc277bf9..32376e6992 100644 - // If trying to tile to the side that the window is already tiled to move the window to the next - // screen near the tile if it exists and swap the tile side, otherwise toggle the mode (set QuickTileFlag::None) - if (combined == oldMode) { -- Output *currentOutput = moveResizeOutput(); -- Output *nextOutput = currentOutput; -- Output *candidateOutput = currentOutput; +- LogicalOutput *currentOutput = moveResizeOutput(); +- LogicalOutput *nextOutput = currentOutput; +- LogicalOutput *candidateOutput = currentOutput; - if ((mode & QuickTileFlag::Horizontal) == QuickTileMode(QuickTileFlag::Left)) { - candidateOutput = workspace()->findOutput(nextOutput, Workspace::DirectionWest); - } else if ((mode & QuickTileFlag::Horizontal) == QuickTileMode(QuickTileFlag::Right)) { @@ -64,5 +64,5 @@ index 5acc277bf9..32376e6992 100644 } } -- -2.51.2 +2.52.0 diff --git a/kde-plasma/kwin/0012-Implement-Incremental-wide-placement.patch b/kde-plasma/kwin/0012-Implement-Incremental-wide-placement.patch index c438d3e..cd93d71 100644 --- a/kde-plasma/kwin/0012-Implement-Incremental-wide-placement.patch +++ b/kde-plasma/kwin/0012-Implement-Incremental-wide-placement.patch @@ -1,7 +1,7 @@ -From b6c21222ff8eec9c3463b6f3c3619551d144c51a Mon Sep 17 00:00:00 2001 +From 26a42fb9bb4709bc34f8eee59bb049cec3307931 Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Sun, 28 Oct 2018 02:26:37 -0400 -Subject: [PATCH 12/21] Implement Incremental wide-placement +Subject: [PATCH 12/22] Implement Incremental wide-placement [hyper-wide] Fix placement with fractional scaling @@ -11,7 +11,7 @@ Subject: [PATCH 12/21] Implement Incremental wide-placement 1 file changed, 112 insertions(+), 37 deletions(-) diff --git a/src/placement.cpp b/src/placement.cpp -index 820a9c9a59..f66ac8eb28 100644 +index 3487d9effd..85e80de86c 100644 --- a/src/placement.cpp +++ b/src/placement.cpp @@ -163,13 +163,24 @@ std::optional Placement::placeSmart(const Window *window, cons @@ -284,7 +284,7 @@ index 820a9c9a59..f66ac8eb28 100644 + return QPointF(x_optimal / scale, y_optimal / scale); } - QPointF Workspace::cascadeOffset(const QRectF &area) const + QPointF Workspace::cascadeOffset(const RectF &area) const -- -2.51.2 +2.52.0 diff --git a/kde-plasma/kwin/0013-Remove-wrap-around-when-switching-focus-horizontally.patch b/kde-plasma/kwin/0013-Remove-wrap-around-when-switching-focus-horizontally.patch index 91773ac..47a96cc 100644 --- a/kde-plasma/kwin/0013-Remove-wrap-around-when-switching-focus-horizontally.patch +++ b/kde-plasma/kwin/0013-Remove-wrap-around-when-switching-focus-horizontally.patch @@ -1,7 +1,7 @@ -From 3090f4850c54787af4eeb4698097a05f8dcbbac9 Mon Sep 17 00:00:00 2001 +From 1fc7791edbb8322446390d5aab98f57b3c876178 Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Fri, 5 Apr 2019 22:23:10 -0400 -Subject: [PATCH 13/21] Remove wrap-around when switching focus horizontally +Subject: [PATCH 13/22] Remove wrap-around when switching focus horizontally Now, this is not a necessity, but more often than not I do not want to wrap around, especially if the desktop is stretched very wide @@ -10,10 +10,10 @@ wrap around, especially if the desktop is stretched very wide 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/src/useractions.cpp b/src/useractions.cpp -index 1de2f6a64e..008a40fa4a 100644 +index fd19a8c575..18ccf3859b 100644 --- a/src/useractions.cpp +++ b/src/useractions.cpp -@@ -1523,24 +1523,7 @@ void Workspace::switchWindow(Direction direction) +@@ -1542,24 +1542,7 @@ void Workspace::switchWindow(Direction direction) // Center of the active window QPoint curPos(window->x() + window->width() / 2, window->y() + window->height() / 2); @@ -40,5 +40,5 @@ index 1de2f6a64e..008a40fa4a 100644 bool Workspace::switchWindow(Window *window, Direction direction, QPoint curPos, VirtualDesktop *desktop) -- -2.51.2 +2.52.0 diff --git a/kde-plasma/kwin/0014-Allow-windows-outside-left-right-screen-boundary.patch b/kde-plasma/kwin/0014-Allow-windows-outside-left-right-screen-boundary.patch index 285399e..0b9abb0 100644 --- a/kde-plasma/kwin/0014-Allow-windows-outside-left-right-screen-boundary.patch +++ b/kde-plasma/kwin/0014-Allow-windows-outside-left-right-screen-boundary.patch @@ -1,19 +1,19 @@ -From 1787eed3893db456ca31f20d545c162cc278d57a Mon Sep 17 00:00:00 2001 +From aa5456cd0e4eb92dbb9293874e9a15f39045dfe9 Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Fri, 24 May 2019 09:33:47 +0200 -Subject: [PATCH 14/21] Allow windows outside left|right screen boundary +Subject: [PATCH 14/22] Allow windows outside left|right screen boundary --- src/window.cpp | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/window.cpp b/src/window.cpp -index 32376e6992..1efe2b96f8 100644 +index 5cb1c9aed3..e96bb3ae93 100644 --- a/src/window.cpp +++ b/src/window.cpp -@@ -4118,11 +4118,6 @@ void Window::checkWorkspacePosition(QRectF oldGeometry, const VirtualDesktop *ol +@@ -4139,11 +4139,6 @@ void Window::checkWorkspacePosition(RectF oldGeometry, const VirtualDesktop *old - void Window::checkOffscreenPosition(QRectF *geom, const QRectF &screenArea) + void Window::checkOffscreenPosition(RectF *geom, const RectF &screenArea) { - if (geom->left() > screenArea.right()) { - geom->moveLeft(screenArea.right() - screenArea.width() / 4); @@ -24,5 +24,5 @@ index 32376e6992..1efe2b96f8 100644 geom->moveTop(screenArea.bottom() - screenArea.height() / 4); } else if (geom->bottom() < screenArea.top()) { -- -2.51.2 +2.52.0 diff --git a/kde-plasma/kwin/0015-Adjust-output-detection-for-hyper-wide.patch b/kde-plasma/kwin/0015-Adjust-output-detection-for-hyper-wide.patch index c58d12d..a2be509 100644 --- a/kde-plasma/kwin/0015-Adjust-output-detection-for-hyper-wide.patch +++ b/kde-plasma/kwin/0015-Adjust-output-detection-for-hyper-wide.patch @@ -1,7 +1,7 @@ -From 6c337033dabd85f920569295e0cb3d1dc707778b Mon Sep 17 00:00:00 2001 +From cdc24e54418d9b0c4a453ab1585190a4957b47f4 Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Sun, 30 Apr 2023 23:09:34 -0400 -Subject: [PATCH 15/21] Adjust output detection for hyper-wide +Subject: [PATCH 15/22] Adjust output detection for hyper-wide --- src/window.cpp | 3 ++- @@ -9,12 +9,12 @@ Subject: [PATCH 15/21] Adjust output detection for hyper-wide 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/window.cpp b/src/window.cpp -index 1efe2b96f8..74d55ee7aa 100644 +index e96bb3ae93..9e91d0aeab 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -246,7 +246,8 @@ bool Window::isOnActiveOutput() const - bool Window::isOnOutput(Output *output) const + bool Window::isOnOutput(LogicalOutput *output) const { - return output->geometry().intersects(frameGeometry().toRect()); + return (output->geometry().bottom() >= frameGeometry().top() && @@ -23,13 +23,13 @@ index 1efe2b96f8..74d55ee7aa 100644 Shadow *Window::shadow() const diff --git a/src/workspace.cpp b/src/workspace.cpp -index 28a6a33265..bf799837d4 100644 +index f2d16845f4..0aefd11c2b 100644 --- a/src/workspace.cpp +++ b/src/workspace.cpp -@@ -1064,7 +1064,9 @@ Output *Workspace::outputAt(const QPointF &pos) const +@@ -1195,7 +1195,9 @@ LogicalOutput *Workspace::outputAt(const QPointF &pos) const - for (Output *output : std::as_const(m_outputs)) { - const QRectF geo = output->geometry(); + for (LogicalOutput *output : std::as_const(m_outputs)) { + const RectF geo = output->geometry(); - + if ((geo.bottom() >= pos.y()) && (geo.top() <= pos.y())) { + return output; @@ -38,5 +38,5 @@ index 28a6a33265..bf799837d4 100644 std::clamp(pos.y(), geo.y(), geo.y() + geo.height() - 1)); -- -2.51.2 +2.52.0 diff --git a/kde-plasma/kwin/0016-Introduce-the-Pan-helper-effect.patch b/kde-plasma/kwin/0016-Introduce-the-Pan-helper-effect.patch index 2cc073c..6d17315 100644 --- a/kde-plasma/kwin/0016-Introduce-the-Pan-helper-effect.patch +++ b/kde-plasma/kwin/0016-Introduce-the-Pan-helper-effect.patch @@ -1,7 +1,7 @@ -From 03b7611d682f50df3eda816943574b5b304a0d19 Mon Sep 17 00:00:00 2001 +From ae653f9187a83e3988ac2bef47a72723d9296dc3 Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Thu, 17 Jun 2021 23:00:47 -0400 -Subject: [PATCH 16/21] Introduce the Pan helper effect +Subject: [PATCH 16/22] Introduce the Pan helper effect Fix installation of panhelper effect @@ -17,7 +17,7 @@ Fix panhelper effect create mode 100644 src/plugins/panhelper/package/metadata.json diff --git a/src/plugins/CMakeLists.txt b/src/plugins/CMakeLists.txt -index fdaa939458..9c93580c28 100644 +index aa0ae241ee..884d1624bb 100644 --- a/src/plugins/CMakeLists.txt +++ b/src/plugins/CMakeLists.txt @@ -83,6 +83,7 @@ add_subdirectory(mousemark) @@ -192,5 +192,5 @@ index 0000000000..14f7d37882 + "X-Plasma-API": "javascript" +} -- -2.51.2 +2.52.0 diff --git a/kde-plasma/kwin/0017-Remove-boundary-checking-in-the-position-effect.patch b/kde-plasma/kwin/0017-Remove-boundary-checking-in-the-position-effect.patch index cde7bef..45319d8 100644 --- a/kde-plasma/kwin/0017-Remove-boundary-checking-in-the-position-effect.patch +++ b/kde-plasma/kwin/0017-Remove-boundary-checking-in-the-position-effect.patch @@ -1,7 +1,7 @@ -From e69a930fb4b1076db5db12c6baa0c6bc4979b7aa Mon Sep 17 00:00:00 2001 +From 569646ab1c72510070eaecf50b907fa80018159d Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Sat, 22 Oct 2022 22:03:42 -0400 -Subject: [PATCH 17/21] Remove boundary checking in the position effect +Subject: [PATCH 17/22] Remove boundary checking in the position effect In order for the pan-helper effect to work, we need to drop the boundary checking in the position effect. @@ -13,10 +13,10 @@ might not like the fact that windows have negative coordinates. 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/src/effect/animationeffect.cpp b/src/effect/animationeffect.cpp -index eac1c038d9..100778add5 100644 +index f01aac8a74..1d3f1be784 100644 --- a/src/effect/animationeffect.cpp +++ b/src/effect/animationeffect.cpp -@@ -570,18 +570,14 @@ void AnimationEffect::paintWindow(const RenderTarget &renderTarget, const Render +@@ -572,18 +572,14 @@ void AnimationEffect::paintWindow(const RenderTarget &renderTarget, const Render case Position: { const QRectF geo = w->frameGeometry(); const float prgrs = progress(anim); @@ -41,7 +41,7 @@ index eac1c038d9..100778add5 100644 break; } case Rotation: { -@@ -858,14 +854,11 @@ void AnimationEffect::updateLayerRepaints() +@@ -860,14 +856,11 @@ void AnimationEffect::updateLayerRepaints() y[0] = anim.from[1]; y[1] = anim.to[1]; } else { @@ -62,5 +62,5 @@ index eac1c038d9..100778add5 100644 r = window->expandedGeometry().toRect(); rects.push_back(r.translated(x[0], y[0])); -- -2.51.2 +2.52.0 diff --git a/kde-plasma/kwin/0018-Add-paint_screen-flag-to-prevent-artifacts.patch b/kde-plasma/kwin/0018-Add-paint_screen-flag-to-prevent-artifacts.patch index bbbd05d..ba54ee1 100644 --- a/kde-plasma/kwin/0018-Add-paint_screen-flag-to-prevent-artifacts.patch +++ b/kde-plasma/kwin/0018-Add-paint_screen-flag-to-prevent-artifacts.patch @@ -1,7 +1,7 @@ -From 3f3b8185db5d0fd5a16b99b543157b0a30d5432d Mon Sep 17 00:00:00 2001 +From 02feb7c0ddde773ad321c38c99c1ad80ac1f5571 Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Mon, 28 Jun 2021 23:40:39 -0400 -Subject: [PATCH 18/21] Add paint_screen flag to prevent artifacts +Subject: [PATCH 18/22] Add paint_screen flag to prevent artifacts As far as I understand I am abusing the Position effect; there are some assumption in the original implementation that do not work with @@ -12,10 +12,10 @@ duration of the effect. 1 file changed, 6 insertions(+) diff --git a/src/effect/animationeffect.cpp b/src/effect/animationeffect.cpp -index 100778add5..bbb821ebfc 100644 +index 1d3f1be784..fcb83eb0cb 100644 --- a/src/effect/animationeffect.cpp +++ b/src/effect/animationeffect.cpp -@@ -475,6 +475,10 @@ void AnimationEffect::prePaintWindow(EffectWindow *w, WindowPrePaintData &data, +@@ -476,6 +476,10 @@ void AnimationEffect::prePaintWindow(RenderView *view, EffectWindow *w, WindowPr continue; } @@ -26,7 +26,7 @@ index 100778add5..bbb821ebfc 100644 if (anim.frozenTime < 0) { anim.timeLine.advance(presentTime); } -@@ -578,6 +582,8 @@ void AnimationEffect::paintWindow(const RenderTarget &renderTarget, const Render +@@ -580,6 +584,8 @@ void AnimationEffect::paintWindow(const RenderTarget &renderTarget, const Render const qreal y[2] = {yCoord(geo, metaData(SourceAnchor, anim.meta)), yCoord(geo, metaData(TargetAnchor, anim.meta))}; data.translate(0.0, dest - (y[0] + prgrs * (y[1] - y[0]))); @@ -36,5 +36,5 @@ index 100778add5..bbb821ebfc 100644 } case Rotation: { -- -2.51.2 +2.52.0 diff --git a/kde-plasma/kwin/0019-Allow-loading-the-keymap-from-a-file.patch b/kde-plasma/kwin/0019-Allow-loading-the-keymap-from-a-file.patch index 428120d..ffdc869 100644 --- a/kde-plasma/kwin/0019-Allow-loading-the-keymap-from-a-file.patch +++ b/kde-plasma/kwin/0019-Allow-loading-the-keymap-from-a-file.patch @@ -1,7 +1,7 @@ -From fb07a269bbb7a0ffcfee88e0052be512c13e4f9f Mon Sep 17 00:00:00 2001 +From 28d27e5d574942c13a75ff5434c42c5223383054 Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Tue, 12 Nov 2024 22:41:42 -0500 -Subject: [PATCH 19/21] Allow loading the keymap from a file +Subject: [PATCH 19/22] Allow loading the keymap from a file Make this right --- @@ -9,7 +9,7 @@ Make this right 1 file changed, 9 insertions(+) diff --git a/src/xkb.cpp b/src/xkb.cpp -index 0e26b4e307..89e32bf7a6 100644 +index 28f3d69691..ee54fce145 100644 --- a/src/xkb.cpp +++ b/src/xkb.cpp @@ -583,6 +583,15 @@ xkb_keymap *Xkb::loadKeymapFromConfig() @@ -29,5 +29,5 @@ index 0e26b4e307..89e32bf7a6 100644 const QByteArray layout = m_configGroup.readEntry("LayoutList").toLatin1(); const QByteArray variant = m_configGroup.readEntry("VariantList").toLatin1(); -- -2.51.2 +2.52.0 diff --git a/kde-plasma/kwin/0020-Fix-erratic-margin-behavior-on-maximize.patch b/kde-plasma/kwin/0020-Fix-erratic-margin-behavior-on-maximize.patch index 5ffed35..9d095b1 100644 --- a/kde-plasma/kwin/0020-Fix-erratic-margin-behavior-on-maximize.patch +++ b/kde-plasma/kwin/0020-Fix-erratic-margin-behavior-on-maximize.patch @@ -1,7 +1,7 @@ -From d16d05653cd9d7e1381bab47ec63da8831194585 Mon Sep 17 00:00:00 2001 +From 5ddfc577a22b41956b6f23f3c26613da593f81be Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Wed, 12 Nov 2025 15:05:32 -0500 -Subject: [PATCH 20/21] Fix erratic margin behavior on maximize +Subject: [PATCH 20/22] Fix erratic margin behavior on maximize Possibly this should be squashed back --- @@ -10,10 +10,10 @@ Possibly this should be squashed back 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tiles/tile.cpp b/src/tiles/tile.cpp -index 3aa32f6555..6dc2f1a756 100644 +index fbb0dbc4c9..37c977b705 100644 --- a/src/tiles/tile.cpp +++ b/src/tiles/tile.cpp -@@ -186,8 +186,7 @@ QRectF Tile::windowGeometry() const +@@ -186,8 +186,7 @@ RectF Tile::windowGeometry() const } else if (quickTileMode() & QuickTileFlag::Bottom) { margins += QMarginsF(0,m_padding,0,0); } @@ -22,12 +22,12 @@ index 3aa32f6555..6dc2f1a756 100644 + return geom.intersected(workspace()->clientArea(PlacementArea, m_tiling->output(), m_desktop)) - margins; } - QRectF Tile::maximizedWindowGeometry() const + RectF Tile::maximizedWindowGeometry() const diff --git a/src/workspace.cpp b/src/workspace.cpp -index bf799837d4..5011f51771 100644 +index 0aefd11c2b..243b3babe0 100644 --- a/src/workspace.cpp +++ b/src/workspace.cpp -@@ -2304,6 +2304,7 @@ QRectF Workspace::clientArea(clientAreaOption opt, const Output *output, const V +@@ -2480,6 +2480,7 @@ RectF Workspace::clientArea(clientAreaOption opt, const LogicalOutput *output, c switch (opt) { case MaximizeArea: @@ -36,5 +36,5 @@ index bf799837d4..5011f51771 100644 if (auto desktopIt = m_screenAreas.constFind(desktop); desktopIt != m_screenAreas.constEnd()) { if (auto outputIt = desktopIt->constFind(output); outputIt != desktopIt->constEnd()) { -- -2.51.2 +2.52.0 diff --git a/kde-plasma/kwin/0021-Enable-libinput-plugin-system.patch b/kde-plasma/kwin/0021-Enable-libinput-plugin-system.patch index f98e321..c8577b3 100644 --- a/kde-plasma/kwin/0021-Enable-libinput-plugin-system.patch +++ b/kde-plasma/kwin/0021-Enable-libinput-plugin-system.patch @@ -1,7 +1,7 @@ -From e21302850a19f39c83aad460a731b192ace4eefe Mon Sep 17 00:00:00 2001 +From a85821a39d2d5c6364fb428a9266a39131d98104 Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Tue, 20 Jan 2026 15:43:04 -0500 -Subject: [PATCH 21/21] Enable libinput plugin system +Subject: [PATCH 21/22] Enable libinput plugin system I need this to fix some quirky behaviour of one of my mice --- @@ -22,5 +22,5 @@ index ae0cf02e55..264eaaff7b 100644 libinput_log_set_handler(m_libinput, &libinputLogHandler); } -- -2.51.2 +2.52.0 diff --git a/kde-plasma/kwin/0022-workspace-Do-not-move-my-tiles-around-when-desktop-c.patch b/kde-plasma/kwin/0022-Do-not-move-my-tiles-around-when-desktop-changes.patch similarity index 65% rename from kde-plasma/kwin/0022-workspace-Do-not-move-my-tiles-around-when-desktop-c.patch rename to kde-plasma/kwin/0022-Do-not-move-my-tiles-around-when-desktop-changes.patch index 5a00e2c..3a3416a 100644 --- a/kde-plasma/kwin/0022-workspace-Do-not-move-my-tiles-around-when-desktop-c.patch +++ b/kde-plasma/kwin/0022-Do-not-move-my-tiles-around-when-desktop-changes.patch @@ -1,18 +1,17 @@ -From 4b80a192a5ee7a14fe45aee9c7dcaa046e47d572 Mon Sep 17 00:00:00 2001 +From 8a2f52d14e0652c1dbfe5224dea6d6fb0de52d4e Mon Sep 17 00:00:00 2001 From: Jacopo De Simoi Date: Tue, 27 Jan 2026 23:11:00 -0500 -Subject: [PATCH 22/22] [workspace] Do not move my tiles around when desktop - changes. +Subject: [PATCH 22/22] Do not move my tiles around when desktop changes. --- src/workspace.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/workspace.cpp b/src/workspace.cpp -index 034c61e31b..01ad3d1d20 100644 +index 243b3babe0..101c753350 100644 --- a/src/workspace.cpp +++ b/src/workspace.cpp -@@ -976,8 +976,10 @@ void Workspace::updateWindowVisibilityAndActivateOnDesktopChange(VirtualDesktop +@@ -1105,8 +1105,10 @@ void Workspace::updateWindowVisibilityAndActivateOnDesktopChange(VirtualDesktop tile = candidate; } }