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 |
+) |