Currently various components in AsteroidOS use dconf for storing settings. This is mostly a legacy choice, partially because the Nemo stack back then (and largely still do in SFOS) used it. dconf has various downsides for us though:
- it's a non-plain text format making it hard to edit by users when not going through the apps themselves
- it requires use of mlite for the Qt support of the format which is a really old library with basically no description of what it does, it's basically a random selection of utils used by Nemo.
Instead it would be good to port at least our own settings to QSettings. That requires no external dependencies other than Qt itself and uses the plain text INI format.
Since existing settings are already saved in dconf we'll need some migration path. Perhaps there should be an OS release with support for loading from dconf and QSettings (loading from QSettings first if it can find a config file, then fallback to dconf if it can't) and saving to only QSettings, and then the next release loading from dconf can be removed.
With the current slow release schedule (I believe it was planned once a year now?) this should give users enough time to store their settings in QSettings format before we remove dconf usage.
Currently various components in AsteroidOS use dconf for storing settings. This is mostly a legacy choice, partially because the Nemo stack back then (and largely still do in SFOS) used it. dconf has various downsides for us though:
Instead it would be good to port at least our own settings to QSettings. That requires no external dependencies other than Qt itself and uses the plain text INI format.
Since existing settings are already saved in dconf we'll need some migration path. Perhaps there should be an OS release with support for loading from dconf and QSettings (loading from QSettings first if it can find a config file, then fallback to dconf if it can't) and saving to only QSettings, and then the next release loading from dconf can be removed.
With the current slow release schedule (I believe it was planned once a year now?) this should give users enough time to store their settings in QSettings format before we remove dconf usage.