GSettings update

after quite some time, the GVariant, GSettings, dconf saga is coming to an end. for quite some time Codethink has been sponsoring me to spend a fair bit of time on this stuff and i’m happy to say that it’s reaching the point of usability.

first of all: all existing code is now merged to its final destination. no weird branches or anything are required to use the latest stuff. in fact, i made a pair of tarball releases yesterday: one for glib and one for dconf. those are all you need.

install instructions are something like this:

1) install glib
2) install dconf
3) profit!!

i hacked together a quick example of what #3 might look like. check it out on (not in gnome git due to the fact that it will probably bit-rot soon).

a few notes with respect to the recent releases:

1) the m4 macro for GSettings has changed. if you’re an early adopter this will burn you and i am sorry. the new macro is much nicer, though. it’s less typing for you and it fixes a few problems with the old macro.

to use it, you just need to have two lines in your

gsettings_SCHEMAS = one.gschema.xml two.gscema.xml ...

make sure your ACLOCAL_FLAGS is setup properly if you’re using glib installed in a strange prefix because otherwise aclocal won’t find gsettings.m4.

2) the dconf release as of yesterday has a small bug with an extremely large impact: the gio-querymodule support is broken which causes the dconf GSettings backend not to be seen if you run the gio-querymodule tool. this has been fixed in git and will be in the next release (which should be along in a few days) and it only affects you if you run the tool. my understanding is that vendor packages are working around the issue already.

vendor packages are coming for fedora (rawhide) and ubuntu (maverick, plus backported to lucid in an official ppa). your least-pain option is probably to wait for these.

the next release of dconf will be focused on using it outside of GSettings; a standalone client-side library, and a commandline tool. Robert Ancell has also signed on to do some work on a graphical editor.

one last note: dconf is currently extremely slow. “hilariously slow” might be the appropriate thing to say. don’t worry — it’s just a small fix to make that better. for now i’m more interested in features work, though.

one more last note: the dconf file format might change. just so you know. :)