summaryrefslogtreecommitdiff
path: root/kde-plasma/kwin
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-12-16 14:53:46 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-12-16 14:53:46 +0000
commitf5588424e3182e3006f725536eebd7dc7b5bbfd4 (patch)
tree2c2ccb3df6c5e1039da984d110f02d0c2ec12cf1 /kde-plasma/kwin
parentd969fd257186a9d8083279276697f827331f0e46 (diff)
gentoo auto-resync : 16:12:2023 - 14:53:46
Diffstat (limited to 'kde-plasma/kwin')
-rw-r--r--kde-plasma/kwin/Manifest3
-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/kwin-5.27.10-r1.ebuild141
4 files changed, 216 insertions, 0 deletions
diff --git a/kde-plasma/kwin/Manifest b/kde-plasma/kwin/Manifest
index 4e04617b9289..a7fdc2497d8b 100644
--- a/kde-plasma/kwin/Manifest
+++ b/kde-plasma/kwin/Manifest
@@ -1,7 +1,10 @@
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-5.27.9-xdgshellwindow-enforce-min-size.patch 3484 BLAKE2B cd2d7b5a5bdffc77823e900d008572cd39e65b8f75a0495ff75bc06611cd171305835a60f22a2a9478e6c7a7dbbe121387edbf75e1f52f9ec002967aff2cd7f3 SHA512 3da317136b948ac390033d95ad53a316d0b446207018c5a520d2f2b5d9f155ced5d44e4c296339d782d4114ba54b1c2f1b6307d87d547b3643b72247dff50b05
DIST kwin-5.27.10.tar.xz 7634568 BLAKE2B 13da6f83e55236d7060c3f1fcf4f8e2ff5ca0351ae8c5fe6f313a4a4872430a5c049c582993d8c7817b493477f918060220b6b2ccda2baea0d44eb34767e2fc9 SHA512 f9cfbad8eb97c26417e430424bd496bfa31f9e3c6953ab68a7cff467de8ad43bc10a764f47bd0ce3afe4d27d2cd981ba949d09ab3090dfcef9e7a77b5a918f71
DIST kwin-5.27.9.tar.xz 7633316 BLAKE2B 0b92d2fcbff6a303edd6b30a2c0bb22d1c9d0bc263e8688ddcd13ba03469f0ae238e47f744deece1109d3b124bbbef7cf30be8e3d1d983ff0de487cc832eb115 SHA512 64b67fbd28e6806000180534c538412778a779cc70f77528a0271c9a20d08170926c8d533a4301bdede023842b6525d892ce035d42bc671c7355e06baa8318b3
+EBUILD kwin-5.27.10-r1.ebuild 4313 BLAKE2B 6d7559d3a3164ebb1e553cc03c76597cd82fd2598c29f08cf59d3d30a601b5f076b20fe857348fd3dbb9bb84035a4c9cf1c08bb6cdabfc97055533b1602140da SHA512 d86b2e4a8c0bb2ff731956b992c05d731abb87e12dca3c6c877b85ea7e58f7b4c1b494d90ce0224660afa981c272a0687b66bf66dd11a85f31d549b0d46f013a
EBUILD kwin-5.27.10.ebuild 4150 BLAKE2B 7dfbd2bc8e8a8e38f9d8efaf17006e584efe3ac35fed34e24b2be2d9bb4cc35bd95bee7213c469798cee3683ce728bad9b53e98088c549a0367718333942eaea SHA512 7c59ed1879d542bf92d2c3b1913b396ec1292813c88bccbb44add4fd572d07ec8e97e209846442b8e4e6aa18a278efe536476c7b301d0b986dc2324863a20f99
EBUILD kwin-5.27.9-r1.ebuild 4231 BLAKE2B bc0df67836518d2c4208f6f31989992bbda6dbc33eae401f9eb9c0f3bf67bae792adcef01fba6ebdc2e83d64a932834bfbe6e597e285f06a8a69f24a7209a0c9 SHA512 e3c3420c4c96d128507b914171924f2a3e99583a02151b4ef8dfc7b4bdbe60e5b55d5bf2d545ff2475baaf2bb4685be3aa11caf43f0ba90856092d9fe779043d
MISC metadata.xml 505 BLAKE2B 41f9200ff14d77161bb0863065be67315f5459fa8232da5f0cf18aacd8abb15f7e858277a59a219e59f777fbd2d2d1f035c941d1a06e459b01935b70921e678d SHA512 19c2af1c8b56be6989b617adc24fc0a8bc33d4913eecf22a4ecef3c1a2cf2994e814655f3a885a75ad17613af1dc41b6babb5e4375a3e217f0cc5842ba969a29
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
new file mode 100644
index 000000000000..dd51fd2ae1b8
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.27.10-backends-drm-commit-m_next-state.patch
@@ -0,0 +1,34 @@
+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
new file mode 100644
index 000000000000..8f3dac004816
--- /dev/null
+++ b/kde-plasma/kwin/files/kwin-5.27.10-xdgshellwindow-enforce-minSize.patch
@@ -0,0 +1,38 @@
+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/kwin-5.27.10-r1.ebuild b/kde-plasma/kwin/kwin-5.27.10-r1.ebuild
new file mode 100644
index 000000000000..1611692d886b
--- /dev/null
+++ b/kde-plasma/kwin/kwin-5.27.10-r1.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2023 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 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] )
+"
+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() {
+ 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\""
+}