<page xmlns="http://projectmallard.org/1.0/"
      xmlns:its="http://www.w3.org/2005/11/its"
      type="topic"
      id="tech-gsettings">

  <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 href="cc-by-sa-3-0.xml" xmlns="http://www.w3.org/2001/XInclude"/>

    <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>
