diff options
Diffstat (limited to 'gui-apps/xwaylandvideobridge')
-rw-r--r-- | gui-apps/xwaylandvideobridge/Manifest | 4 | ||||
-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 | ||||
-rw-r--r-- | gui-apps/xwaylandvideobridge/xwaylandvideobridge-0.3.0-r2.ebuild (renamed from gui-apps/xwaylandvideobridge/xwaylandvideobridge-0.3.0-r1.ebuild) | 5 |
4 files changed, 91 insertions, 1 deletions
diff --git a/gui-apps/xwaylandvideobridge/Manifest b/gui-apps/xwaylandvideobridge/Manifest index 7c8fcee362d0..c2d4f8334839 100644 --- a/gui-apps/xwaylandvideobridge/Manifest +++ b/gui-apps/xwaylandvideobridge/Manifest @@ -1,3 +1,5 @@ +AUX xwaylandvideobridge-0.3.0-no-session-mgmt.patch 1912 BLAKE2B 0167ef6755232c32f79bc8dd9060811f796e2f38d3d820e6b9dde53d8c692b1cbb9f44f11c916b7811af75f176047266ac88639e02cfdf698f20adcd5c3fc38b SHA512 b59bceba3d09800074932e7c959ef49f77174b987c4beaf64033dfda8f6aed020e9cd2b2c1b9ab735b2ee47e4487f38afbc7e176c6b899ca35548eb0a02382d5 +AUX xwaylandvideobridge-0.3.0-skip-switcher.patch 1085 BLAKE2B aa51b2aa6a1c336d1bc0fa6f7edc8c1c281fd8acbfda8ba24c531b5a139f0b3eb49563f7cd51cb58442c1745f578fe249c288cc9275624914b6c3af86d39d9bc SHA512 48d6ec1019698433252af45f19a4611ff5ad51a6d8cc698dd9a54df27bbbb978b6bf67fd2e2d677385e44a2f5555b8b683bf0887d798b72e2132d6996f5fc03d DIST xwaylandvideobridge-0.3.0.tar.xz 35584 BLAKE2B 10d0770efc023a3c52bcc7af119d13cf2d38cd9c6d4d0e7a19a46ae455428a7b2fc03a8b61a8036a15210d699193c71784962c60ad82a65a385414b426c20e78 SHA512 9e86fac3dbed2c2cca1b899a8266c8feda3263544048c3e554e3029f065053637dda84fc0fcc10be5d4856015743b0cdcb8e0e18cd26d14739fb7481850b1392 -EBUILD xwaylandvideobridge-0.3.0-r1.ebuild 1012 BLAKE2B 08aea5b9a2ab0d640b3740b9e42753216a431778b1b59601baf147a2cfafcc5573d39d1b32268b73d30cc35a0db0ec9788390180c0e2dd6277cc4d2df35599d5 SHA512 1b9eb9ca1b4d9fb366673ce2b7c714fbba22aa481a2643c4ede480b769f750ff08fcea521661521542280391aa37620ed50a617567c1b9c11dcfad3ab2c04b42 +EBUILD xwaylandvideobridge-0.3.0-r2.ebuild 1124 BLAKE2B 223553f4fe45c17f4b1e30e2becdadf38c5d4c6e6e8b9775076ca3ca32e1655009ffb41730ec0a0e4d39798f2196ace585365e4f3084da9e5727b56566aa9eec SHA512 46a60e1339db0ded06f6a9333f678077fd287bd62b84d93658bfac37637e342fa54adc34021168404ea177fd5ef1455e1695b4d0459d9b88ee5b3e53400d6a77 MISC metadata.xml 344 BLAKE2B 004ab22788c1bb9bb66be657676712db6998fa99a248d7e98354caf30d16bbba71f079f027bf0eceeb38ef6af0a3e662ca81fe8ba5bd90c789b81833665f405c SHA512 6a1892d29f307c2aa65ff58fa0cf59050cab7e0500317720846662bf5757e0e17d24d20118a4a07c68707dcdd0878db658b83c2262e5187aa13d3bd9330cc9f9 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 + diff --git a/gui-apps/xwaylandvideobridge/xwaylandvideobridge-0.3.0-r1.ebuild b/gui-apps/xwaylandvideobridge/xwaylandvideobridge-0.3.0-r2.ebuild index 2f2eaae1d99a..2abee612761c 100644 --- a/gui-apps/xwaylandvideobridge/xwaylandvideobridge-0.3.0-r1.ebuild +++ b/gui-apps/xwaylandvideobridge/xwaylandvideobridge-0.3.0-r2.ebuild @@ -37,3 +37,8 @@ DEPEND=" " RDEPEND="${DEPEND}" BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}/${P}-no-session-mgmt.patch" + "${FILESDIR}/${P}-skip-switcher.patch" # KDE-bug 477025 +) |