Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • K KService
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Bugzilla
    • Bugzilla
  • Merge requests 2
    • Merge requests 2
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • FrameworksFrameworks
  • KService
  • Merge requests
  • !16

Write Exec line for KCMs with appropriate executable

  • Review changes

  • Download
  • Patches
  • Plain diff
Merged Alexander Lohnau requested to merge work/kcm_systemsettings_no_exec into master Oct 08, 2020
  • Overview 18
  • Commits 3
  • Pipelines 0
  • Changes 1

In the newer versions of plasma we want to launch KCMs in systemsettings instead of kcmshell. For this there was a hack in the services runner implemented: https://invent.kde.org/plasma/plasma-workspace/-/blob/master/runners/services/servicerunner.cpp#L456

So we basically do a little bit of checking, replace the exec line with systemsettings/kinfocenter+basename and proceed to launch the service. But the problem is when pinning the entry we still use out Exec line from the services file and not out services runner hack. This leads to the mentioned bug.

When discussing this with Harald we came to the idea that we could use the fallback logic from our services runner inside of KService if no Exec line is given. Then we would internally use kcmshell5/systemsettings5/kinfocenter + basename and create our exec line this way. And as seen in the services runner this works pretty well. But because one user might have a ancient version of plasma and an up to date frameworks version we should not use this as default, but rather as a fallback if no exec line is given. This way we also avoid issues like https://bugs.kde.org/show_bug.cgi?id=426737.

And 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.

Phabricator Task: https://phabricator.kde.org/T13729

Edited Oct 13, 2020 by Alexander Lohnau
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: work/kcm_systemsettings_no_exec