Add X-KDE-Original-Executable to Applications properties
AbandonedPublic

Authored by meven on May 4 2020, 1:21 PM.

Details

Reviewers
davidedmundson
apol
bport
Group Reviewers
Frameworks
Summary

Sometimes Exec entries are replaced by qdbus invocation such as in D19225
Add a property X-KDE-Original-Executable to allow to specify the original Exec path.

Diff Detail

Repository
R309 KService
Branch
master
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 26322
Build 26340: arc lint + arc unit
meven created this revision.May 4 2020, 1:21 PM
Restricted Application added a project: Frameworks. · View Herald TranscriptMay 4 2020, 1:21 PM
Restricted Application added a subscriber: kde-frameworks-devel. · View Herald Transcript
meven requested review of this revision.May 4 2020, 1:21 PM
apol added a comment.May 4 2020, 1:27 PM

This should be documented somewhere, as is it's really confusing.

I'm not sure it wouldn't be better to have spectacle launched again there instead of going through dbus (which is a change I admittedly don't understand very well).

meven added a comment.May 4 2020, 2:00 PM
In D29406#662932, @apol wrote:

This should be documented somewhere, as is it's really confusing.

I am not sure where to document this, but agrees this is needed.
Will look on existing documentation to find the place.
(Maybe add a comment in the application.desktop file)

I'm not sure it wouldn't be better to have spectacle launched again there instead of going through dbus (which is a change I admittedly don't understand very well).

If I understand correctly, it is necessary to use dbus spectaclein this case, so that dbus can manage the application instance and make sure we end up with only one, whether we launch the app, use a shortcut or launch from command line.

apol added a comment.May 4 2020, 3:05 PM

If I understand correctly, it is necessary to use dbus spectacle in this case, so that dbus can manage the application instance and make sure we end up with only one, whether we launch the app, use a shortcut or launch from command line.

I don't think that's a good reason. We have lots of applications that do that without having to be launched by dbus: plasmashell, krunner, yakuake, etc. It's done by using KDBusService.

meven added a comment.May 5 2020, 9:03 AM
In D29406#663112, @apol wrote:

If I understand correctly, it is necessary to use dbus spectacle in this case, so that dbus can manage the application instance and make sure we end up with only one, whether we launch the app, use a shortcut or launch from command line.

I don't think that's a good reason. We have lots of applications that do that without having to be launched by dbus: plasmashell, krunner, yakuake, etc. It's done by using KDBusService.

I didn't know about this, so did perhaps @davidedmundson in https://phabricator.kde.org/D19153#417025
I guess spectacle should use KDBusService(KDBusService::Unique but it has always been in multiple instance since it was Dbus enabled 09cd11881d828da35c46c48da79f2d988e6a78cc and this require some refactoring unfortunately.

meven abandoned this revision.May 5 2020, 4:14 PM

This not necessary, spectacle should have its executable in its Exec desktop entry.