From Fedora Project Wiki

(Draft of GSettings)
 
Line 2: Line 2:
== GSettings Schema ==
== GSettings Schema ==


[Need a paragraph about what GSettings is, and what the glib-compile-schemas call is for]
GSettings is the configuration system used by the GNOME 3 desktop. It replaces the older GConf
system, which was used in GNOME 2. GSettings has pluggable backends, the 'native' one for GNOME is using DConf to store settings. The GSettings API and utilities are part of the glib2 package.
 
Programs which use GSettings install schema information including default values in the directory %{_datadir}/glib-2.0/schemas. Schema files are xml files with the extension .gschema.xml. At runtime, GSettings uses the schemas in a compiled binary (but arch-neutral) form, which is created by running the glib-compile-schemas utility. glib-compile-schemas must be run whenever the set of installed schemas changes.


<pre>
<pre>

Revision as of 17:48, 17 November 2010

This page is a draft only
It is still under construction and content may change. Do not rely on the information on this page.

GSettings Schema

GSettings is the configuration system used by the GNOME 3 desktop. It replaces the older GConf system, which was used in GNOME 2. GSettings has pluggable backends, the 'native' one for GNOME is using DConf to store settings. The GSettings API and utilities are part of the glib2 package.

Programs which use GSettings install schema information including default values in the directory %{_datadir}/glib-2.0/schemas. Schema files are xml files with the extension .gschema.xml. At runtime, GSettings uses the schemas in a compiled binary (but arch-neutral) form, which is created by running the glib-compile-schemas utility. glib-compile-schemas must be run whenever the set of installed schemas changes.

%postun
glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :

%posttrans
glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :

[If apps don't generate an automatic Requires on whatever is providing GSettings then we need to include a simple Requires: on the relevant package here.]