If Kate is launched via KRunner and shows the session selection dialog, KRunner does not understand that Kate is already launched and its window blocks the Kate's one. Reproducible: Always Steps to Reproduce: 1. In Kate settings select "Manually choose a session" in Sessions/Behaviour on Application Startup 2. close Kate 3. Press Alt+F2 4. type "kate" 5. select kate application and launch it Actual Results: Session selection dialog is hidden behind KRunner window Expected Results: Kate signals Krunner that it is launched and KRunner hides its window
Created attachment 98439 [details] Screenshot with half-blocked Kate window
Can reproduce, quite annoying.
The services runner just does KRun::runService which seems to block if the application doesn't return. Re-assigning to KIO. Suggestions? It looks like KRun ends up calling KToolInvocation::startServiceByDesktopPath which is deprecated but has a nowait parameter which I cannot use from KRun. Irregardless of the behavior in the bug it's quite annoying that KRunner often blocks while the application is starting because of this behavior.
*** Bug 359803 has been marked as a duplicate of this bug. ***
*** Bug 353648 has been marked as a duplicate of this bug. ***
*** Bug 358316 has been marked as a duplicate of this bug. ***
Git commit 83eacf74ce6aba414a697747f3f2ac195e4e340b by Kai Uwe Broulik. Committed on 06/06/2016 at 17:52. Pushed by broulik into branch 'master'. [Service Runner] Don't use KRun::runService It blocks KRunner while the application is loading and in some cases (like Kate's session selection dialog) might never return. FIXED-IN: 5.7.0 Differential Revision: https://phabricator.kde.org/D1769 M +1 -1 runners/services/servicerunner.cpp http://commits.kde.org/plasma-workspace/83eacf74ce6aba414a697747f3f2ac195e4e340b