[kwin] Plasma 6.6 patches

master
Jacopo De Simoi 1 month ago
parent d3dd27bd41
commit 6e3c79a2fa
  1. 16
      kde-plasma/kwin/0001-Implement-moveRelative.patch
  2. 29
      kde-plasma/kwin/0002-Make-output-yield-tiling-constants.patch
  3. 12
      kde-plasma/kwin/0003-Adjust-screen-area-for-tiling-gaps.patch
  4. 18
      kde-plasma/kwin/0004-Add-actions-for-third-quick-tiling.patch
  5. 8
      kde-plasma/kwin/0005-Force-maximized-windows-to-cast-a-shadow.patch
  6. 52
      kde-plasma/kwin/0006-Add-Quicktiles-at-thirds.patch
  7. 10
      kde-plasma/kwin/0007-Add-padding-to-qulcktiles.patch
  8. 46
      kde-plasma/kwin/0008-Use-geometry-relative-to-the-cutout.patch
  9. 12
      kde-plasma/kwin/0009-Make-vertical-gap-twice-as-big-between-windows.patch
  10. 26
      kde-plasma/kwin/0010-Implement-core-panning-methods.patch
  11. 18
      kde-plasma/kwin/0011-Remove-the-logic-for-tiles-on-different-screens.patch
  12. 10
      kde-plasma/kwin/0012-Implement-Incremental-wide-placement.patch
  13. 10
      kde-plasma/kwin/0013-Remove-wrap-around-when-switching-focus-horizontally.patch
  14. 12
      kde-plasma/kwin/0014-Allow-windows-outside-left-right-screen-boundary.patch
  15. 18
      kde-plasma/kwin/0015-Adjust-output-detection-for-hyper-wide.patch
  16. 8
      kde-plasma/kwin/0016-Introduce-the-Pan-helper-effect.patch
  17. 12
      kde-plasma/kwin/0017-Remove-boundary-checking-in-the-position-effect.patch
  18. 12
      kde-plasma/kwin/0018-Add-paint_screen-flag-to-prevent-artifacts.patch
  19. 8
      kde-plasma/kwin/0019-Allow-loading-the-keymap-from-a-file.patch
  20. 16
      kde-plasma/kwin/0020-Fix-erratic-margin-behavior-on-maximize.patch
  21. 6
      kde-plasma/kwin/0021-Enable-libinput-plugin-system.patch
  22. 9
      kde-plasma/kwin/0022-Do-not-move-my-tiles-around-when-desktop-changes.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 <wilderjds@protonmail.com>
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

@ -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 <wilderjds@protonmail.com>
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

@ -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 <wilderjds@protonmail.com>
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<Window *, LogicalOutput *> &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

@ -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 <wilderjds@protonmail.com>
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

@ -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 <wilderjds@protonmail.com>
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

@ -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 <wilderjds@protonmail.com>
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

@ -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 <wilderjds@protonmail.com>
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<Tile>(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

@ -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 <wilderjds@protonmail.com>
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

@ -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 <wilderjds@protonmail.com>
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

@ -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 <wilderjds@protonmail.com>
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

@ -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 <wilderjds@protonmail.com>
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

@ -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 <jacopods@gmail.com>
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<PlacementCommand> 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

@ -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 <jacopods@gmail.com>
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

@ -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 <jacopods@gmail.com>
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

@ -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 <wilderjds@protonmail.com>
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

@ -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 <jacopods@protonmail.com>
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

@ -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 <wilderjds@protonmail.com>
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

@ -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 <jacopods@protonmail.com>
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

@ -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 <wilderjds@protonmail.com>
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

@ -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 <wilderjds@protonmail.com>
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

@ -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 <wilderjds@protonmail.com>
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

@ -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 <wilderjds@protonmail.com>
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;
}
}
Loading…
Cancel
Save