<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://git.reviewboard.kde.org/r/118933/">https://git.reviewboard.kde.org/r/118933/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On June 25th, 2014, 1:12 p.m. CEST, <b>Marco Martin</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Just to recap why it was decided to make it start by the plasma shell and to actually remove the autostart file (part of Ivan's Gsoc last year):
krunner being present or not is something that depends from the shell ux, and one shell can decide to not have krunner, and even stopping it if it's already running (active, for instance)
(also, the only reason it actually made sense to split the system monitor for it, increasing overhead)
relying again on autostart files it forces krunner on every shell, having a process that may not be used at all.
</pre>
</blockquote>
<p>On June 25th, 2014, 3:16 p.m. CEST, <b>Vishesh Handa</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I do not understand your comment about "having a process which may not be used at all". Without this patch, krunner will always be started.
Could you propose an alternate solution for the bug?
I can think of the following options -
1. We delegate this problem to the future when we actually get shells which do not want krunner, at that time maybe they can close it.
2. We modify the "Platform.Application" class to take a dbus-interface name, and check it is registered. Only then should it start the process.
I think (1) is a more desirable solution right now, but that's just me. </pre>
</blockquote>
<p>On June 25th, 2014, 3:56 p.m. CEST, <b>Martin Gräßlin</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">IIRC krunner installs a dbus service and can be started by the dbus daemon - use this as solution (3). If we just ask dbus to start krunner when needed it won't be started again when it's already running.</pre>
</blockquote>
<p>On June 25th, 2014, 4:02 p.m. CEST, <b>Marco Martin</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Vishesh: yes, 1) is fine too for me
Martin: in this case who would be to invoke the dbus service starting krunner? plasmashell? or may be the global shortcut daemon itself?</pre>
</blockquote>
<p>On June 25th, 2014, 4:09 p.m. CEST, <b>Martin Gräßlin</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">> in this case who would be to invoke the dbus service starting krunner? plasmashell?
yeah, plasmashell.</pre>
</blockquote>
<p>On June 25th, 2014, 4:37 p.m. CEST, <b>Vishesh Handa</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">@Marco: If (1) is fine with you, then can you please give me a "Ship it".
@Martin: Correct me if I misunderstood you - Krunner should only be dbus activated, and not started by any process. When the user needs to use it kglobalaccell dbus-activates it, otherwise the process which needs it launches it?</pre>
</blockquote>
<p>On June 25th, 2014, 5:04 p.m. CEST, <b>Marco Martin</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">i wanted to understand a bit more what Martin meant...
Martin, can you elaborate more?</pre>
</blockquote>
<p>On June 25th, 2014, 6:12 p.m. CEST, <b>Martin Gräßlin</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">hmm I can try, though I don't know enough of it - d_ed might be the better expert for dbus activation. Krunner installs a dbus service file with that dbus daemon knows that the org.kde.KRunner service exists and which application to start to get this service. If now a process tries to access this service (no idea how that works in detail) dbus daemon just starts the process and the service is around.
So in the case plasma-shell - krunner: krunner gets started by plasma-shell "asking" dbus daemon to start krunner. If Krunner is already running, nothing happens, if krunner isn't running it gets started.</pre>
</blockquote>
<p>On June 25th, 2014, 6:20 p.m. CEST, <b>David Edmundson</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">krunner already has dbus-activation.
If anyone queries org.kde.krunner it will start.</pre>
</blockquote>
<p>On June 25th, 2014, 6:52 p.m. CEST, <b>Vishesh Handa</b> wrote:</p>
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Martin, could you please elaborate on how kglobalaccel ties in together with dbus activation? I don't see any relevant code.</pre>
</blockquote>
</blockquote>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">> could you please elaborate on how kglobalaccel ties in together with dbus activation?
Why kglobalaccel? It has nothing to do with it...</pre>
<br />
<p>- Martin</p>
<br />
<p>On June 25th, 2014, 12:58 p.m. CEST, Vishesh Handa wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
<tr>
<td>
<div>Review request for Plasma.</div>
<div>By Vishesh Handa.</div>
<p style="color: grey;"><i>Updated June 25, 2014, 12:58 p.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
plasma-desktop
</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"> PlasmaShell: Do not start krunner
Krunner is automatically started via an autostart file. We do not need plasma to
start it as well. Without this patch, krunner comes into focus each time
plasma is restarted since krunner is already running and executing it
then gives it focus.
BUG: 336002
This patch depends on another patch in plasma-workspace/krunner which adds the krunner.desktop file -
commit 1b570623b1e8df93f20940654e160b35570172ac
Author: Vishesh Handa <me@vhanda.in>
Date: Wed Jun 25 11:38:49 2014 +0200
Add a KRunner autostart file
diff --git a/krunner/CMakeLists.txt b/krunner/CMakeLists.txt
index 8e625b9..4197827 100644
--- a/krunner/CMakeLists.txt
+++ b/krunner/CMakeLists.txt
@@ -35,6 +35,7 @@ target_link_libraries(krunner
install(TARGETS krunner ${INSTALL_TARGETS_DEFAULT_ARGS})
install(FILES ${krunner_dbusAppXML} DESTINATION ${DBUS_INTERFACES_INSTALL_DIR} )
+install(FILES krunner.desktop DESTINATION ${AUTOSTART_INSTALL_DIR})
set(CMAKECONFIG_INSTALL_DIR "${CMAKECONFIG_INSTALL_PREFIX}/KRunnerAppDBusInterface")
ecm_configure_package_config_file(KRunnerAppDBusInterfaceConfig.cmake.in
diff --git a/krunner/krunner.desktop b/krunner/krunner.desktop
new file mode 100644
index 0000000..2f1f6dc
--- /dev/null
+++ b/krunner/krunner.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Exec=krunner
+Name=KRunner
+OnlyShowIn=KDE;
+Type=Application
+X-DBUS-StartupType=Unique
+X-DBUS-ServiceName=org.kde.krunner
+X-KDE-StartupNotify=false
+X-KDE-autostart-phase=0
</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>desktoppackage/contents/loader.qml <span style="color: grey">(c1ac4a4)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/118933/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>