xfconf GSettings backend
Peter de Ridder
peter at xfce.org
Tue Mar 3 13:26:01 CET 2015
On Tue, Mar 3, 2015 at 10:48 AM, Nick Schermer <nick at xfce.org> wrote:
> Technically [but a bitch for users] is to migrate xfconf data -> dconf
> and use the normal gsettings backend and drop xfconf.
> That said, the golden rule it to not break 2 things at the same time,
> so we might want to sit with xfconf during the gtk3 port. So the
> question is whether is useful to use gsettings to store settings in
> xfconf if we have to migrate anyway, some day...
As nick said there is no real need for a xfconf backend, we can just use dconf.
Also, xfconf can do some things that gsettings can't and visa versa.
These should first be tackled to be able to make the switch.
Maning the most important one: gsettings can't have settings out side
of the gschema.
This is currently used for mouse and touchpad settings. The user can
even add extra settings where xfce4-mouse-settings doesn't know about.
> On Mon, Mar 2, 2015 at 7:46 PM, Stephan Haller <nomad at froevel.de> wrote:
>> Hi @all,
>> first of all I want to congratulate you for the Xfce 4.12 release and to
>> thank you for all your hard work to make this release happen. It's
>> great :)
>> I spent the last hours of my coding time on another very small project
>> of mine because I needed a break of xfdashboard to revise the current
>> work I've done (started with multi-monitor support) and the roadmap.
>> This small project is called - I guess you know it already - xfconf
>> GSettings backend.
>> So far the project's progress is that it passes all tests of Glib 2.40
>> as defined at /gio/tests/gsettings.c in the sources and all stored
>> values are editable with xfconf's graphical editor
>> xfce4-settings-editor. But this backend is not really smart to get it
>> editable in the editor. It tries to find suitable GValue type for basic
>> GVariant types, e.g. booleans, integers, strings etc. and stores them in
>> xfconf with their native type. All other types like containers (e.g.
>> arrays) or more complex type (using maybe type etc.) are converted to
>> their GVariant's parsable string representation and then stored as
>> strings in xfconf. So they are still editable but you have to use the
>> GVariant textual value. Short said: They are serialized.
>> This is for me just a proof-of-concept so the code is not well
>> structured yet and also error handling have to be improved. Also the
>> backend missed two functions (subscribe and unsubscribe) but I don't
>> know what they are used for. The documentation is not very complete
>> about the virtual function of a GSettings backend. But maybe it is still
>> worth a look and try. The Git repository is at
>> Please let me know what you think about it and if it is ok for further
>> development or if it is better to drop it ;)
>> Xfce4-dev mailing list
>> Xfce4-dev at xfce.org
> Xfce4-dev mailing list
> Xfce4-dev at xfce.org
More information about the Xfce4-dev