diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-11-23 16:28:44 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-11-23 16:28:44 +0000 |
commit | 191f9d51469a31970723ed9eb0aee70ffe63094e (patch) | |
tree | 2502e164870943a5ca491043010657f1b83e4a27 /gui-apps/xwaylandvideobridge/files | |
parent | 2114f9bc3d55c52f926a43f08765b350871e86f2 (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.patch | 54 | ||||
-rw-r--r-- | gui-apps/xwaylandvideobridge/files/xwaylandvideobridge-0.3.0-skip-switcher.patch | 29 |
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 + |