summaryrefslogtreecommitdiff
path: root/kde-plasma/kwin
diff options
context:
space:
mode:
Diffstat (limited to 'kde-plasma/kwin')
-rw-r--r--kde-plasma/kwin/Manifest9
-rw-r--r--kde-plasma/kwin/files/kwin-5.27.10-backends-drm-commit-m_next-state.patch34
-rw-r--r--kde-plasma/kwin/files/kwin-5.27.10-xdgshellwindow-enforce-minSize.patch38
-rw-r--r--kde-plasma/kwin/files/kwin-6.0.0-kdebug-481456.patch272
-rw-r--r--kde-plasma/kwin/kwin-5.27.10-r2.ebuild147
-rw-r--r--kde-plasma/kwin/kwin-6.0.2.ebuild (renamed from kde-plasma/kwin/kwin-6.0.1-r2.ebuild)2
6 files changed, 3 insertions, 499 deletions
diff --git a/kde-plasma/kwin/Manifest b/kde-plasma/kwin/Manifest
index 555d00c70e4c..342d773cde38 100644
--- a/kde-plasma/kwin/Manifest
+++ b/kde-plasma/kwin/Manifest
@@ -1,11 +1,6 @@
AUX kwin-5.26.80-gstreamer-optional.patch 948 BLAKE2B 880e77ce6462c115953471dfd4985cc4891a05a910323c1760e01870f04a6930d6d4680811701e12094f1bc3eabbba6b097535408b9148dea4beca31496c7e35 SHA512 66e839c7d603873d675b96430ae48d89366a7f1c5019686c9471ef4fd66449bc4bc22752856665a5d90ab8e503e40d307c4671ac0c2f2991b869e211f7b46c86
-AUX kwin-5.27.10-backends-drm-commit-m_next-state.patch 1039 BLAKE2B 73a46264684d6c8c99dcf02ffc5b63fa88ac550a74d94d7cefad8deefc91cddf345b9de9a222e197fa23b9caf41045e36288f1f056d518d78c6521ce21ab3415 SHA512 f255f2941fa7d0a001da6689fb9481a24d2804e77037229e2709e52b0bb547af79c6df007fb1d6fcab20e280de3aa79510eb797ea4f69710d62b6f7ad606b860
-AUX kwin-5.27.10-xdgshellwindow-enforce-minSize.patch 1516 BLAKE2B b79746dda9281e071827b45c1f0a266df6854e5aaf1d1e5a1ad01ce6e22c154936e2683286b37b2420c59f35593cfdd8de023042bd54b27913cc4c213899f013 SHA512 90353ce0121f9db45f3f7143549c16394edfd0a31b262be25d0ffc781a5918af56a3838538389ac27bc9c9c9272ca237252a93fa471412a77be47ad1c4f5ead9
-AUX kwin-6.0.0-kdebug-481456.patch 12666 BLAKE2B e84941f4a10a4cb9b4daa095b7c5d55ee61a0f2c6ffd513373f352a49035ca3d302ecb82e30d19426fe9cce564cef258e36b2f85cf3abd3a7724cd0c2cef639c SHA512 bf7225322d348cd1723c05110fd19736868cddf92fef2743d20ba8e2df9c5607d9860350959692a9e06602fa027cc8945eebe098636715ef9edf2beaf3c22490
-DIST kwin-5.27.10.tar.xz 7634568 BLAKE2B 13da6f83e55236d7060c3f1fcf4f8e2ff5ca0351ae8c5fe6f313a4a4872430a5c049c582993d8c7817b493477f918060220b6b2ccda2baea0d44eb34767e2fc9 SHA512 f9cfbad8eb97c26417e430424bd496bfa31f9e3c6953ab68a7cff467de8ad43bc10a764f47bd0ce3afe4d27d2cd981ba949d09ab3090dfcef9e7a77b5a918f71
DIST kwin-5.27.11.tar.xz 7644856 BLAKE2B a21fa8d60418bf109b3f651f266185b1e97bdc92e7c7d7ab4b73271d91e8c2b629fd22851b3fff88d7ecd8277fdd8a70bf1c3bd93aa1e379377b86f56cfe2bd2 SHA512 8c76695f71ce67142d16ad16aed342375ae3aefa59ff2628a28003025701bc6b48999adaac79fc5ab09ec22c8d8407fc29f011fd3da6f992c36531fd6c3fc37b
-DIST kwin-6.0.1.tar.xz 8833120 BLAKE2B cb82790c4d7f315a6751bd46c680c0f3421f1257d80cc2986ac518995728f26e0d605103d00e2ab1a0e32aa8582ca941b9f0edcf3d6d83a27a5093327dd46e02 SHA512 76046f04771ee32f2c54430e6f59f31889f7989a49eaca92bf9b79612328ff2e3ed3785a7e8f8db4525e2bbeb14954cde6672dea750ee78395874e96597b1c45
-EBUILD kwin-5.27.10-r2.ebuild 4407 BLAKE2B 61087eb136970185efe3bf5029393eb472add7b97e66df3092d670d3c634f3700db6446b64b7aad82ced2514af5fe52ee5b47e51c33e5e0b62b8c36c6bb887dd SHA512 57cf448bb04d607d1008b0028b8ef12cce8b957cdf1814129b5045c5f3458e23c6101d0ee0b8a14c298b5a4d97e2b7d0c9f1d2162b22059e31b40e2028f894f1
+DIST kwin-6.0.2.tar.xz 8833720 BLAKE2B ee02fee90870e32dcc61a5cbc3bcd2f3e146e3a0aa8c63bcd459eaf8cb35bd48aabf88a4cd6efb6325b24128d5e35c6a67aca1077f3820a061bfcb5f4a5bc467 SHA512 f6f82afe2f007a14114fbf18e0aba6859328d928d14bf5369e9f879ec24baa50a9a1084db49877067eab17ab3dae13991d507c85458b4a588086ecfb4924a8a6
EBUILD kwin-5.27.11.ebuild 4244 BLAKE2B a7d67b4d73c0ea947430d50c8e40f3ff92db153bd2de367bec724784c4575c866734f651d23f738658da5647abd3d0d7f0fed30b37d31d8a819cad05a1a3b739 SHA512 a40d2fc6629a388aeca42f883372c9dd49a139a97cca5a598c2d9676c3be96ec240e5dc3d562e9d62e314db82fff01e3d2cdf8522f1821aac7364c628f3f0b13
-EBUILD kwin-6.0.1-r2.ebuild 3856 BLAKE2B f4b2c0b2b0ecdef51bd6e420c050720d6aa607f13b8a423a95edc78c872d46c680f683f6db29bd416f21f9ff0aea7eec34652522c40fd084ac7f22fa727e45a0 SHA512 816fde5b910ee829ee86e4cef6b5723bb33582fe06023d5c2c85476113fb5da30419fb4ca10c9828ebc17149641db43f4cf4b0b511727ce60cf763fd6cfac2be
+EBUILD kwin-6.0.2.ebuild 3842 BLAKE2B 73090ffaff7329fe26f1412fb45d119b951e7abcb1030f24c9fe958869fc2478b0142f69c53463558c16f935874e937b297ed0466e9e45b5e9e8a26061986c2f SHA512 ead4ab16f1c60fb80b17b988e02ce4306ef65400d982cfe92c8aca014b4055d52ffedc2e6da76f7a4454ea873274c6f97dfa76648cfcf5793527a6aca270c898
MISC metadata.xml 705 BLAKE2B 996b365c3536e5bdaf8487b2f736a31625b84497af81c3b8fa8bf46a585004f426f8bdc22a3a430936e03694a1222dd0a89789df769ef650c0d8da25bf263cd7 SHA512 569c589a88ac23dc869a6487459bd46711dc2b92c1f1cf5d19879fb363b52b76faf7d8c5805f0a9d5a13a3ab4f9f316d732e6ae475d63a950d56ad65c2f05fa4
diff --git a/kde-plasma/kwin/files/kwin-5.27.10-backends-drm-commit-m_next-state.patch b/kde-plasma/kwin/files/kwin-5.27.10-backends-drm-commit-m_next-state.patch
deleted file mode 100644
index dd51fd2ae1b8..000000000000
--- a/kde-plasma/kwin/files/kwin-5.27.10-backends-drm-commit-m_next-state.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 5b7183c77a2be9c3c26f9f209e783cb1a34118e0 Mon Sep 17 00:00:00 2001
-From: Xaver Hugl <xaver.hugl@gmail.com>
-Date: Thu, 7 Dec 2023 14:40:40 +0100
-Subject: [PATCH] backends/drm: commit m_next state properly
-
-Without this, atomic test failures might restore state that's out of date.
-
-BUG: 477451
----
- src/backends/drm/drm_pipeline.cpp | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/src/backends/drm/drm_pipeline.cpp b/src/backends/drm/drm_pipeline.cpp
-index e0e0b2f0195..84ee4d16557 100644
---- a/src/backends/drm/drm_pipeline.cpp
-+++ b/src/backends/drm/drm_pipeline.cpp
-@@ -433,13 +433,12 @@ void DrmPipeline::atomicCommitSuccessful()
- m_pending.crtc->cursorPlane()->commit();
- }
- }
-- m_current = m_pending;
-+ m_current = m_next = m_pending;
- }
-
- void DrmPipeline::atomicModesetSuccessful()
- {
- atomicCommitSuccessful();
-- m_pending.needsModeset = false;
- if (activePending()) {
- pageFlipped(std::chrono::steady_clock::now().time_since_epoch());
- }
---
-GitLab
-
diff --git a/kde-plasma/kwin/files/kwin-5.27.10-xdgshellwindow-enforce-minSize.patch b/kde-plasma/kwin/files/kwin-5.27.10-xdgshellwindow-enforce-minSize.patch
deleted file mode 100644
index 8f3dac004816..000000000000
--- a/kde-plasma/kwin/files/kwin-5.27.10-xdgshellwindow-enforce-minSize.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 0d59f48fbf2cbbcc71556f0ce005d939c604f2c4 Mon Sep 17 00:00:00 2001
-From: Xaver Hugl <xaver.hugl@gmail.com>
-Date: Mon, 11 Dec 2023 18:06:31 +0100
-Subject: [PATCH] xdgshellwindow: make maxSize always >= minSize by enforcing
- the same minimum
-
-BUG: 478269
-
-
-(cherry picked from commit d228dc173a24bc27a895d4924936a1d91d7c25b9)
----
- src/xdgshellwindow.cpp | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/src/xdgshellwindow.cpp b/src/xdgshellwindow.cpp
-index 29d8623cac3..525481f00dd 100644
---- a/src/xdgshellwindow.cpp
-+++ b/src/xdgshellwindow.cpp
-@@ -601,12 +601,14 @@ MaximizeMode XdgToplevelWindow::requestedMaximizeMode() const
- QSizeF XdgToplevelWindow::minSize() const
- {
- const int enforcedMinimum = m_nextDecoration ? 150 : 20;
-- return rules()->checkMinSize(QSize(std::max(enforcedMinimum, m_shellSurface->minimumSize().width()), std::max(enforcedMinimum, m_shellSurface->minimumSize().height())));
-+ return rules()->checkMinSize(m_shellSurface->minimumSize()).expandedTo(QSizeF(enforcedMinimum, enforcedMinimum));
- }
-
- QSizeF XdgToplevelWindow::maxSize() const
- {
-- return rules()->checkMaxSize(m_shellSurface->maximumSize());
-+ // enforce the same minimum as for minSize, so that maxSize is always bigger than minSize
-+ const int enforcedMinimum = m_nextDecoration ? 150 : 20;
-+ return rules()->checkMaxSize(m_shellSurface->maximumSize()).expandedTo(QSizeF(enforcedMinimum, enforcedMinimum));
- }
-
- bool XdgToplevelWindow::isFullScreen() const
---
-GitLab
-
diff --git a/kde-plasma/kwin/files/kwin-6.0.0-kdebug-481456.patch b/kde-plasma/kwin/files/kwin-6.0.0-kdebug-481456.patch
deleted file mode 100644
index 208cfb8b0eb1..000000000000
--- a/kde-plasma/kwin/files/kwin-6.0.0-kdebug-481456.patch
+++ /dev/null
@@ -1,272 +0,0 @@
-From ebce0e3c3371fbc5a59955c91873edca1b6e4e79 Mon Sep 17 00:00:00 2001
-From: David Edmundson <kde@davidedmundson.co.uk>
-Date: Mon, 26 Feb 2024 10:32:49 +0000
-Subject: [PATCH] x11window: Disable strict geometry placement by default in
- wayland
-
-Strict geometry disables certain user activites; full screen requests
-and only sending configure events at sizes the client claims to support.
-
-This was added as a workaround for xterm in 19 years ago. It's a client
-side bug as applications can still choose to ignore the configure event,
-so kwin shouldn't have to sanitise them in advance. xterm seems to have
-fixed it's bug, and pragmatically we know not all window managers
-perform these checks so most clients should not be relying on it.
-
-On Wayland this additional check is proving problematic, the handling of
-scaling especially fractional scaling is hitting cases where it's better
-to always ask the client to do what kwin wants.
-
-Tests that refer to sizeIncrements are dropped as they are only used in
-the strict geometry passes which is being obsoleted. Resizing in general
-is still tested.
-
-BUG: 481456
-
-
-(cherry picked from commit 32be54b19d24e3fafc3a50492b1ca48047a64103)
----
- autotests/integration/x11_window_test.cpp | 171 ----------------------
- src/x11window.cpp | 14 +-
- 2 files changed, 11 insertions(+), 174 deletions(-)
-
-diff --git a/autotests/integration/x11_window_test.cpp b/autotests/integration/x11_window_test.cpp
-index aa48b26d8d2..588b01e8141 100644
---- a/autotests/integration/x11_window_test.cpp
-+++ b/autotests/integration/x11_window_test.cpp
-@@ -35,8 +35,6 @@ private Q_SLOTS:
-
- void testMinimumSize();
- void testMaximumSize();
-- void testResizeIncrements();
-- void testResizeIncrementsNoBaseSize();
- void testTrimCaption_data();
- void testTrimCaption();
- void testFullscreenLayerWithActiveWaylandWindow();
-@@ -291,175 +289,6 @@ void X11WindowTest::testMaximumSize()
- c.reset();
- }
-
--void X11WindowTest::testResizeIncrements()
--{
-- // This test verifies that the resize increments constraint is correctly applied.
-- QFETCH_GLOBAL(qreal, scale);
-- kwinApp()->setXwaylandScale(scale);
--
-- // Create an xcb window.
-- Test::XcbConnectionPtr c = Test::createX11Connection();
-- QVERIFY(!xcb_connection_has_error(c.get()));
-- const QRect windowGeometry(0, 0, 100, 200);
-- xcb_window_t windowId = xcb_generate_id(c.get());
-- xcb_create_window(c.get(), XCB_COPY_FROM_PARENT, windowId, rootWindow(),
-- windowGeometry.x(),
-- windowGeometry.y(),
-- windowGeometry.width(),
-- windowGeometry.height(),
-- 0, XCB_WINDOW_CLASS_INPUT_OUTPUT, XCB_COPY_FROM_PARENT, 0, nullptr);
-- xcb_size_hints_t hints;
-- memset(&hints, 0, sizeof(hints));
-- xcb_icccm_size_hints_set_position(&hints, 1, windowGeometry.x(), windowGeometry.y());
-- xcb_icccm_size_hints_set_size(&hints, 1, windowGeometry.width(), windowGeometry.height());
-- xcb_icccm_size_hints_set_base_size(&hints, windowGeometry.width(), windowGeometry.height());
-- xcb_icccm_size_hints_set_resize_inc(&hints, 3, 5);
-- xcb_icccm_set_wm_normal_hints(c.get(), windowId, &hints);
-- xcb_map_window(c.get(), windowId);
-- xcb_flush(c.get());
--
-- QSignalSpy windowCreatedSpy(workspace(), &Workspace::windowAdded);
-- QVERIFY(windowCreatedSpy.wait());
-- X11Window *window = windowCreatedSpy.last().first().value<X11Window *>();
-- QVERIFY(window);
-- QVERIFY(window->isDecorated());
--
-- QSignalSpy interactiveMoveResizeStartedSpy(window, &Window::interactiveMoveResizeStarted);
-- QSignalSpy interactiveMoveResizeSteppedSpy(window, &Window::interactiveMoveResizeStepped);
-- QSignalSpy interactiveMoveResizeFinishedSpy(window, &Window::interactiveMoveResizeFinished);
-- QSignalSpy frameGeometryChangedSpy(window, &Window::frameGeometryChanged);
--
-- // Begin resize.
-- QCOMPARE(workspace()->moveResizeWindow(), nullptr);
-- QVERIFY(!window->isInteractiveResize());
-- workspace()->slotWindowResize();
-- QCOMPARE(workspace()->moveResizeWindow(), window);
-- QCOMPARE(interactiveMoveResizeStartedSpy.count(), 1);
-- QVERIFY(window->isInteractiveResize());
--
-- const QPointF cursorPos = KWin::Cursors::self()->mouse()->pos();
--
-- window->keyPressEvent(Qt::Key_Right);
-- window->updateInteractiveMoveResize(KWin::Cursors::self()->mouse()->pos());
-- QCOMPARE(KWin::Cursors::self()->mouse()->pos(), cursorPos + QPoint(8, 0));
-- QCOMPARE(interactiveMoveResizeSteppedSpy.count(), 1);
-- QVERIFY(frameGeometryChangedSpy.wait());
--
-- // 100 + 8 logical pixels, rounded to resize increments. This will differ on scale
-- const qreal horizontalResizeInc = 3 / scale;
-- const qreal verticalResizeInc = 5 / scale;
-- const qreal expectedHorizontalResizeInc = std::floor(8. / horizontalResizeInc) * horizontalResizeInc;
-- const qreal expectedVerticalResizeInc = std::floor(8. / verticalResizeInc) * verticalResizeInc;
--
-- QCOMPARE(window->clientSize(), QSizeF(100, 200) / scale + QSizeF(expectedHorizontalResizeInc, 0));
--
-- window->keyPressEvent(Qt::Key_Down);
-- window->updateInteractiveMoveResize(KWin::Cursors::self()->mouse()->pos());
-- QCOMPARE(KWin::Cursors::self()->mouse()->pos(), cursorPos + QPoint(8, 8));
-- QCOMPARE(interactiveMoveResizeSteppedSpy.count(), 2);
-- QVERIFY(frameGeometryChangedSpy.wait());
-- QCOMPARE(window->clientSize(), QSize(100, 200) / scale + QSizeF(expectedHorizontalResizeInc, expectedVerticalResizeInc));
--
-- // Finish the resize operation.
-- QCOMPARE(interactiveMoveResizeFinishedSpy.count(), 0);
-- window->keyPressEvent(Qt::Key_Enter);
-- QCOMPARE(interactiveMoveResizeFinishedSpy.count(), 1);
-- QCOMPARE(workspace()->moveResizeWindow(), nullptr);
-- QVERIFY(!window->isInteractiveResize());
--
-- // Destroy the window.
-- QSignalSpy windowClosedSpy(window, &X11Window::closed);
-- xcb_unmap_window(c.get(), windowId);
-- xcb_destroy_window(c.get(), windowId);
-- xcb_flush(c.get());
-- QVERIFY(windowClosedSpy.wait());
-- c.reset();
--}
--
--void X11WindowTest::testResizeIncrementsNoBaseSize()
--{
-- QFETCH_GLOBAL(qreal, scale);
-- kwinApp()->setXwaylandScale(scale);
--
-- // Create an xcb window.
-- Test::XcbConnectionPtr c = Test::createX11Connection();
-- QVERIFY(!xcb_connection_has_error(c.get()));
-- const QRect windowGeometry(0, 0, 100, 200);
-- xcb_window_t windowId = xcb_generate_id(c.get());
-- xcb_create_window(c.get(), XCB_COPY_FROM_PARENT, windowId, rootWindow(),
-- windowGeometry.x(),
-- windowGeometry.y(),
-- windowGeometry.width(),
-- windowGeometry.height(),
-- 0, XCB_WINDOW_CLASS_INPUT_OUTPUT, XCB_COPY_FROM_PARENT, 0, nullptr);
-- xcb_size_hints_t hints;
-- memset(&hints, 0, sizeof(hints));
-- xcb_icccm_size_hints_set_position(&hints, 1, windowGeometry.x(), windowGeometry.y());
-- xcb_icccm_size_hints_set_size(&hints, 1, windowGeometry.width(), windowGeometry.height());
-- xcb_icccm_size_hints_set_min_size(&hints, windowGeometry.width(), windowGeometry.height());
-- xcb_icccm_size_hints_set_resize_inc(&hints, 3, 5);
-- xcb_icccm_set_wm_normal_hints(c.get(), windowId, &hints);
-- xcb_map_window(c.get(), windowId);
-- xcb_flush(c.get());
--
-- QSignalSpy windowCreatedSpy(workspace(), &Workspace::windowAdded);
-- QVERIFY(windowCreatedSpy.wait());
-- X11Window *window = windowCreatedSpy.last().first().value<X11Window *>();
-- QVERIFY(window);
-- QVERIFY(window->isDecorated());
--
-- QSignalSpy interactiveMoveResizeStartedSpy(window, &Window::interactiveMoveResizeStarted);
-- QSignalSpy interactiveMoveResizeSteppedSpy(window, &Window::interactiveMoveResizeStepped);
-- QSignalSpy interactiveMoveResizeFinishedSpy(window, &Window::interactiveMoveResizeFinished);
-- QSignalSpy frameGeometryChangedSpy(window, &Window::frameGeometryChanged);
--
-- // Begin resize.
-- QCOMPARE(workspace()->moveResizeWindow(), nullptr);
-- QVERIFY(!window->isInteractiveResize());
-- workspace()->slotWindowResize();
-- QCOMPARE(workspace()->moveResizeWindow(), window);
-- QCOMPARE(interactiveMoveResizeStartedSpy.count(), 1);
-- QVERIFY(window->isInteractiveResize());
--
-- const QPointF cursorPos = KWin::Cursors::self()->mouse()->pos();
--
-- window->keyPressEvent(Qt::Key_Right);
-- window->updateInteractiveMoveResize(KWin::Cursors::self()->mouse()->pos());
-- QCOMPARE(KWin::Cursors::self()->mouse()->pos(), cursorPos + QPoint(8, 0));
-- QCOMPARE(interactiveMoveResizeSteppedSpy.count(), 1);
-- QVERIFY(frameGeometryChangedSpy.wait());
--
-- // 100 + 8 pixels, rounded to resize increments. This will differ on scale
-- const qreal horizontalResizeInc = 3 / scale;
-- const qreal verticalResizeInc = 5 / scale;
-- const qreal expectedHorizontalResizeInc = std::floor(8. / horizontalResizeInc) * horizontalResizeInc;
-- const qreal expectedVerticalResizeInc = std::floor(8. / verticalResizeInc) * verticalResizeInc;
--
-- QCOMPARE(window->clientSize(), QSizeF(100, 200) / scale + QSizeF(expectedHorizontalResizeInc, 0));
--
-- window->keyPressEvent(Qt::Key_Down);
-- window->updateInteractiveMoveResize(KWin::Cursors::self()->mouse()->pos());
-- QCOMPARE(KWin::Cursors::self()->mouse()->pos(), cursorPos + QPoint(8, 8));
-- QCOMPARE(interactiveMoveResizeSteppedSpy.count(), 2);
-- QVERIFY(frameGeometryChangedSpy.wait());
-- QCOMPARE(window->clientSize(), QSizeF(100, 200) / scale + QSizeF(expectedHorizontalResizeInc, expectedVerticalResizeInc));
--
-- // Finish the resize operation.
-- QCOMPARE(interactiveMoveResizeFinishedSpy.count(), 0);
-- window->keyPressEvent(Qt::Key_Enter);
-- QCOMPARE(interactiveMoveResizeFinishedSpy.count(), 1);
-- QCOMPARE(workspace()->moveResizeWindow(), nullptr);
-- QVERIFY(!window->isInteractiveResize());
--
-- // Destroy the window.
-- QSignalSpy windowClosedSpy(window, &X11Window::closed);
-- xcb_unmap_window(c.get(), windowId);
-- xcb_destroy_window(c.get(), windowId);
-- xcb_flush(c.get());
-- QVERIFY(windowClosedSpy.wait());
-- c.reset();
--}
--
- void X11WindowTest::testTrimCaption_data()
- {
- QFETCH_GLOBAL(qreal, scale);
-diff --git a/src/x11window.cpp b/src/x11window.cpp
-index e4ab708f472..9aa2056b1d0 100644
---- a/src/x11window.cpp
-+++ b/src/x11window.cpp
-@@ -1492,7 +1492,8 @@ bool X11Window::isFullScreenable() const
- if (!rules()->checkFullScreen(true)) {
- return false;
- }
-- if (rules()->checkStrictGeometry(true)) {
-+ const bool isX11Mode = kwinApp()->operationMode() == Application::OperationModeX11;
-+ if (rules()->checkStrictGeometry(isX11Mode)) {
- // check geometry constraints (rule to obey is set)
- const QRectF fullScreenArea = workspace()->clientArea(FullScreenArea, this);
- const QSizeF constrainedClientSize = constrainClientSize(fullScreenArea.size());
-@@ -3705,7 +3706,8 @@ QSizeF X11Window::constrainClientSize(const QSizeF &size, SizeMode mode) const
- w = std::max(min_size.width(), w);
- h = std::max(min_size.height(), h);
-
-- if (!rules()->checkStrictGeometry(!isFullScreen())) {
-+ const bool isX11Mode = kwinApp()->operationMode() == Application::OperationModeX11;
-+ if (!rules()->checkStrictGeometry(!isFullScreen() && isX11Mode)) {
- // Disobey increments and aspect by explicit rule.
- return QSizeF(w, h);
- }
-@@ -3890,6 +3892,10 @@ QSizeF X11Window::maxSize() const
-
- QSizeF X11Window::basicUnit() const
- {
-+ const bool isX11Mode = kwinApp()->operationMode() == Application::OperationModeX11;
-+ if (!isX11Mode) {
-+ return QSize(1, 1);
-+ }
- return m_geometryHints.resizeIncrements();
- }
-
-@@ -4457,9 +4463,11 @@ void X11Window::maximize(MaximizeMode mode)
-
- // if the client insist on a fix aspect ratio, we check whether the maximizing will get us
- // out of screen bounds and take that as a "full maximization with aspect check" then
-+ const bool isX11Mode = kwinApp()->operationMode() == Application::OperationModeX11;
-+
- if (m_geometryHints.hasAspect() && // fixed aspect
- (mode == MaximizeVertical || mode == MaximizeHorizontal) && // ondimensional maximization
-- rules()->checkStrictGeometry(true)) { // obey aspect
-+ rules()->checkStrictGeometry(isX11Mode)) { // obey aspect
- const QSize minAspect = m_geometryHints.minAspect();
- const QSize maxAspect = m_geometryHints.maxAspect();
- if (mode == MaximizeVertical || (old_mode & MaximizeVertical)) {
---
-GitLab
-
diff --git a/kde-plasma/kwin/kwin-5.27.10-r2.ebuild b/kde-plasma/kwin/kwin-5.27.10-r2.ebuild
deleted file mode 100644
index a038cad012b5..000000000000
--- a/kde-plasma/kwin/kwin-5.27.10-r2.ebuild
+++ /dev/null
@@ -1,147 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ECM_HANDBOOK="optional"
-ECM_TEST="optional"
-KFMIN=5.106.0
-PVCUT=$(ver_cut 1-3)
-QTMIN=5.15.9
-inherit ecm flag-o-matic plasma.kde.org optfeature
-
-DESCRIPTION="Flexible, composited Window Manager for windowing systems on Linux"
-
-LICENSE="GPL-2+"
-SLOT="5"
-KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
-IUSE="accessibility caps gles2-only lock multimedia plasma screencast"
-
-RESTRICT="test"
-
-COMMON_DEPEND="
- >=dev-libs/libinput-1.19:=
- >=dev-libs/wayland-1.21.0
- >=dev-qt/qtdbus-${QTMIN}:5
- >=dev-qt/qtdeclarative-${QTMIN}:5
- >=dev-qt/qtgui-${QTMIN}:5=[accessibility,egl,gles2-only=,libinput]
- >=dev-qt/qtnetwork-${QTMIN}:5
- >=dev-qt/qtwidgets-${QTMIN}:5
- >=dev-qt/qtx11extras-${QTMIN}:5
- >=kde-frameworks/kauth-${KFMIN}:5
- >=kde-frameworks/kcmutils-${KFMIN}:5
- >=kde-frameworks/kconfig-${KFMIN}:5[qml]
- >=kde-frameworks/kconfigwidgets-${KFMIN}:5
- >=kde-frameworks/kcoreaddons-${KFMIN}:5
- >=kde-frameworks/kcrash-${KFMIN}:5
- >=kde-frameworks/kdbusaddons-${KFMIN}:5
- >=kde-frameworks/kdeclarative-${KFMIN}:5
- >=kde-frameworks/kglobalaccel-${KFMIN}:5=[X(+)]
- >=kde-frameworks/ki18n-${KFMIN}:5
- >=kde-frameworks/kidletime-${KFMIN}:5=
- >=kde-frameworks/knewstuff-${KFMIN}:5
- >=kde-frameworks/knotifications-${KFMIN}:5
- >=kde-frameworks/kpackage-${KFMIN}:5
- >=kde-frameworks/kservice-${KFMIN}:5
- >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
- >=kde-frameworks/kwindowsystem-${KFMIN}:5=[X]
- >=kde-frameworks/kxmlgui-${KFMIN}:5
- >=kde-plasma/breeze-${PVCUT}:5
- >=kde-plasma/kdecoration-${PVCUT}:5
- >=kde-plasma/kwayland-${KFMIN}:5
- >=kde-plasma/libplasma-${KFMIN}:5
- >=kde-plasma/plasma-activities-${KFMIN}:5
- media-libs/fontconfig
- media-libs/freetype
- media-libs/lcms:2
- media-libs/libepoxy
- media-libs/libglvnd
- >=media-libs/mesa-21.3[egl(+),gbm(+),wayland,X]
- virtual/libudev:=
- x11-libs/libX11
- x11-libs/libXi
- >=x11-libs/libdrm-2.4.112
- >=x11-libs/libxcb-1.10:=
- >=x11-libs/libxcvt-0.1.1
- >=x11-libs/libxkbcommon-1.5.0
- x11-libs/xcb-util-cursor
- x11-libs/xcb-util-keysyms
- x11-libs/xcb-util-wm
- accessibility? ( media-libs/libqaccessibilityclient:5 )
- gles2-only? ( media-libs/mesa[gles2] )
- lock? ( >=kde-plasma/kscreenlocker-${PVCUT}:5 )
- plasma? ( >=kde-frameworks/krunner-${KFMIN}:5 )
- screencast? ( >=media-video/pipewire-0.3:= )
-"
-RDEPEND="${COMMON_DEPEND}
- !kde-plasma/kwayland-server
- >=dev-qt/qtquickcontrols-${QTMIN}:5
- >=dev-qt/qtquickcontrols2-${QTMIN}:5
- >=kde-frameworks/kirigami-${KFMIN}:5
- >=kde-frameworks/kitemmodels-${KFMIN}:5[qml]
- sys-apps/hwdata
- x11-base/xwayland
- multimedia? (
- >=dev-qt/qtmultimedia-${QTMIN}:5[gstreamer,qml]
- media-plugins/gst-plugins-soup:1.0
- )
-"
-DEPEND="${COMMON_DEPEND}
- >=dev-libs/plasma-wayland-protocols-1.9
- >=dev-libs/wayland-protocols-1.31
- >=dev-qt/designer-${QTMIN}:5
- >=dev-qt/qtconcurrent-${QTMIN}:5
- >=dev-qt/qtwayland-${QTMIN}:5
- x11-base/xorg-proto
- x11-libs/xcb-util-image
- caps? ( sys-libs/libcap )
-"
-BDEPEND="
- >=dev-qt/qtwaylandscanner-${QTMIN}:5
- dev-util/wayland-scanner
- >=kde-frameworks/kcmutils-${KFMIN}:5
-"
-PDEPEND=">=kde-plasma/kde-cli-tools-${PVCUT}:*"
-
-PATCHES=(
- "${FILESDIR}/${P}-xdgshellwindow-enforce-minSize.patch" # KDE-bug 478269
- "${FILESDIR}/${P}-backends-drm-commit-m_next-state.patch" # KDE-bug 477451
-)
-
-src_prepare() {
- ecm_src_prepare
- use multimedia || eapply "${FILESDIR}/${PN}-5.26.80-gstreamer-optional.patch"
-
- # TODO: try to get a build switch upstreamed
- if ! use screencast; then
- sed -e "s/^pkg_check_modules.*PipeWire/#&/" -i CMakeLists.txt || die
- fi
-}
-
-src_configure() {
- # ODR violation (bug #921558)
- filter-lto
-
- local mycmakeargs=(
- # KWIN_BUILD_NOTIFICATIONS exists, but kdeclarative still hard-depends on it
- $(cmake_use_find_package accessibility QAccessibilityClient)
- $(cmake_use_find_package caps Libcap)
- -DKWIN_BUILD_SCREENLOCKER=$(usex lock)
- $(cmake_use_find_package plasma KF5Runner)
- )
-
- ecm_src_configure
-}
-
-pkg_postinst() {
- ecm_pkg_postinst
- optfeature "color management support" x11-misc/colord
- elog
- elog "In Plasma 5.20, default behavior of the Task Switcher to move minimised"
- elog "windows to the end of the list was changed so that it remains in the"
- elog "original order. To revert to the well established behavior:"
- elog
- elog " - Edit ~/.config/kwinrc"
- elog " - Find [TabBox] section"
- elog " - Add \"MoveMinimizedWindowsToEndOfTabBoxFocusChain=true\""
-}
diff --git a/kde-plasma/kwin/kwin-6.0.1-r2.ebuild b/kde-plasma/kwin/kwin-6.0.2.ebuild
index cb808dc2ddd8..3534c155b8c5 100644
--- a/kde-plasma/kwin/kwin-6.0.1-r2.ebuild
+++ b/kde-plasma/kwin/kwin-6.0.2.ebuild
@@ -24,7 +24,7 @@ COMMON_DEPEND="
>=dev-libs/libinput-1.19:=
>=dev-libs/wayland-1.22.0
>=dev-qt/qt5compat-${QTMIN}:6[qml]
- >=dev-qt/qtbase-${QTMIN}:6=[accessibility,dbus,gles2-only=,gui,libinput,opengl,widgets]
+ >=dev-qt/qtbase-${QTMIN}:6=[dbus,gles2-only=,gui,libinput,opengl,widgets]
>=dev-qt/qtdeclarative-${QTMIN}:6
>=dev-qt/qtsensors-${QTMIN}:6
>=dev-qt/qtshadertools-${QTMIN}:6