Re: GSettings and you
- From: Bastien Nocera <hadess hadess net>
- To: Matthias Clasen <matthias clasen gmail com>
- Cc: desktop-devel-list <desktop-devel-list gnome org>
- Subject: Re: GSettings and you
- Date: Tue, 20 Apr 2010 15:45:36 +0100
On Tue, 2010-04-20 at 09:00 -0400, Matthias Clasen wrote:
> Hey,
>
> with the GLib 2.25.1 and GConf 2.31.1 releases that I've made
> yesterday, the results of last weeks GSettings hackfest are now
> available.
>
> Some pieces of the puzzle are still missing:
>
> - Dconf is still being worked on
>
> - Support for lists of settings (like a lists of accounts, or
> /desktop/gnome/url-handlers) is not there yet
>
> - The handling of enums is not very convenient yet
>
>
> But we have more than enough in place now to let you start porting applications:
>
> - Several fully functional backends
>
> - API documentation: http://library.gnome.org/devel/gio/2.25/settings.html
>
> - Man pages: http://library.gnome.org/devel/gio/2.25/tools.html
>
> - A porting guide: http://library.gnome.org/devel/gio/2.25/ch23.html
>
> - An example: http://git.gnome.org/browse/gnome-utils/log/?h=gsettings-tutorial
>
> Playing around with what we have now would be very helpful for
> discovering the (undoubtedly existing) oversights and omissions in the
> GSettings API. We recommend to use the GConf backend (see the
> gnome-utils example for how to do that) until dconf is ready for prime
> time.
>
> So, the race is on for the first release of a GSettings-based application.
Tried to port gnome-bluetooth and its single GConf preference to
GSettings. Here are a couple of notes (in addition to some questions
from Richard who was porting gnome-color-manager):
- http://library.gnome.org/devel/gio/2.25/ch23s06.html mentions
gsettings-schema-convert but not what flags should be used, or examples
of what the output would look like, or what it's supposed to look like.
- Would be nice to add a chapter in the porting guide about
g_settings_bind() if one used GConfBridge
- Mention that GConf calls in configure.ac should be removed from
compile flags, require checking for GConf >= 2.31.1 still
- No mention of what gconf_client_get_default()'s equivalent would be
(or what the schema name would be, and how it relates to the filename of
the schema installed)
- No best practices for key names and paths (dashes? underscores?
spaces?), or schema names (org.gnome.Bluetooth?
org.gnome.Bluetooth.properties? gnome-bluetooth?)
- No mention of the .gschema.xml suffix for schemas
- mention the g_setenv ("GSETTINGS_BACKEND", "gconf", FALSE); hack
- Should the summary and descriptions in the schemas follow the same
rules as GConf wrt periods at the end of sentences?
- Should the gschema.xml be translated? With XML merge, or no merge?
- gsettings-schema-convert does not convert underscores to dashes (and
it disallows underscores in key names)
- How come no g_settings_get_float, only g_settings_get_double?
- "/usr/bin/gschema-compile /usr/share/glib-2.0/schemas" will dump
gschemas.compiled in your current directory instead of the schemas dir
(Matthias mentions adding "--targetdir=/usr/share/glib-2.0/gsettings" to
the command)
- No equivalent to "if GCONF_SCHEMAS_INSTALL" for Makefile.am rules
(should be agreed upon and added to a .m4 file, either in gnome-common
or glib)
- Until we have something like gconf-editor for gsettings, would be nice
to have a few command-line applications to test things out (such as
monitoring keys, dumping the current state, or setting a key)
- The migration guide mentions gsettings-data-convert but doesn't say
that it's pretty useless when using the GConf GSettings backend (and the
key names stay the same)
- I needed to use the G_SETTINGS_BIND_NO_SENSITIVITY flag to
g_settings_bind() otherwise it wouldn't know about my key
- /usr/share/gconf/gsettings isn't created by default (either tarball or
the package should)
- I couldn't get the data conversion between GConf and GSettings to work
(/apps/bluetooth-manager/show_icon for GConf,
and /apps/bluetooth-manager/show-icon for GSettings)
This commit shows my work on gnome-bluetooth so far:
http://git.gnome.org/browse/gnome-bluetooth/commit/?id=2e0a63705df026993f3741c491ce258876dca729
Cheers
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]