Gentoo Archives: gentoo-commits

From: Andreas Sturmlechner <asturm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: kde-frameworks/kwayland/files/, kde-frameworks/kwayland/
Date: Sat, 24 Sep 2022 20:40:01
Message-Id: 1664051978.f56997f551acc1a3adc6da6c7271060379fce56f.asturm@gentoo
1 commit: f56997f551acc1a3adc6da6c7271060379fce56f
2 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
3 AuthorDate: Sat Sep 24 19:34:11 2022 +0000
4 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
5 CommitDate: Sat Sep 24 20:39:38 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f56997f5
7
8 kde-frameworks/kwayland: Fix misplaced panel popups in Plasma Wayland
9
10 Upstream commit d02188ad1f6222215adcf842f4c9806ba9e62ccb
11
12 See also:
13 https://mail.kde.org/pipermail/kde-frameworks-devel/2022-September/123098.html
14
15 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
16
17 ....0-plasmashell-fallback-for-applet-popups.patch | 37 +++++++++++++++++++
18 kde-frameworks/kwayland/kwayland-5.98.0-r1.ebuild | 41 ++++++++++++++++++++++
19 2 files changed, 78 insertions(+)
20
21 diff --git a/kde-frameworks/kwayland/files/kwayland-5.98.0-plasmashell-fallback-for-applet-popups.patch b/kde-frameworks/kwayland/files/kwayland-5.98.0-plasmashell-fallback-for-applet-popups.patch
22 new file mode 100644
23 index 000000000000..7cc45ad8e2e6
24 --- /dev/null
25 +++ b/kde-frameworks/kwayland/files/kwayland-5.98.0-plasmashell-fallback-for-applet-popups.patch
26 @@ -0,0 +1,37 @@
27 +From d02188ad1f6222215adcf842f4c9806ba9e62ccb Mon Sep 17 00:00:00 2001
28 +From: Xaver Hugl <xaver.hugl@×××××.com>
29 +Date: Sat, 17 Sep 2022 01:18:28 +0200
30 +Subject: [PATCH] client/plasmashell: add fallback for applet popups
31 +
32 +When the compositor doesn't support applet popups, the current code sends an
33 +invalid surface role. This causes KWin to fall back to the "normal" surface role
34 +and do normal window placement on it.
35 +
36 +CCBUG: 459188
37 +---
38 + src/client/plasmashell.cpp | 9 ++++++++-
39 + 1 file changed, 8 insertions(+), 1 deletion(-)
40 +
41 +diff --git a/src/client/plasmashell.cpp b/src/client/plasmashell.cpp
42 +index dc613cb..93bc31c 100644
43 +--- a/src/client/plasmashell.cpp
44 ++++ b/src/client/plasmashell.cpp
45 +@@ -276,7 +276,14 @@ void PlasmaShellSurface::setRole(PlasmaShellSurface::Role role)
46 + }
47 + break;
48 + case Role::AppletPopup:
49 +- wlRole = ORG_KDE_PLASMA_SURFACE_ROLE_APPLETPOPUP;
50 ++ // ORG_KDE_PLASMA_SURFACE_ROLE_APPLETPOPUP_SINCE_VERSION is not used for this check
51 ++ // because it wrongly is 7 with old plasma wayland protocols
52 ++ if (wl_proxy_get_version(d->surface) < 8) {
53 ++ // dock is what applet popups were before
54 ++ wlRole = ORG_KDE_PLASMA_SURFACE_ROLE_PANEL;
55 ++ } else {
56 ++ wlRole = ORG_KDE_PLASMA_SURFACE_ROLE_APPLETPOPUP;
57 ++ }
58 + break;
59 + default:
60 + Q_UNREACHABLE();
61 +--
62 +GitLab
63 +
64
65 diff --git a/kde-frameworks/kwayland/kwayland-5.98.0-r1.ebuild b/kde-frameworks/kwayland/kwayland-5.98.0-r1.ebuild
66 new file mode 100644
67 index 000000000000..59884e1adf75
68 --- /dev/null
69 +++ b/kde-frameworks/kwayland/kwayland-5.98.0-r1.ebuild
70 @@ -0,0 +1,41 @@
71 +# Copyright 1999-2022 Gentoo Authors
72 +# Distributed under the terms of the GNU General Public License v2
73 +
74 +EAPI=8
75 +
76 +ECM_TEST="true"
77 +PVCUT=$(ver_cut 1-2)
78 +QTMIN=5.15.5
79 +inherit ecm frameworks.kde.org
80 +
81 +DESCRIPTION="Qt-style client and server library wrapper for Wayland libraries"
82 +HOMEPAGE="https://invent.kde.org/frameworks/kwayland"
83 +
84 +LICENSE="LGPL-2.1"
85 +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
86 +IUSE=""
87 +
88 +# All failing, I guess we need a virtual wayland server
89 +RESTRICT="test"
90 +
91 +# slot ops: includes qpa/qplatformnativeinterface.h, surface_p.h
92 +RDEPEND="
93 + >=dev-libs/wayland-1.15.0
94 + >=dev-qt/qtconcurrent-${QTMIN}:5
95 + >=dev-qt/qtgui-${QTMIN}:5=[egl]
96 + >=dev-qt/qtwayland-${QTMIN}:5=
97 + media-libs/libglvnd
98 +"
99 +DEPEND="${RDEPEND}
100 + >=dev-libs/plasma-wayland-protocols-1.7.0
101 + >=dev-libs/wayland-protocols-1.15
102 + sys-kernel/linux-headers
103 +"
104 +BDEPEND="
105 + >=dev-qt/qtwaylandscanner-${QTMIN}:5
106 + >=dev-util/wayland-scanner-1.19.0
107 +"
108 +
109 +PATCHES=(
110 + "${FILESDIR}/${P}-plasmashell-fallback-for-applet-popups.patch"
111 +)