summaryrefslogtreecommitdiff
path: root/gui-apps/xwaylandvideobridge/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-11-23 16:28:44 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-11-23 16:28:44 +0000
commit191f9d51469a31970723ed9eb0aee70ffe63094e (patch)
tree2502e164870943a5ca491043010657f1b83e4a27 /gui-apps/xwaylandvideobridge/files
parent2114f9bc3d55c52f926a43f08765b350871e86f2 (diff)
gentoo auto-resync : 23:11:2023 - 16:28:43
Diffstat (limited to 'gui-apps/xwaylandvideobridge/files')
-rw-r--r--gui-apps/xwaylandvideobridge/files/xwaylandvideobridge-0.3.0-no-session-mgmt.patch54
-rw-r--r--gui-apps/xwaylandvideobridge/files/xwaylandvideobridge-0.3.0-skip-switcher.patch29
2 files changed, 83 insertions, 0 deletions
diff --git a/gui-apps/xwaylandvideobridge/files/xwaylandvideobridge-0.3.0-no-session-mgmt.patch b/gui-apps/xwaylandvideobridge/files/xwaylandvideobridge-0.3.0-no-session-mgmt.patch
new file mode 100644
index 000000000000..af7e52b98f68
--- /dev/null
+++ b/gui-apps/xwaylandvideobridge/files/xwaylandvideobridge-0.3.0-no-session-mgmt.patch
@@ -0,0 +1,54 @@
+From 0ca63bfbd8b30dfdb5807f6e4e35ca272d7cdc01 Mon Sep 17 00:00:00 2001
+From: David Redondo <kde@david-redondo.de>
+Date: Fri, 10 Nov 2023 09:52:33 +0100
+Subject: [PATCH] Do not start in an X11 session and opt out of session
+ managment
+
+xwaylandvideobridge runs with the Qt xcb backend, this means it
+is also session managed by default. Since it is also autostarted
+on every log a new instance is auotstarted and in addition the
+session manager will start an instance for every one that was
+running. So on second log in you will have 2 running instances,
+on the third three, ...
+Also exit on X11 where it is not needed.
+---
+ src/main.cpp | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/src/main.cpp b/src/main.cpp
+index 8dda8a5..84e3677 100644
+--- a/src/main.cpp
++++ b/src/main.cpp
+@@ -11,12 +11,16 @@
+
+ #include <QApplication>
+ #include <QCommandLineParser>
++#include <QSessionManager>
+ #include <QIcon>
+ #include <KLocalizedString>
+ #include <KAboutData>
+
+ int main(int argc, char **argv)
+ {
++ if (qgetenv("XDG_SESSION_TYPE") == "x11") {
++ return 0;
++ }
+ qputenv("QT_QPA_PLATFORM", "xcb");
+ qputenv("QT_XCB_GL_INTEGRATION", "xcb_egl");
+
+@@ -25,6 +29,12 @@ int main(int argc, char **argv)
+ QApplication app(argc, argv); // widgets are needed just for the SNI.
+ app.setAttribute(Qt::AA_UseHighDpiPixmaps);
+
++ auto disableSessionManagement = [](QSessionManager &sm) {
++ sm.setRestartHint(QSessionManager::RestartNever);
++ };
++ QObject::connect(&app, &QGuiApplication::commitDataRequest, disableSessionManagement);
++ QObject::connect(&app, &QGuiApplication::saveStateRequest, disableSessionManagement);
++
+ KLocalizedString::setApplicationDomain("xwaylandvideobridge");
+ {
+ KAboutData about("xwaylandvideobridge", i18n("Xwayland Video Bridge"), version, i18n("Offer XDG Desktop Portals screencast streams to X11 apps"),
+--
+GitLab
+
diff --git a/gui-apps/xwaylandvideobridge/files/xwaylandvideobridge-0.3.0-skip-switcher.patch b/gui-apps/xwaylandvideobridge/files/xwaylandvideobridge-0.3.0-skip-switcher.patch
new file mode 100644
index 000000000000..6c71d238757d
--- /dev/null
+++ b/gui-apps/xwaylandvideobridge/files/xwaylandvideobridge-0.3.0-skip-switcher.patch
@@ -0,0 +1,29 @@
+From 9ee3d7a21ee3069e37a205318914f48b2b597eaa Mon Sep 17 00:00:00 2001
+From: David Redondo <kde@david-redondo.de>
+Date: Wed, 15 Nov 2023 11:24:10 +0100
+Subject: [PATCH] Also skip the switcher
+
+BUG:477025
+---
+ src/contentswindow.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/contentswindow.cpp b/src/contentswindow.cpp
+index addae88..b6d4846 100644
+--- a/src/contentswindow.cpp
++++ b/src/contentswindow.cpp
+@@ -54,9 +54,9 @@ ContentsWindow::ContentsWindow()
+ setFlag(Qt::WindowDoesNotAcceptFocus);
+ setFlag(Qt::WindowTransparentForInput);
+ #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+- KX11Extras::setState(winId(), NET::SkipTaskbar | NET::SkipPager);
++ KX11Extras::setState(winId(), NET::SkipTaskbar | NET::SkipPager | NET::SkipSwitcher);
+ #else
+- KWindowSystem::setState(winId(), NET::SkipTaskbar | NET::SkipPager);
++ KWindowSystem::setState(winId(), NET::SkipTaskbar | NET::SkipPager | NET::SkipSwitcher);
+ #endif
+
+ // remove decoration. We can't use the Qt helper as we need our window type to remain something
+--
+GitLab
+