mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-11-10 06:57:08 -08:00
kde-frameworks/kglobalaccel: Start processes with kstart5 if available
Upstream commits: c6c14830a98050cbee5aa48dd8812e2197515de3 061c45df933f6a346c85c34fe10df6f1bd857908 KDE-bug: https://bugs.kde.org/show_bug.cgi?id=433362 Package-Manager: Portage-3.0.22, Repoman-3.0.3 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
This commit is contained in:
+67
@@ -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;
|
||||
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user