summaryrefslogtreecommitdiff
path: root/kde-plasma/xdg-desktop-portal-kde
diff options
context:
space:
mode:
Diffstat (limited to 'kde-plasma/xdg-desktop-portal-kde')
-rw-r--r--kde-plasma/xdg-desktop-portal-kde/Manifest6
-rw-r--r--kde-plasma/xdg-desktop-portal-kde/files/xdg-desktop-portal-kde-5.24.5-screencast-close-only-streams-of-closing-session.patch107
-rw-r--r--kde-plasma/xdg-desktop-portal-kde/files/xdg-desktop-portal-kde-5.24.5-screencast-dont-provide-every-running-stream.patch358
-rw-r--r--kde-plasma/xdg-desktop-portal-kde/files/xdg-desktop-portal-kde-5.24.5-screencast-stop-stream-actively.patch28
-rw-r--r--kde-plasma/xdg-desktop-portal-kde/files/xdg-desktop-portal-kde-5.24.5-show-screenshare-notifier-more-prominently.patch32
-rw-r--r--kde-plasma/xdg-desktop-portal-kde/xdg-desktop-portal-kde-5.24.5-r2.ebuild51
6 files changed, 0 insertions, 582 deletions
diff --git a/kde-plasma/xdg-desktop-portal-kde/Manifest b/kde-plasma/xdg-desktop-portal-kde/Manifest
index 7d34a2b22b18..2f95cb5a3a9c 100644
--- a/kde-plasma/xdg-desktop-portal-kde/Manifest
+++ b/kde-plasma/xdg-desktop-portal-kde/Manifest
@@ -1,11 +1,5 @@
-AUX xdg-desktop-portal-kde-5.24.5-screencast-close-only-streams-of-closing-session.patch 3673 BLAKE2B c7a239293c2e3831c3490895fdff4e4ff03a5480130a1ed68412090aca457e18bb403394452d1edb24f9a92ca1156751d7ae5f4c2500b3337a0ae03924efb69a SHA512 a11aeaaea3ed54edc39000e9ec34f655fa9c3b1af3d8257a963a4ca7a64b8ad6025003cb2aa74fc4ee505f8d221d6fd537e61ef14cdcb23d6bf1eddaa6d44759
-AUX xdg-desktop-portal-kde-5.24.5-screencast-dont-provide-every-running-stream.patch 14356 BLAKE2B 7cf3a0c42f6630a8b6a5f415f04b0ab0f560163b4c7f5465c92ed11fd8c192c4bbdf49c9bacf8c99813f9312178639adb41b8fdb414adeb1f21b16ad739c988a SHA512 d6ae1a00c2aed8f033fcd7a9eef36f72ac3f31753ef39a946da34b6346db093a65dceaeb3664de92a70a8839be4d5f1fc385592e0cd188d70c93e12026302097
-AUX xdg-desktop-portal-kde-5.24.5-screencast-stop-stream-actively.patch 882 BLAKE2B 5f5efbf3ae00cf7555c9d8d7d167ab5e2ec7c5318c27ea533204e4e4590272258e62266d4ebd69aaaa30cdcbcfeaa7b995d92cd73e7a13bfcac35e0c16a1b577 SHA512 a3273bddccd3f0a6cb51d66661e88545292298427f42a797a9590abd24e7e99ca50971f8e27859d5e578cdca3257849a8fd72c57be3eda0d4fe938d787577d9d
-AUX xdg-desktop-portal-kde-5.24.5-show-screenshare-notifier-more-prominently.patch 1097 BLAKE2B bf2fab8ddc7d79f4759a5aec9de7c93ff13c0e249eee6eef689db59d034aa39a06b93db1260d3e3c96f567633dac07c762828815a9785e8bdf7de6a12eae324c SHA512 cc36b2e04ca0b88982a370a5b0b5b4ba77dbc503af970016be87b0a0c54417302f76f1febcd75b2736008523fd942d78431e706c200a73c1ebf64a8f61c2742a
-DIST xdg-desktop-portal-kde-5.24.5.tar.xz 88904 BLAKE2B b7ab407132ce8dfdae58854dc29af270c411e1d2c7c8631c6209ff0fb44c80b8287dbe13a6ed60d2e8926f4b23ed3209242bd2836906a44ee06a936d56a91131 SHA512 6314fa4f679700224c6de44726f1fbf513249cebcb9c0fae212bde3de98cb0cc040f671e2435d8e53f379ad907bde4022a6ecfe5f95424a9414ce7471c0fe401
DIST xdg-desktop-portal-kde-5.24.6.tar.xz 89268 BLAKE2B 5ddfdf8eee3c897aee56aa8e8797dfb9b0e102083d9c1fb50457b3428fedfca7ff8107c2336646d721d4cfeb68b25db5ed447c6239ddefdde6c65c40fa9d37f2 SHA512 d394bbedba5a09a9d53b2aee2dd11a691c88dfda66bf2bf1fff192eba4dce447e05f932955d13d16f1e0b026b79c24c26cd09b81d5520f37a27a173e1287d77d
DIST xdg-desktop-portal-kde-5.25.4.tar.xz 105280 BLAKE2B a2b35523b881cc6e42691b8092ec64eceaf11b0c3678612fb777a2acbfb86cf19bfcc54ab1bc28b56b6a9bf6b38e6d7dfcb983385140ceb57a356c3c38797b97 SHA512 4841394425e6404e21758ec178e33a5e45dbb4a43208ea6c63f9a4f9baa3975cb7e3b9e720b61d88a428b03cd66227750a665edff50b6879c4578ce8c370d904
-EBUILD xdg-desktop-portal-kde-5.24.5-r2.ebuild 1504 BLAKE2B 976ad92f56a0f80722652fb1290f4b2eff5b77221f85fa741462afdc8b8653ab8883b2e58078b3f9097c2352140477244225c547ba0c4db8e48d55410a30bec3 SHA512 a5af973840c2b9530f1ce6ebb427e2b129c146685dbd236af9de778c7d524302cde8800b1920e4cb4eb1c205e63352b332f9f791266896094aa56becf512dac7
EBUILD xdg-desktop-portal-kde-5.24.6.ebuild 1215 BLAKE2B 60fdae3df7d33cce5d279af04951d767a04796642eccf3c119ef35a21c11827bf483974c53c004602577ed348b44b65b11e10a80f668fd1d84bf69ffd0ed4dc9 SHA512 49d0930a830399c5d0ba007faf7ccd8f5300ef4a4b51a45a53afbfef1a035e0ff2dcc05596df7194e5708ab24fa7ee24cec1e454d192ca2a6d8ec0c4e24d953a
EBUILD xdg-desktop-portal-kde-5.25.4.ebuild 1280 BLAKE2B 6287c0a1724a21959ef829a6013e67f12e305e196cd94ebc08f63d57adec5c012adc39dfe710f1e730f6d2cb7d34a25dbbb764df6dca5804788150dfe5804a0e SHA512 4a077796d93df43d13ab4d4d996e9c8d817ce9328680a9232b5a0b874379a429a4e53b64f50b46077255806f39c665f5925e63ce806f63082047bd288e146f0c
MISC metadata.xml 318 BLAKE2B 922a5e32e706b2976c5f359a14194d268d3f499398576c80ce5fad8c0fcea0fbf048de4480a80a6a1889c88b8b6c14147654a3ab4d5ffbcc258c2290da63f6d1 SHA512 614cb8dda7ad2088e5d6ef39b449bb4be0ac72cd0231c320188d76d1816dce6490c5114bb4798112c4b11d99d30a9e82ff8fcf08ffa8c049589682a5e38208f6
diff --git a/kde-plasma/xdg-desktop-portal-kde/files/xdg-desktop-portal-kde-5.24.5-screencast-close-only-streams-of-closing-session.patch b/kde-plasma/xdg-desktop-portal-kde/files/xdg-desktop-portal-kde-5.24.5-screencast-close-only-streams-of-closing-session.patch
deleted file mode 100644
index 134f55c900b5..000000000000
--- a/kde-plasma/xdg-desktop-portal-kde/files/xdg-desktop-portal-kde-5.24.5-screencast-close-only-streams-of-closing-session.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-From cd8275c722aa25dd22353121131c914d3ab3b438 Mon Sep 17 00:00:00 2001
-From: Aleix Pol <aleixpol@kde.org>
-Date: Sat, 28 May 2022 03:36:14 +0200
-Subject: [PATCH] screencast: When closing a session, only close the streams
- from that session
-
----
- src/screencast.cpp | 11 ++++++++---
- src/session.h | 12 ++++++++++++
- src/waylandintegration.cpp | 5 +++++
- src/waylandintegration.h | 1 +
- 4 files changed, 26 insertions(+), 3 deletions(-)
-
-diff --git a/src/screencast.cpp b/src/screencast.cpp
-index 5be6210..84cc4bd 100644
---- a/src/screencast.cpp
-+++ b/src/screencast.cpp
-@@ -68,8 +68,12 @@ uint ScreenCastPortal::CreateSession(const QDBusObjectPath &handle,
- return 2;
- }
-
-- connect(session, &Session::closed, []() {
-- WaylandIntegration::stopAllStreaming();
-+ connect(session, &Session::closed, [session] {
-+ auto screencastSession = qobject_cast<ScreenCastSession *>(session);
-+ const auto streams = screencastSession->streams();
-+ for (const WaylandIntegration::Stream &stream : streams) {
-+ WaylandIntegration::stopStreaming(stream.nodeId);
-+ }
- });
-
- connect(WaylandIntegration::waylandIntegration(), &WaylandIntegration::WaylandIntegration::streamingStopped, session, &Session::close);
-@@ -169,7 +173,8 @@ uint ScreenCastPortal::Start(const QDBusObjectPath &handle,
- return 2;
- }
-
-- results.insert(QStringLiteral("streams"), QVariant::fromValue(streams));
-+ session->setStreams(streams);
-+ results.insert(QStringLiteral("streams"), QVariant::fromValue<WaylandIntegration::Streams>(streams));
-
- if (inhibitionsEnabled()) {
- new NotificationInhibition(app_id, i18nc("Do not disturb mode is enabled because...", "Screen sharing in progress"), session);
-diff --git a/src/session.h b/src/session.h
-index a42222e..dd05680 100644
---- a/src/session.h
-+++ b/src/session.h
-@@ -14,6 +14,7 @@
-
- #include "remotedesktop.h"
- #include "screencast.h"
-+#include "waylandintegration.h"
-
- class Session : public QDBusVirtualObject
- {
-@@ -62,10 +63,21 @@ public:
- return SessionType::ScreenCast;
- }
-
-+ WaylandIntegration::Streams streams() const
-+ {
-+ return m_streams;
-+ }
-+ void setStreams(const WaylandIntegration::Streams &streams)
-+ {
-+ m_streams = streams;
-+ }
-+
- private:
- bool m_multipleSources;
- ScreenCastPortal::CursorModes m_cursorMode;
- ScreenCastPortal::SourceType m_types;
-+
-+ WaylandIntegration::Streams m_streams;
- };
-
- class RemoteDesktopSession : public ScreenCastSession
-diff --git a/src/waylandintegration.cpp b/src/waylandintegration.cpp
-index 9f5a177..e05f73a 100644
---- a/src/waylandintegration.cpp
-+++ b/src/waylandintegration.cpp
-@@ -89,6 +89,11 @@ void WaylandIntegration::stopAllStreaming()
- globalWaylandIntegration->stopAllStreaming();
- }
-
-+void WaylandIntegration::stopStreaming(uint node)
-+{
-+ globalWaylandIntegration->stopStreaming(node);
-+}
-+
- void WaylandIntegration::requestPointerButtonPress(quint32 linuxButton)
- {
- globalWaylandIntegration->requestPointerButtonPress(linuxButton);
-diff --git a/src/waylandintegration.h b/src/waylandintegration.h
-index b8e6a00..784ee12 100644
---- a/src/waylandintegration.h
-+++ b/src/waylandintegration.h
-@@ -131,6 +131,7 @@ void startStreamingInput();
- Stream startStreamingOutput(quint32 outputName, Screencasting::CursorMode mode);
- Stream startStreamingWindow(const QMap<int, QVariant> &win);
- void stopAllStreaming();
-+void stopStreaming(uint node);
-
- void requestPointerButtonPress(quint32 linuxButton);
- void requestPointerButtonRelease(quint32 linuxButton);
---
-GitLab
-
diff --git a/kde-plasma/xdg-desktop-portal-kde/files/xdg-desktop-portal-kde-5.24.5-screencast-dont-provide-every-running-stream.patch b/kde-plasma/xdg-desktop-portal-kde/files/xdg-desktop-portal-kde-5.24.5-screencast-dont-provide-every-running-stream.patch
deleted file mode 100644
index 6aa94ccb7f69..000000000000
--- a/kde-plasma/xdg-desktop-portal-kde/files/xdg-desktop-portal-kde-5.24.5-screencast-dont-provide-every-running-stream.patch
+++ /dev/null
@@ -1,358 +0,0 @@
-From 3dbd366516c38d987025623feea18f79c15d72dd Mon Sep 17 00:00:00 2001
-From: Aleix Pol <aleixpol@kde.org>
-Date: Mon, 30 May 2022 15:42:02 +0200
-Subject: [PATCH] Backport of 5f7fe7482ae3de6e5dabbd2712c283439b0eecac
-
-Since the codebases had diverged over time, I've backported it by hand
-using the same concepts as the forementioned fix, trying to minimise the
-delta with the latest released Plasma 5.24.
----
- src/remotedesktop.cpp | 12 ++------
- src/screencast.cpp | 15 ++++++----
- src/waylandintegration.cpp | 60 +++++++++++++++-----------------------
- src/waylandintegration.h | 26 +++++++++++++++--
- src/waylandintegration_p.h | 15 ++--------
- 5 files changed, 61 insertions(+), 67 deletions(-)
-
-diff --git a/src/remotedesktop.cpp b/src/remotedesktop.cpp
-index f36def4..9282ff0 100644
---- a/src/remotedesktop.cpp
-+++ b/src/remotedesktop.cpp
-@@ -122,20 +122,14 @@ uint RemoteDesktopPortal::Start(const QDBusObjectPath &handle,
-
- if (remoteDesktopDialog->exec()) {
- if (session->screenSharingEnabled()) {
-- if (!WaylandIntegration::startStreamingOutput(remoteDesktopDialog->selectedScreens().first(), Screencasting::Hidden)) {
-+ auto stream = WaylandIntegration::startStreamingOutput(remoteDesktopDialog->selectedScreens().first(), Screencasting::Hidden);
-+ if (!stream.isValid()) {
- return 2;
- }
-
- WaylandIntegration::authenticate();
-
-- QVariant streams = WaylandIntegration::streams();
--
-- if (!streams.isValid()) {
-- qCWarning(XdgDesktopPortalKdeRemoteDesktop()) << "Pipewire stream is not ready to be streamed";
-- return 2;
-- }
--
-- results.insert(QStringLiteral("streams"), streams);
-+ results.insert(QStringLiteral("streams"), QVariant::fromValue<WaylandIntegration::Streams>({stream}));
- } else {
- qCWarning(XdgDesktopPortalKdeRemoteDesktop()) << "Only stream input";
- WaylandIntegration::startStreamingInput();
-diff --git a/src/screencast.cpp b/src/screencast.cpp
-index 210bbbb..5be6210 100644
---- a/src/screencast.cpp
-+++ b/src/screencast.cpp
-@@ -147,26 +147,29 @@ uint ScreenCastPortal::Start(const QDBusObjectPath &handle,
-
- if (screenDialog->exec()) {
- const auto selectedScreens = screenDialog->selectedScreens();
-+ WaylandIntegration::Streams streams;
- for (quint32 outputid : selectedScreens) {
-- if (!WaylandIntegration::startStreamingOutput(outputid, Screencasting::CursorMode(session->cursorMode()))) {
-+ auto stream = WaylandIntegration::startStreamingOutput(outputid, Screencasting::CursorMode(session->cursorMode()));
-+ if (!stream.isValid()) {
- return 2;
- }
-+ streams << stream;
- }
- const auto selectedWindows = screenDialog->selectedWindows();
- for (const auto &win : selectedWindows) {
-- if (!WaylandIntegration::startStreamingWindow(win)) {
-+ auto stream = WaylandIntegration::startStreamingWindow(win);
-+ if (!stream.isValid()) {
- return 2;
- }
-+ streams << stream;
- }
-
-- QVariant streams = WaylandIntegration::streams();
--
-- if (!streams.isValid()) {
-+ if (streams.isEmpty()) {
- qCWarning(XdgDesktopPortalKdeScreenCast) << "Pipewire stream is not ready to be streamed";
- return 2;
- }
-
-- results.insert(QStringLiteral("streams"), streams);
-+ results.insert(QStringLiteral("streams"), QVariant::fromValue(streams));
-
- if (inhibitionsEnabled()) {
- new NotificationInhibition(app_id, i18nc("Do not disturb mode is enabled because...", "Screen sharing in progress"), session);
-diff --git a/src/waylandintegration.cpp b/src/waylandintegration.cpp
-index 44d862a..9f5a177 100644
---- a/src/waylandintegration.cpp
-+++ b/src/waylandintegration.cpp
-@@ -43,7 +43,7 @@ Q_LOGGING_CATEGORY(XdgDesktopPortalKdeWaylandIntegration, "xdp-kde-wayland-integ
-
- Q_GLOBAL_STATIC(WaylandIntegration::WaylandIntegrationPrivate, globalWaylandIntegration)
-
--static QDebug operator<<(QDebug dbg, const WaylandIntegration::WaylandIntegrationPrivate::Stream &c)
-+static QDebug operator<<(QDebug dbg, const WaylandIntegration::Stream &c)
- {
- dbg.nospace() << "Stream(" << c.map << ", " << c.nodeId << ")";
- return dbg.space();
-@@ -74,12 +74,12 @@ void WaylandIntegration::startStreamingInput()
- globalWaylandIntegration->startStreamingInput();
- }
-
--bool WaylandIntegration::startStreamingOutput(quint32 outputName, Screencasting::CursorMode mode)
-+WaylandIntegration::Stream WaylandIntegration::startStreamingOutput(quint32 outputName, Screencasting::CursorMode mode)
- {
- return globalWaylandIntegration->startStreamingOutput(outputName, mode);
- }
-
--bool WaylandIntegration::startStreamingWindow(const QMap<int, QVariant> &win)
-+WaylandIntegration::Stream WaylandIntegration::startStreamingWindow(const QMap<int, QVariant> &win)
- {
- return globalWaylandIntegration->startStreamingWindow(win);
- }
-@@ -124,11 +124,6 @@ QMap<quint32, WaylandIntegration::WaylandOutput> WaylandIntegration::screens()
- return globalWaylandIntegration->screens();
- }
-
--QVariant WaylandIntegration::streams()
--{
-- return globalWaylandIntegration->streams();
--}
--
- // Thank you kscreen
- void WaylandIntegration::WaylandOutput::setOutputType(const QString &type)
- {
-@@ -157,7 +152,9 @@ void WaylandIntegration::WaylandOutput::setOutputType(const QString &type)
- }
- }
-
--const QDBusArgument &operator>>(const QDBusArgument &arg, WaylandIntegration::WaylandIntegrationPrivate::Stream &stream)
-+namespace WaylandIntegration
-+{
-+const QDBusArgument &operator>>(const QDBusArgument &arg, Stream &stream)
- {
- arg.beginStructure();
- arg >> stream.nodeId;
-@@ -177,7 +174,7 @@ const QDBusArgument &operator>>(const QDBusArgument &arg, WaylandIntegration::Wa
- return arg;
- }
-
--const QDBusArgument &operator<<(QDBusArgument &arg, const WaylandIntegration::WaylandIntegrationPrivate::Stream &stream)
-+const QDBusArgument &operator<<(QDBusArgument &arg, const Stream &stream)
- {
- arg.beginStructure();
- arg << stream.nodeId;
-@@ -186,9 +183,7 @@ const QDBusArgument &operator<<(QDBusArgument &arg, const WaylandIntegration::Wa
-
- return arg;
- }
--
--Q_DECLARE_METATYPE(WaylandIntegration::WaylandIntegrationPrivate::Stream)
--Q_DECLARE_METATYPE(WaylandIntegration::WaylandIntegrationPrivate::Streams)
-+}
-
- KWayland::Client::PlasmaWindowManagement *WaylandIntegration::plasmaWindowManagement()
- {
-@@ -207,8 +202,8 @@ WaylandIntegration::WaylandIntegrationPrivate::WaylandIntegrationPrivate()
- , m_fakeInput(nullptr)
- , m_screencasting(nullptr)
- {
-- qDBusRegisterMetaType<WaylandIntegrationPrivate::Stream>();
-- qDBusRegisterMetaType<WaylandIntegrationPrivate::Streams>();
-+ qDBusRegisterMetaType<Stream>();
-+ qDBusRegisterMetaType<Streams>();
- }
-
- WaylandIntegration::WaylandIntegrationPrivate::~WaylandIntegrationPrivate() = default;
-@@ -228,25 +223,25 @@ void WaylandIntegration::WaylandIntegrationPrivate::startStreamingInput()
- m_streamInput = true;
- }
-
--bool WaylandIntegration::WaylandIntegrationPrivate::startStreamingWindow(const QMap<int, QVariant> &win)
-+WaylandIntegration::Stream WaylandIntegration::WaylandIntegrationPrivate::startStreamingWindow(const QMap<int, QVariant> &win)
- {
- auto uuid = win[KWayland::Client::PlasmaWindowModel::Uuid].toString();
- return startStreaming(m_screencasting->createWindowStream(uuid, Screencasting::Hidden), {}, win);
- }
-
--bool WaylandIntegration::WaylandIntegrationPrivate::startStreamingOutput(quint32 outputName, Screencasting::CursorMode mode)
-+WaylandIntegration::Stream WaylandIntegration::WaylandIntegrationPrivate::startStreamingOutput(quint32 outputName, Screencasting::CursorMode mode)
- {
- auto output = m_outputMap.value(outputName).output();
-
- return startStreaming(m_screencasting->createOutputStream(output.data(), mode), output, {});
- }
-
--bool WaylandIntegration::WaylandIntegrationPrivate::startStreaming(ScreencastingStream *stream,
-- QSharedPointer<KWayland::Client::Output> output,
-- const QMap<int, QVariant> &win)
-+WaylandIntegration::Stream WaylandIntegration::WaylandIntegrationPrivate::startStreaming(ScreencastingStream *stream,
-+ QSharedPointer<KWayland::Client::Output> output,
-+ const QMap<int, QVariant> &win)
- {
- QEventLoop loop;
-- bool streamReady = false;
-+ Stream ret;
- connect(stream, &ScreencastingStream::failed, this, [&](const QString &error) {
- qCWarning(XdgDesktopPortalKdeWaylandIntegration) << "failed to start streaming" << stream << error;
-
-@@ -255,30 +250,26 @@ bool WaylandIntegration::WaylandIntegrationPrivate::startStreaming(Screencasting
- notification->setText(error);
- notification->setIconName(QStringLiteral("dialog-error"));
- notification->sendEvent();
--
-- streamReady = false;
- loop.quit();
- });
- connect(stream, &ScreencastingStream::created, this, [&](uint32_t nodeid) {
-- Stream s;
-- s.stream = stream;
-- s.nodeId = nodeid;
-+ ret.stream = stream;
-+ ret.nodeId = nodeid;
- if (output) {
- m_streamedScreenPosition = output->globalPosition();
-- s.map = {
-+ ret.map = {
- {QLatin1String("size"), output->pixelSize()},
- {QLatin1String("source_type"), static_cast<uint>(ScreenCastPortal::Monitor)},
- };
- } else {
-- s.map = {{QLatin1String("source_type"), static_cast<uint>(ScreenCastPortal::Window)}};
-+ ret.map = {{QLatin1String("source_type"), static_cast<uint>(ScreenCastPortal::Window)}};
- }
-- m_streams.append(s);
-+ m_streams.append(ret);
- startStreamingInput();
-
- connect(stream, &ScreencastingStream::closed, this, [this, nodeid] {
- stopStreaming(nodeid);
- });
-- streamReady = true;
-
- auto item = new KStatusNotifierItem(stream);
- item->setStandardActionsEnabled(false);
-@@ -303,10 +294,10 @@ bool WaylandIntegration::WaylandIntegrationPrivate::startStreaming(Screencasting
- QTimer::singleShot(3000, &loop, &QEventLoop::quit);
- loop.exec();
-
-- return streamReady;
-+ return ret;
- }
-
--void WaylandIntegration::WaylandIntegrationPrivate::Stream::close()
-+void WaylandIntegration::Stream::close()
- {
- stream->deleteLater();
- }
-@@ -390,11 +381,6 @@ QMap<quint32, WaylandIntegration::WaylandOutput> WaylandIntegration::WaylandInte
- return m_outputMap;
- }
-
--QVariant WaylandIntegration::WaylandIntegrationPrivate::streams()
--{
-- return QVariant::fromValue<WaylandIntegrationPrivate::Streams>(m_streams);
--}
--
- void WaylandIntegration::WaylandIntegrationPrivate::authenticate()
- {
- if (!m_waylandAuthenticationRequested) {
-diff --git a/src/waylandintegration.h b/src/waylandintegration.h
-index 04319c9..b8e6a00 100644
---- a/src/waylandintegration.h
-+++ b/src/waylandintegration.h
-@@ -9,6 +9,7 @@
- #ifndef XDG_DESKTOP_PORTAL_KDE_WAYLAND_INTEGRATION_H
- #define XDG_DESKTOP_PORTAL_KDE_WAYLAND_INTEGRATION_H
-
-+#include <QDBusArgument>
- #include <QObject>
- #include <QPoint>
- #include <QSize>
-@@ -28,6 +29,23 @@ class ScreencastingSource;
-
- namespace WaylandIntegration
- {
-+
-+struct Stream {
-+ ScreencastingStream *stream = nullptr;
-+ uint nodeId;
-+ QVariantMap map;
-+
-+ bool isValid() const
-+ {
-+ return stream != nullptr;
-+ }
-+
-+ void close();
-+};
-+typedef QVector<Stream> Streams;
-+const QDBusArgument &operator<<(QDBusArgument &arg, const Stream &stream);
-+const QDBusArgument &operator>>(const QDBusArgument &arg, Stream &stream);
-+
- class WaylandOutput
- {
- public:
-@@ -110,8 +128,8 @@ bool isStreamingEnabled();
- bool isStreamingAvailable();
-
- void startStreamingInput();
--bool startStreamingOutput(quint32 outputName, Screencasting::CursorMode mode);
--bool startStreamingWindow(const QMap<int, QVariant> &win);
-+Stream startStreamingOutput(quint32 outputName, Screencasting::CursorMode mode);
-+Stream startStreamingWindow(const QMap<int, QVariant> &win);
- void stopAllStreaming();
-
- void requestPointerButtonPress(quint32 linuxButton);
-@@ -123,7 +141,6 @@ void requestPointerAxisDiscrete(Qt::Orientation axis, qreal delta);
- void requestKeyboardKeycode(int keycode, bool state);
-
- QMap<quint32, WaylandOutput> screens();
--QVariant streams();
-
- void init();
-
-@@ -132,4 +149,7 @@ KWayland::Client::PlasmaWindowManagement *plasmaWindowManagement();
- WaylandIntegration *waylandIntegration();
- }
-
-+Q_DECLARE_METATYPE(WaylandIntegration::Stream)
-+Q_DECLARE_METATYPE(WaylandIntegration::Streams)
-+
- #endif // XDG_DESKTOP_PORTAL_KDE_WAYLAND_INTEGRATION_H
-diff --git a/src/waylandintegration_p.h b/src/waylandintegration_p.h
-index 220ad3d..e95f6a0 100644
---- a/src/waylandintegration_p.h
-+++ b/src/waylandintegration_p.h
-@@ -53,15 +53,6 @@ private:
- KWayland::Client::PlasmaWindowManagement *m_windowManagement = nullptr;
-
- public:
-- struct Stream {
-- ScreencastingStream *stream = nullptr;
-- uint nodeId;
-- QVariantMap map;
--
-- void close();
-- };
-- typedef QVector<Stream> Streams;
--
- void authenticate();
-
- bool isStreamingEnabled() const;
-@@ -69,9 +60,9 @@ public:
-
- void startStreamingInput();
-
-- bool startStreaming(ScreencastingStream *stream, QSharedPointer<KWayland::Client::Output> output, const QMap<int, QVariant> &win);
-- bool startStreamingOutput(quint32 outputName, Screencasting::CursorMode mode);
-- bool startStreamingWindow(const QMap<int, QVariant> &win);
-+ Stream startStreaming(ScreencastingStream *stream, QSharedPointer<KWayland::Client::Output> output, const QMap<int, QVariant> &win);
-+ Stream startStreamingOutput(quint32 outputName, Screencasting::CursorMode mode);
-+ Stream startStreamingWindow(const QMap<int, QVariant> &win);
- void stopStreaming(uint32_t nodeid);
- void stopAllStreaming();
-
---
-GitLab
-
diff --git a/kde-plasma/xdg-desktop-portal-kde/files/xdg-desktop-portal-kde-5.24.5-screencast-stop-stream-actively.patch b/kde-plasma/xdg-desktop-portal-kde/files/xdg-desktop-portal-kde-5.24.5-screencast-stop-stream-actively.patch
deleted file mode 100644
index 3c1284108b20..000000000000
--- a/kde-plasma/xdg-desktop-portal-kde/files/xdg-desktop-portal-kde-5.24.5-screencast-stop-stream-actively.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From d74e7dce1d333107760a8ae8d2bdd7521d31a09f Mon Sep 17 00:00:00 2001
-From: Aleix Pol <aleixpol@kde.org>
-Date: Sat, 28 May 2022 03:37:14 +0200
-Subject: [PATCH] screencast: When we stop a stream, do it actively
-
-We were just forgetting about it.
-
-
-(cherry picked from commit aa531bde14a13521f99ae8e44d6e83bc8749d761)
----
- src/waylandintegration.cpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/waylandintegration.cpp b/src/waylandintegration.cpp
-index b1b2d4d..44d862a 100644
---- a/src/waylandintegration.cpp
-+++ b/src/waylandintegration.cpp
-@@ -328,6 +328,7 @@ void WaylandIntegration::WaylandIntegrationPrivate::stopStreaming(uint32_t nodei
- {
- for (auto it = m_streams.begin(), itEnd = m_streams.end(); it != itEnd; ++it) {
- if (it->nodeId == nodeid) {
-+ it->close();
- m_streams.erase(it);
- break;
- }
---
-GitLab
-
diff --git a/kde-plasma/xdg-desktop-portal-kde/files/xdg-desktop-portal-kde-5.24.5-show-screenshare-notifier-more-prominently.patch b/kde-plasma/xdg-desktop-portal-kde/files/xdg-desktop-portal-kde-5.24.5-show-screenshare-notifier-more-prominently.patch
deleted file mode 100644
index 6b771bfede1e..000000000000
--- a/kde-plasma/xdg-desktop-portal-kde/files/xdg-desktop-portal-kde-5.24.5-show-screenshare-notifier-more-prominently.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From bbff465e6a005c737ee2e53eb5e072da006d9b4b Mon Sep 17 00:00:00 2001
-From: Aleix Pol <aleixpol@kde.org>
-Date: Fri, 13 May 2022 16:47:36 +0200
-Subject: [PATCH] screenshare: Show the screen sharing notifier more
- prominently
-
-Sets it as active, otherwise it got buried in the extended view of the
-system tray.
-
-BUG: 452980
-
-
-(cherry picked from commit 3d61dae1fa334a9f3dadc505a038f75aa5846588)
----
- src/waylandintegration.cpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/waylandintegration.cpp b/src/waylandintegration.cpp
-index e125578..b1b2d4d 100644
---- a/src/waylandintegration.cpp
-+++ b/src/waylandintegration.cpp
-@@ -292,6 +292,7 @@ bool WaylandIntegration::WaylandIntegrationPrivate::startStreaming(Screencasting
- }
- item->setOverlayIconByName("media-record");
- item->setToolTip(item->iconName(), item->title(), i18n("Press to cancel"));
-+ item->setStatus(KStatusNotifierItem::Active);
- connect(item, &KStatusNotifierItem::activateRequested, stream, [=] {
- stopStreaming(nodeid);
- stream->deleteLater();
---
-GitLab
-
diff --git a/kde-plasma/xdg-desktop-portal-kde/xdg-desktop-portal-kde-5.24.5-r2.ebuild b/kde-plasma/xdg-desktop-portal-kde/xdg-desktop-portal-kde-5.24.5-r2.ebuild
deleted file mode 100644
index 0eb9b4578030..000000000000
--- a/kde-plasma/xdg-desktop-portal-kde/xdg-desktop-portal-kde-5.24.5-r2.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-KFMIN=5.90.0
-PVCUT=$(ver_cut 1-3)
-QTMIN=5.15.2
-inherit ecm kde.org
-
-DESCRIPTION="Backend implementation for xdg-desktop-portal that is using Qt/KDE Frameworks"
-
-LICENSE="LGPL-2+"
-SLOT="5"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-IUSE=""
-
-COMMON_DEPEND="
- >=dev-libs/wayland-1.15
- >=dev-qt/qtdbus-${QTMIN}:5
- >=dev-qt/qtdeclarative-${QTMIN}:5
- >=dev-qt/qtgui-${QTMIN}:5
- >=dev-qt/qtprintsupport-${QTMIN}:5[cups]
- >=dev-qt/qtwidgets-${QTMIN}:5
- >=kde-frameworks/kcoreaddons-${KFMIN}:5
- >=kde-frameworks/kconfig-${KFMIN}:5
- >=kde-frameworks/kdeclarative-${KFMIN}:5
- >=kde-frameworks/ki18n-${KFMIN}:5
- >=kde-frameworks/kio-${KFMIN}:5
- >=kde-frameworks/kirigami-${KFMIN}:5
- >=kde-frameworks/knotifications-${KFMIN}:5
- >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
- >=kde-frameworks/kwindowsystem-${KFMIN}:5
- >=kde-frameworks/kwayland-${KFMIN}:5
- >=kde-frameworks/plasma-${KFMIN}:5
-"
-DEPEND="${COMMON_DEPEND}
- >=dev-libs/plasma-wayland-protocols-1.1.1
- >=dev-qt/qtconcurrent-${QTMIN}:5
-"
-RDEPEND="${COMMON_DEPEND}
- sys-apps/xdg-desktop-portal
-"
-BDEPEND=">=dev-qt/qtwaylandscanner-${QTMIN}:5"
-
-PATCHES=(
- "${FILESDIR}/${P}-show-screenshare-notifier-more-prominently.patch" # KDE-bug 452980
- "${FILESDIR}/${P}-screencast-stop-stream-actively.patch"
- "${FILESDIR}/${P}-screencast-dont-provide-every-running-stream.patch"
- "${FILESDIR}/${P}-screencast-close-only-streams-of-closing-session.patch"
-)