diff options
Diffstat (limited to 'kde-frameworks')
-rw-r--r-- | kde-frameworks/kglobalaccel/files/kglobalaccel-5.85.0-start-processes-w-kstart5-if-available.patch | 67 | ||||
-rw-r--r-- | kde-frameworks/kglobalaccel/kglobalaccel-5.85.0-r1.ebuild | 39 |
2 files changed, 106 insertions, 0 deletions
diff --git a/kde-frameworks/kglobalaccel/files/kglobalaccel-5.85.0-start-processes-w-kstart5-if-available.patch b/kde-frameworks/kglobalaccel/files/kglobalaccel-5.85.0-start-processes-w-kstart5-if-available.patch new file mode 100644 index 000000000000..0a5dcd5c4f37 --- /dev/null +++ b/kde-frameworks/kglobalaccel/files/kglobalaccel-5.85.0-start-processes-w-kstart5-if-available.patch @@ -0,0 +1,67 @@ +From c6c14830a98050cbee5aa48dd8812e2197515de3 Mon Sep 17 00:00:00 2001 +From: David Redondo <kde@david-redondo.de> +Date: Mon, 30 Aug 2021 15:45:36 +0200 +Subject: [PATCH] Start processes with kstart5 if available + +The intention of 717e4ea9f8e9d3f9ea5e6c8de2efbffd5ef2af82 was to start +processes with kstart5 so they are in the correct cgroup. We should +always check if it's available first as we still want to prefer it once +klauncher is registered. +BUG:433362 + +* asturm 2021-09-04: Merged with: + +From 061c45df933f6a346c85c34fe10df6f1bd857908 Mon Sep 17 00:00:00 2001 +From: Nikos Chantziaras <realnc@gmail.com> +Date: Thu, 2 Sep 2021 09:42:51 -0600 +Subject: [PATCH] Fix launching commands with args using kstart5 + +By prepending "--" to the command, kstart5 parses it all as one thing, +so additional arguments are executed as expected. + +BUG: 433362 +--- + src/runtime/kserviceactioncomponent.cpp | 17 +++++++++-------- + 1 file changed, 9 insertions(+), 8 deletions(-) + +diff --git a/src/runtime/kserviceactioncomponent.cpp b/src/runtime/kserviceactioncomponent.cpp +index 8bb6962..09b3d7a 100644 +--- a/src/runtime/kserviceactioncomponent.cpp ++++ b/src/runtime/kserviceactioncomponent.cpp +@@ -48,7 +48,13 @@ + } + + const QString command = parts.takeFirst(); +- if (klauncherAvailable) { ++ ++ const auto kstart = QStandardPaths::findExecutable(QStringLiteral("kstart5")); ++ if (!kstart.isEmpty()) { ++ parts.prepend(command); ++ parts.prepend(QStringLiteral("--")); ++ QProcess::startDetached(kstart, parts); ++ } else if (klauncherAvailable) { + QDBusMessage msg = QDBusMessage::createMethodCall(QStringLiteral("org.kde.klauncher5"), + QStringLiteral("/KLauncher"), + QStringLiteral("org.kde.KLauncher"), +@@ -57,18 +63,14 @@ + + QDBusConnection::sessionBus().asyncCall(msg); + } else { +- const auto kstart = QStandardPaths::findExecutable(QStringLiteral("kstart5")); +- if (kstart.isEmpty()) { +- QProcess::startDetached(command, parts); +- } else { +- parts.prepend(command); +- QProcess::startDetached(kstart, parts); +- } ++ QProcess::startDetached(command, parts); + } + } + + void KServiceActionComponent::emitGlobalShortcutPressed(const GlobalShortcut &shortcut) + { ++ // TODO KF6 use ApplicationLauncherJob to start processes when it's available in a framework that we depend on ++ + // DBusActivatatable spec as per https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#dbus + if (m_desktopFile->desktopGroup().readEntry("DBusActivatable", false)) { + QString method; diff --git a/kde-frameworks/kglobalaccel/kglobalaccel-5.85.0-r1.ebuild b/kde-frameworks/kglobalaccel/kglobalaccel-5.85.0-r1.ebuild new file mode 100644 index 000000000000..9dbbb618d885 --- /dev/null +++ b/kde-frameworks/kglobalaccel/kglobalaccel-5.85.0-r1.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PVCUT=$(ver_cut 1-2) +QTMIN=5.15.2 +VIRTUALX_REQUIRED="test" +inherit ecm kde.org + +DESCRIPTION="Framework to handle global shortcuts" + +LICENSE="LGPL-2+" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +IUSE="nls" + +DEPEND=" + >=dev-qt/qtdbus-${QTMIN}:5 + >=dev-qt/qtgui-${QTMIN}:5 + >=dev-qt/qtwidgets-${QTMIN}:5 + >=dev-qt/qtx11extras-${QTMIN}:5 + =kde-frameworks/kconfig-${PVCUT}*:5 + =kde-frameworks/kcoreaddons-${PVCUT}*:5 + =kde-frameworks/kcrash-${PVCUT}*:5 + =kde-frameworks/kdbusaddons-${PVCUT}*:5 + =kde-frameworks/kwindowsystem-${PVCUT}*:5[X] + x11-libs/libxcb + x11-libs/xcb-util-keysyms +" +RDEPEND="${DEPEND}" +BDEPEND="nls? ( >=dev-qt/linguist-tools-${QTMIN}:5 )" + +PATCHES=( + "${FILESDIR}"/${P}-start-processes-w-kstart5-if-available.patch # KDE-bug 433362 +) + +src_test() { + XDG_CURRENT_DESKTOP="KDE" ecm_src_test # bug 789342 +} |