Bug 398803 - Exec= kcms through systemsettings5 rather than kcmshell5
Summary: Exec= kcms through systemsettings5 rather than kcmshell5
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_kwinscripts (show other bugs)
Version: unspecified
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-09-18 14:24 UTC by Patrick Silva
Modified: 2020-11-10 13:55 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
screenshot (1.00 MB, image/png)
2018-09-18 14:24 UTC, Patrick Silva
Details
kcm opened via shortcut on desktop (947.42 KB, image/png)
2020-09-07 18:28 UTC, Patrick Silva
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick Silva 2018-09-18 14:24:55 UTC
Created attachment 115076 [details]
screenshot

Neon dev unstable here...

Search for "kwin scripts" KCM in the apps launcher and open it.
Window is too small as you can see in my screenshot.
Comment 1 Harald Sitter 2020-09-06 21:56:39 UTC
That should be going through systemsettings these days and by extension prevent the awkward sizing that kcmshell suffers from?
Comment 2 Patrick Silva 2020-09-07 18:28:06 UTC
Created attachment 131474 [details]
kcm opened via shortcut on desktop

We can open standalone Kwin Scripts kcm via shortcut added to desktop.
Comment 3 Harald Sitter 2020-09-07 18:38:55 UTC
How did you make the shortcut?
Comment 4 Harald Sitter 2020-09-07 18:44:19 UTC
Moving bug to kcmshell, AFAIK the actual app is in charge of window sizing, not the framework.
Comment 5 Patrick Silva 2020-09-07 19:34:46 UTC
(In reply to Harald Sitter from comment #3)
> How did you make the shortcut?

open kikcoff, search for "kwin scripts", right-click on "kwin scripts" search result, choose "Add to desktop".
Comment 6 Harald Sitter 2020-09-08 12:19:48 UTC
Moving to kwin then. 

So.... with systemsettings supporting loading specific kcms, the kcms in plasma (at least; not exclusively) should Exec= via systemsettings5 rather than kcmshell5. It gives a better experience and also does away with the sizing problem. We kinda hacked that in for 5.19 (?)  in krunner, where we hijack kcmshell5 execution and replace it with systemsettings5 that hack doesn't extend to actually executing a desktop file which runs kcmshell5 and I don't think that'd be smart to do anyway. What kcms should really do is go through systemsettings5 rather than kcmshell.
Comment 7 Alexander Lohnau 2020-09-08 14:22:57 UTC
I can reproduce this issue, let me explain:
When we search we get results from the services runner and when triggering a results the services runner "runs" this result https://invent.kde.org/plasma/plasma-workspace/-/blob/master/runners/services/servicerunner.cpp#L460,in the following lines you can see that the Exec gets changed.
But when pinning the entry kcmshell5 is used, because that is written in the Exec line.

So we need to individually port the desktop files to use systemsettings. TBH I am not sure why this was not done in the first place.
Comment 8 Alexander Lohnau 2020-10-09 16:59:45 UTC
https://phabricator.kde.org/T13729
Comment 9 Alexander Lohnau 2020-10-19 14:32:48 UTC
Git commit 0112e0829cd53a0f152474cf93018f213d03f427 by Alexander Lohnau.
Committed on 19/10/2020 at 14:32.
Pushed by alex into branch 'master'.

Write fallback value for KCM Exec lines with appropriate executable

Considering that the Exec line is always program+basename it is redundant to store the information in the Exec line anyways and we can save ourselves some trouble. See https://phabricator.kde.org/T13729.

M  +12   -0    src/services/kservice.cpp

https://invent.kde.org/frameworks/kservice/commit/0112e0829cd53a0f152474cf93018f213d03f427
Comment 10 Alexander Lohnau 2020-10-23 18:06:10 UTC
Git commit 43a24f8755cf59aadbb613ebf18770fabaae06bc by Alexander Lohnau.
Committed on 23/10/2020 at 18:05.
Pushed by alex into branch 'master'.

Do not explicitely define Exec line for KCM

See https://invent.kde.org/frameworks/kservice/-/merge_requests/16.

M  +0    -1    kcms/access/kcmaccess.desktop
M  +0    -1    kcms/activities/kcm_activities.desktop
M  +0    -1    kcms/autostart/package/metadata.desktop
M  +0    -1    kcms/baloo/kcm_baloofile.desktop
M  +0    -1    kcms/componentchooser/componentchooser.desktop
M  +0    -1    kcms/dateandtime/clock.desktop
M  +0    -1    kcms/desktoppaths/desktoppath.desktop
M  +0    -1    kcms/formats/formats.desktop
M  +0    -2    kcms/hardware/joystick/joystick.desktop
M  +0    -1    kcms/input/mouse.desktop
M  +0    -1    kcms/kded/kcmkded.desktop
M  +0    -1    kcms/keyboard/kcm_keyboard.desktop
M  +0    -1    kcms/keys/kcm_keys.desktop
M  +0    -1    kcms/ksmserver/kcmsmserver.desktop
M  +0    -1    kcms/ksplash/kcm_splashscreen.desktop
M  +0    -1    kcms/launch/kcm_launchfeedback.desktop
M  +0    -1    kcms/mouse/mouse.desktop
M  +0    -1    kcms/nightcolor/kcm_nightcolor.desktop
M  +0    -1    kcms/notifications/kcm_notifications.desktop
M  +0    -1    kcms/qtquicksettings/qtquicksettings.desktop
M  +0    -1    kcms/runners/kcm_plasmasearch.desktop
M  +0    -1    kcms/solid_actions/solid-actions.desktop
M  +0    -1    kcms/spellchecking/spellchecking.desktop
M  +0    -1    kcms/touchpad/kcm/kcm_touchpad.desktop
M  +0    -1    kcms/users/kcm_users.desktop
M  +0    -1    kcms/workspaceoptions/kcm_workspace.desktop

https://invent.kde.org/plasma/plasma-desktop/commit/43a24f8755cf59aadbb613ebf18770fabaae06bc
Comment 11 Alexander Lohnau 2020-10-23 18:13:11 UTC
Git commit 29cd276f7e8cb73e0262500d68009a66d07a7f52 by Alexander Lohnau.
Committed on 23/10/2020 at 18:08.
Pushed by alex into branch 'master'.

Do not explicitely define Exec lines for KCMs

See https://invent.kde.org/frameworks/kservice/-/merge_requests/16

M  +0    -1    kcms/colors/kcm_colors.desktop
M  +0    -1    kcms/cursortheme/kcm_cursortheme.desktop
M  +0    -1    kcms/desktoptheme/kcm_desktoptheme.desktop
M  +0    -1    kcms/feedback/kcm_feedback.desktop
M  +0    -1    kcms/fonts/kcm_fonts.desktop
M  +0    -1    kcms/icons/kcm_icons.desktop
M  +0    -1    kcms/kfontinst/kcmfontinst/fontinst.desktop
M  +0    -1    kcms/lookandfeel/kcm_lookandfeel.desktop
M  +0    -1    kcms/style/kcm_style.desktop
M  +0    -1    kcms/translations/kcm_translations.desktop

https://invent.kde.org/plasma/plasma-workspace/commit/29cd276f7e8cb73e0262500d68009a66d07a7f52
Comment 12 Alexander Lohnau 2020-10-23 18:20:05 UTC
Git commit 7050e03551d5dfd3d8ef8669863afd05fd410657 by Alexander Lohnau.
Committed on 23/10/2020 at 18:16.
Pushed by alex into branch 'master'.

Use systemsettings5 for Exec line
Because the latest KF5 version is not required systemsettings5 is
hardcoded.

M  +1    -1    src/kcm/kcm_kaccounts.desktop

https://invent.kde.org/network/kaccounts-integration/commit/7050e03551d5dfd3d8ef8669863afd05fd410657
Comment 13 Alexander Lohnau 2020-10-23 18:27:20 UTC
Git commit 80c51ae0c5aa49a7f5c5116fc3a092db8e13fbed by Alexander Lohnau.
Committed on 23/10/2020 at 18:24.
Pushed by alex into branch 'master'.

Do not explicitely define Exec line for KCM

See https://invent.kde.org/frameworks/kservice/-/merge_requests/16.

M  +0    -1    src/user_manager.desktop

https://invent.kde.org/plasma/user-manager/commit/80c51ae0c5aa49a7f5c5116fc3a092db8e13fbed
Comment 14 Alexander Lohnau 2020-10-23 18:36:39 UTC
Git commit 09d84ed451ec788138cc7401690bb911221a6989 by Alexander Lohnau.
Committed on 23/10/2020 at 18:35.
Pushed by alex into branch 'master'.

Do not explicitely define Exec line for KCM

M  +0    -1    src/kcm_plymouth.desktop

https://invent.kde.org/plasma/plymouth-kcm/commit/09d84ed451ec788138cc7401690bb911221a6989
Comment 15 Alexander Lohnau 2020-10-23 18:42:46 UTC
Git commit 9f0a6cc69e8817811cb22fb3c9e8a564c2c5347a by Alexander Lohnau.
Committed on 23/10/2020 at 18:39.
Pushed by alex into branch 'master'.

Do not explicitely define Exec line for KCM

M  +0    -1    kcm_sddm.desktop

https://invent.kde.org/plasma/sddm-kcm/commit/9f0a6cc69e8817811cb22fb3c9e8a564c2c5347a
Comment 16 Alexander Lohnau 2020-10-23 18:46:44 UTC
Git commit 5d5c8c0d4eb87bcab3b330b279979aecb07ffc35 by Alexander Lohnau.
Committed on 23/10/2020 at 18:45.
Pushed by alex into branch 'master'.

Do not explicitely define Exec lines for KCMs

M  +0    -1    kcmodule/activities/powerdevilactivitiesconfig.desktop
M  +0    -1    kcmodule/global/powerdevilglobalconfig.desktop
M  +0    -1    kcmodule/profiles/powerdevilprofilesconfig.desktop

https://invent.kde.org/plasma/powerdevil/commit/5d5c8c0d4eb87bcab3b330b279979aecb07ffc35
Comment 17 Alexander Lohnau 2020-10-23 18:54:15 UTC
Git commit 707f0e3f5559217660db9fff4951eac4e9b5876c by Alexander Lohnau.
Committed on 23/10/2020 at 18:52.
Pushed by alex into branch 'master'.

Use systemsettings5 for Exec line

Because the latest KF5 version is not required systemsettings5 is
hardcoded for the Exec line instead of the generated fallback.

M  +1    -1    src/konfigurator/kwalletconfig5.desktop

https://invent.kde.org/utilities/kwalletmanager/commit/707f0e3f5559217660db9fff4951eac4e9b5876c
Comment 18 Alexander Lohnau 2020-10-23 19:10:33 UTC
Git commit b90337a30aec0e8c230e0520fb8591b68cd19fa4 by Alexander Lohnau.
Committed on 23/10/2020 at 19:09.
Pushed by alex into branch 'master'.

Do not explicitely define Exec line for KCM

See https://invent.kde.org/frameworks/kservice/-/merge_requests/16

M  +0    -1    kcm/kcm_kscreen.desktop

https://invent.kde.org/plasma/kscreen/commit/b90337a30aec0e8c230e0520fb8591b68cd19fa4
Comment 19 Alexander Lohnau 2020-10-23 19:12:46 UTC
Git commit f3bccba4cfdff3bf624fef16df0031fd29c85528 by Alexander Lohnau.
Committed on 23/10/2020 at 19:12.
Pushed by alex into branch 'master'.

Do not explicitely define Exec line for KCM

See https://invent.kde.org/frameworks/kservice/-/merge_requests/16

M  +0    -1    keditfiletype/filetypes.desktop

https://invent.kde.org/plasma/kde-cli-tools/commit/f3bccba4cfdff3bf624fef16df0031fd29c85528
Comment 20 Alexander Lohnau 2020-10-23 19:16:48 UTC
Git commit e77940757740d0d9079db6d4cebeda89dc132fb0 by Alexander Lohnau.
Committed on 23/10/2020 at 19:15.
Pushed by alex into branch 'master'.

Do not explicitely define Exec line for KCM

See https://invent.kde.org/frameworks/kservice/-/merge_requests/16

M  +0    -1    kcm/kcm_networkmanagement.desktop

https://invent.kde.org/plasma/plasma-nm/commit/e77940757740d0d9079db6d4cebeda89dc132fb0
Comment 21 Alexander Lohnau 2020-10-23 19:19:23 UTC
Git commit 3cad2fbb1c2647dccf5bdf0de1b3ba83bba2e504 by Alexander Lohnau.
Committed on 23/10/2020 at 19:18.
Pushed by alex into branch 'master'.

Do not explicitely define Exec line for KCM

See https://invent.kde.org/frameworks/kservice/-/merge_requests/16

M  +0    -1    src/kcm/kcm_bolt.desktop

https://invent.kde.org/plasma/plasma-thunderbolt/commit/3cad2fbb1c2647dccf5bdf0de1b3ba83bba2e504
Comment 22 Alexander Lohnau 2020-10-23 19:26:01 UTC
Git commit d11192c620bcdcd285ecda49341f597b863396f3 by Alexander Lohnau.
Committed on 23/10/2020 at 19:25.
Pushed by alex into branch 'master'.

Do not explicitely define Exec line for KCM

See https://invent.kde.org/frameworks/kservice/-/merge_requests/16

M  +0    -1    src/kcm/kcm_pulseaudio.desktop

https://invent.kde.org/plasma/plasma-pa/commit/d11192c620bcdcd285ecda49341f597b863396f3
Comment 23 Alexander Lohnau 2020-10-23 20:25:57 UTC
Git commit 4e2f4a67fed50340691c833e2560f779055b673a by Alexander Lohnau.
Committed on 23/10/2020 at 20:25.
Pushed by alex into branch 'master'.

Do not explicitely define Exec line for KCM

See https://invent.kde.org/frameworks/kservice/-/merge_requests/16

M  +0    -1    solid-device-automounter/kcm/device_automounter_kcm.desktop

https://invent.kde.org/plasma/plasma-desktop/commit/4e2f4a67fed50340691c833e2560f779055b673a
Comment 24 Alexander Lohnau 2020-10-23 20:31:44 UTC
Git commit c290f5a6b4bca08ef450fffc11b519052783418f by Alexander Lohnau.
Committed on 23/10/2020 at 20:30.
Pushed by alex into branch 'master'.

Do not explicitely define Exec line for KCM

See https://invent.kde.org/frameworks/kservice/-/merge_requests/16

M  +0    -1    kcmkgamma/kgamma.desktop

https://invent.kde.org/plasma/kgamma5/commit/c290f5a6b4bca08ef450fffc11b519052783418f
Comment 25 Alexander Lohnau 2020-10-24 13:09:39 UTC
Git commit 0cef8139181444d27291ed682786ce9426089553 by Alexander Lohnau.
Committed on 24/10/2020 at 13:09.
Pushed by alex into branch 'master'.

Use systemsettings5 instead of kcmshell5

M  +1    -1    src/kcm_cron.desktop

https://invent.kde.org/system/kcron/commit/0cef8139181444d27291ed682786ce9426089553
Comment 26 Alexander Lohnau 2020-10-24 13:15:35 UTC
Git commit 1c999736004f7d0e5b4c352151b7447e6e7f2307 by Alexander Lohnau.
Committed on 24/10/2020 at 13:14.
Pushed by alex into branch 'master'.

Use systemsettings5 instead of kcmshell5

M  +1    -1    kcmaudiocd/audiocd.desktop

https://invent.kde.org/multimedia/audiocd-kio/commit/1c999736004f7d0e5b4c352151b7447e6e7f2307
Comment 27 Alexander Lohnau 2020-10-24 13:19:41 UTC
Git commit a0d8abb11b711820e65a38baef7db153b0a57440 by Alexander Lohnau.
Committed on 24/10/2020 at 13:19.
Pushed by alex into branch 'master'.

Do not explicitly define Exec line for KCM

See https://invent.kde.org/frameworks/kservice/-/merge_requests/16

M  +0    -1    src/kcm/package/metadata.desktop

https://invent.kde.org/plasma/bluedevil/commit/a0d8abb11b711820e65a38baef7db153b0a57440
Comment 28 Alexander Lohnau 2020-10-24 13:22:38 UTC
Git commit 6689c52eb24e2400be6e43c333392c33e3948c9f by Alexander Lohnau.
Committed on 24/10/2020 at 13:22.
Pushed by alex into branch 'master'.

Use systemsettings5 instead of kcmshell5

M  +1    -1    kcontrol/kamera.desktop

https://invent.kde.org/graphics/kamera/commit/6689c52eb24e2400be6e43c333392c33e3948c9f
Comment 29 Alexander Lohnau 2020-10-24 13:24:55 UTC
Git commit 21ab427c920ea4d925db5ba4dd1f78258219c113 by Alexander Lohnau.
Committed on 24/10/2020 at 13:24.
Pushed by alex into branch 'master'.

Use systemsettings5 instead of kcmshell5

M  +1    -1    desktop/kcmdf.desktop

https://invent.kde.org/utilities/kdf/commit/21ab427c920ea4d925db5ba4dd1f78258219c113
Comment 30 Alexander Lohnau 2020-10-24 13:26:24 UTC
Git commit 9d94c25d83d87714071c518d64c50ad33ac30ed0 by Alexander Lohnau.
Committed on 24/10/2020 at 13:25.
Pushed by alex into branch 'master'.

Use systemsettings5 instead of kcmshell5

M  +1    -1    kcm/kcm_kdeconnect.desktop

https://invent.kde.org/network/kdeconnect-kde/commit/9d94c25d83d87714071c518d64c50ad33ac30ed0
Comment 31 Alexander Lohnau 2020-10-24 13:29:29 UTC
Git commit 243ff3adc87763d6f19b8576f9f4de428be60b74 by Alexander Lohnau.
Committed on 24/10/2020 at 13:28.
Pushed by alex into branch 'master'.

Do not explicitly define Exec line for KCM

See https://invent.kde.org/frameworks/kservice/-/merge_requests/16.
Also the exec command was wrong, with the MR above the correct one
will be automatically set.

M  +0    -1    kcm/screenlocker.desktop

https://invent.kde.org/plasma/kscreenlocker/commit/243ff3adc87763d6f19b8576f9f4de428be60b74
Comment 32 Alexander Lohnau 2020-10-24 13:32:56 UTC
Git commit 6b1ef39228020150fd6f4dc6036262956af66fd3 by Alexander Lohnau.
Committed on 24/10/2020 at 13:31.
Pushed by alex into branch 'master'.

Use systemsettings5 instead of kcmshell5

M  +1    -1    kcmcddb/libkcddb.desktop

https://invent.kde.org/multimedia/libkcddb/commit/6b1ef39228020150fd6f4dc6036262956af66fd3
Comment 33 Alexander Lohnau 2020-10-24 13:35:05 UTC
Git commit 6a6c761b6631290004972e666ef24cf3406d1441 by Alexander Lohnau.
Committed on 24/10/2020 at 13:34.
Pushed by alex into branch 'master'.

Use systemsettings5 instead of kcmshell5

M  +1    -1    printer-manager-kcm/kcm_printer_manager.desktop

https://invent.kde.org/utilities/print-manager/commit/6a6c761b6631290004972e666ef24cf3406d1441
Comment 34 Alexander Lohnau 2020-10-24 13:36:41 UTC
Git commit 18fc848afb552e7a8f26fb578abbad4136da0b10 by Alexander Lohnau.
Committed on 24/10/2020 at 13:36.
Pushed by alex into branch 'master'.

Do not explicitly define Exec line for KCM

See https://invent.kde.org/frameworks/kservice/-/merge_requests/16

M  +0    -1    kcm_hotkeys/khotkeys.desktop

https://invent.kde.org/plasma/khotkeys/commit/18fc848afb552e7a8f26fb578abbad4136da0b10
Comment 35 Alexander Lohnau 2020-10-25 08:42:40 UTC
Git commit 1ee76260b0114e8cdd3e306e4cf69698aa91961b by Alexander Lohnau.
Committed on 25/10/2020 at 08:40.
Pushed by alex into branch 'master'.

Do not explicitly define Exec lines for KCMs

See https://invent.kde.org/frameworks/kservice/-/merge_requests/16 and
the KIO usage is also handled in
https://invent.kde.org/frameworks/kio/-/merge_requests/177.

M  +0    -1    src/ioslaves/trash/kcmtrash.desktop
M  +0    -1    src/kcms/kio/cache.desktop
M  +0    -1    src/kcms/kio/cookies.desktop
M  +0    -1    src/kcms/kio/netpref.desktop
M  +0    -1    src/kcms/kio/proxy.desktop
M  +0    -1    src/kcms/kio/smb.desktop
M  +0    -1    src/kcms/kio/useragent.desktop
M  +0    -1    src/kcms/webshortcuts/webshortcuts.desktop

https://invent.kde.org/frameworks/kio/commit/1ee76260b0114e8cdd3e306e4cf69698aa91961b
Comment 36 Alexander Lohnau 2020-10-25 09:04:30 UTC
Git commit dc509cfd5043934b2c5e8ba1f1ad08c75202071e by Alexander Lohnau.
Committed on 25/10/2020 at 09:04.
Pushed by alex into branch 'master'.

Remove systemsettings5 and kinfocenter hack

With https://invent.kde.org/frameworks/kservice/-/merge_requests/16
and all the commits that followed we can remove this hack.

M  +0    -12   runners/services/servicerunner.cpp

https://invent.kde.org/plasma/plasma-workspace/commit/dc509cfd5043934b2c5e8ba1f1ad08c75202071e
Comment 37 Patrick Silva 2020-11-02 14:33:42 UTC
SSL Preferences kcm is the only kcm available on my system that is still opening as standalone window when launched via icon on desktop.


Operating System: KDE neon Unstable Edition
KDE Plasma Version: 5.20.80
KDE Frameworks Version: 5.76.0
Qt Version: 5.15.0
Comment 38 Alexander Lohnau 2020-11-02 20:23:38 UTC
That file is located in kdelibs4support/src/kssl/kcm/kcm_ssl.desktop. I am not sure if the KCM is still used. I had asked on kde-devel and the other devs told me that if it is still used it should be moved to another repo.
Comment 39 Alexander Lohnau 2020-11-07 08:10:25 UTC
The KCM is used for Kssl, this is very rarely used and deprecated.
Comment 40 Alexander Lohnau 2020-11-09 18:59:37 UTC
@Patrick May I mark this bug as resolved? That one KCM needs to be ported/will be removed anyways.
Comment 41 Patrick Silva 2020-11-10 13:55:05 UTC
right, let's close this.