<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" id="tech-gsettings" xml:lang="oc">
<info>
<link type="guide" xref="tech" group="gsettings"/>
<revision pkgversion="3.0" date="2013-01-30" status="candidate"/>
<credit type="author copyright">
<name>Federico Mena Quintero</name>
<email its:translate="no">federico@gnome.org</email>
<years>2013</years>
</credit>
<include xmlns="http://www.w3.org/2001/XInclude" href="cc-by-sa-3-0.xml"/>
<desc>Configuration storage for application preferences</desc>
</info>
<title>GSettings</title>
<p>GSettings is the part of <link xref="tech-glib">GLib</link> that allows
applications to save their configuration settings and user's preferences in a
standard way.</p>
<p>
An application that uses GSettings defines a <em>schema</em> of
configuration keys. The schema for each key contains the key's name, a
human-readable description of what the key is for, a type for the key
(string, integer, etc.), and a default value.
</p>
<p>
GSettings uses the operating system's storage for configuration data. On
GNU systems this is DConf; on Windows it is the Registry, and on Mac OS it
is the NextStep property list mechanism.
</p>
<p>
GSettings lets you monitor changes in keys' values, so your application can
respond dynamically to global changes in configuration. For example, all
applications that display clocks can respond to a global setting for
12-hour/24-hour display immediately, without having to restart.
</p>
<list style="compact">
<item><p><link href="http://developer.gnome.org/gio/stable/GSettings.html">GSettings Reference Manual</link></p></item>
</list>
</page>