Summary: | Feature Request: deterministic KDE/QT config format | ||
---|---|---|---|
Product: | [Applications] systemsettings | Reporter: | David Conner <dconner.pro> |
Component: | general | Assignee: | Plasma Bugs List <plasma-bugs-null> |
Status: | RESOLVED DUPLICATE | ||
Severity: | wishlist | CC: | nate |
Priority: | NOR | ||
Version First Reported In: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
David Conner
2023-04-26 11:01:12 UTC
> This definitely falls under the category of "over-broad requests for giant changes to everything", Indeed. :) The issue here is that there's no single magic bullet solution. Every app and also Plasma needs to be ported to save its state in its state file rather than its config file. This has been happening slowly, and some apps like Dolphin do it now, but in the end, every single app needs to be ported to do it. It can't be done automatically because someone needs to make the judgment about what counts as state and what counts as settings and handle them separately. If you'd like to help out with this effort, it could be a good place to get involved. It's not hard to do. Here are the two commits that did it for Dolphin, for example: - https://invent.kde.org/system/dolphin/-/commit/946b911a5d340d7672db9802579f658aeba738b0 - https://invent.kde.org/system/dolphin/-/commit/b497dc9cbd1236790b5267710f5fb8370253d005 Not too bad, right? It's basically a matter of replacing "KSharedConfig::openConfig()" function calls with "KSharedConfig::openStateConfig()" for data that should be considered semi-volatile state, not user settings. So maybe you can help by making similar changes for apps where you encounter this problem. If not, then it would be useful if you could submit a bug report for each individual app that exhibits this problem, and then add it to the "see also" list in Bug 397602. > A temporary fix that would make me happy is a command-line configuration interface that can comprehensively configure most applications We have this; check out `kreadconfig5` and kwriteconfig5`. *** This bug has been marked as a duplicate of bug 397602 *** (In reply to Nate Graham from comment #1) > If you'd like to help out with this effort, it could be a good place to get > involved. It's not hard to do. Here are the two commits that did it for > Dolphin, for example: > - > https://invent.kde.org/system/dolphin/-/commit/ > 946b911a5d340d7672db9802579f658aeba738b0 > - > https://invent.kde.org/system/dolphin/-/commit/ > b497dc9cbd1236790b5267710f5fb8370253d005 > > Not too bad, right? It's basically a matter of replacing > "KSharedConfig::openConfig()" function calls with > "KSharedConfig::openStateConfig()" for data that should be considered > semi-volatile state, not user settings. So maybe you can help by making > similar changes for apps where you encounter this problem. > > If not, then it would be useful if you could submit a bug report for each > individual app that exhibits this problem, and then add it to the "see also" > list in Bug 397602. Thank you for collecting these commits. I am working on a repository similar to these: + https://github.com/ectorepo/tensorflow + https://github.com/ectorepo/ROCmSoftwarePlatform The placeholder is here, but I've been busy for awhile: + https://github.com/ectorepo/kde This will allow me to clone all of the projects on invent.kde.org, which should be finished soon. I should be able to extract the information I need from GraphQL that allows me to check the projects into a file tree based on their category/project or something. I usually use this approach to keep large codebases in sync where the codebases are intended for reference only. After running `repo init` and `repo sync`, then everything is up-to-date. The sync command can specify projects by "group" which functions like a tag. I don't know that I will have the time to work on anything. It just depends, perhaps in the next few months or so. > We have this; check out `kreadconfig5` and kwriteconfig5`. > > *** This bug has been marked as a duplicate of bug 397602 *** I will look into those. Thanks again. |