Xfce Wiki

Sub domains
 

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
general_info_46 [2008/09/13 11:17] – added intltool pkgconfig to xfce4-dev-tools even though it is useful for later packages like libxfcegui4 88.172.125.130releng:4.6:general-info [2008/11/11 14:05] – moved xfconf up the dep toolchain 193.173.96.170
Line 10: Line 10:
 Xfconf is the new configuration system for Xfce 4.6, replacing the old MCS system that had been present since 4.0.0. Xfconf is the new configuration system for Xfce 4.6, replacing the old MCS system that had been present since 4.0.0.
  
-Xfconf is intended to be more general-purpose than MCS ever was, and not even require a GUI for management of settings.  Some may consider Xfconf's architecture to be similar to that of gconf, and they wouldn't be wrong.  However, Xfconf is designed to be much simpler and easier to work with, while still being much more flexible than MCS and providing core Xfce applications and 3rd-party applications an easy-to-use configuration system.+Xfconf is intended to be more general-purpose than MCS ever was, and not even require a GUI for management of settings.  Some may consider Xfconf's architecture to be similar to that of gconf, and they wouldn't be completely wrong.  However, Xfconf is designed to be much simpler and easier to work with, while still being much more flexible than MCS and providing core Xfce applications and 3rd-party applications an easy-to-use configuration system.
  
 Xfconf borrows some terminology from MCS: groups of settings are stored in "channels" that usually correspond to an application.  So if I had an application called "Foobar", I'd store my settings in a channel called "foobar" (or "Foobar", if I wanted).  The actual settings are stored as pairs of "properties" and "values" Properties are hierarchical, so groups of similar settings can be logically kept together. Xfconf borrows some terminology from MCS: groups of settings are stored in "channels" that usually correspond to an application.  So if I had an application called "Foobar", I'd store my settings in a channel called "foobar" (or "Foobar", if I wanted).  The actual settings are stored as pairs of "properties" and "values" Properties are hierarchical, so groups of similar settings can be logically kept together.
Line 33: Line 33:
 Libxfconf is a client library which can be used by applications if they want to store their settings with xfconfd.  It contains some generic property set/get functionality, along with convenience functions for getting/setting common types (strings, ints, doubles, etc.).  An interesting ability of libxfconf is to easily set and retrieve values that are actually arrays of values.  Libxfconf also includes a set of functions to bind GObject properties to Xfconf properties, making connecting UI elements to properties trivial. Libxfconf is a client library which can be used by applications if they want to store their settings with xfconfd.  It contains some generic property set/get functionality, along with convenience functions for getting/setting common types (strings, ints, doubles, etc.).  An interesting ability of libxfconf is to easily set and retrieve values that are actually arrays of values.  Libxfconf also includes a set of functions to bind GObject properties to Xfconf properties, making connecting UI elements to properties trivial.
  
-=== xfsettingsd === 
-Xfsettingsd isn't really an integral part of Xfconf itself, and might get moved out of the xfconf package in the near future.  Xfsettingsd is an independent XSETTINGS daemon that uses xfconf for its settings storage. It keeps all shared desktop-related settings in the 'xsettings' channel and then exposes these settings using the XSETTINGS protocol. 
  
 ==== xfce4-settings ==== ==== xfce4-settings ====
Line 57: Line 55:
   * AccessX notification using libnotify (mention when Sticky-keys and the likes are toggled)   * AccessX notification using libnotify (mention when Sticky-keys and the likes are toggled)
   * Update kb and mouse-pointer data.   * Update kb and mouse-pointer data.
 +
 +=== xfsettingsd ===
 +Xfsettingsd is an independent XSETTINGS daemon that uses xfconf for its settings storage. It keeps all shared desktop-related settings in the 'xsettings' channel and then exposes these settings using the XSETTINGS protocol.
  
 === xfce4-settings-editor === === xfce4-settings-editor ===
Line 81: Line 82:
   * Support for different sound systems at the same time (ALSA, OSS, PulseAudio etc.)   * Support for different sound systems at the same time (ALSA, OSS, PulseAudio etc.)
   * Support for multiple sound cards   * Support for multiple sound cards
-  * Provides a new mixer plugin+  * Provides a new mixer plugin ;-)
  
 ==== xfwm4 ==== ==== xfwm4 ====
Line 97: Line 98:
   - xfce4-dev-tools   - xfce4-dev-tools
   - libxfce4util   - libxfce4util
-  - libxfcegui4, libxfce4menu, libexo 
   - xfconf   - xfconf
 +  - libxfcegui4, libxfce4menu, libexo
   - xfce4-panel   - xfce4-panel
   - thunar   - thunar
Line 104: Line 105:
  
 NB: xfce4-dev-tools is only required when building from SVN sources. NB: xfce4-dev-tools is only required when building from SVN sources.
 +
 ==== Dependencies ==== ==== Dependencies ====
-|| **Package**               || **Depends On** ||+^^ Package               ^^ Depends On  ^^
 || xfce4-dev-tools       || autoconf, automake, intltool, pkgconfig || || xfce4-dev-tools       || autoconf, automake, intltool, pkgconfig ||
 || libxfce4util          || glib, gobject || || libxfce4util          || glib, gobject ||
 || libxfcegui4           || libxfce4util, gtk+, libglade, libstartup-notification (optional), libgladeui (optional) || || libxfcegui4           || libxfce4util, gtk+, libglade, libstartup-notification (optional), libgladeui (optional) ||
 || libxfce4menu          || libxfce4util, gtk+ || || libxfce4menu          || libxfce4util, gtk+ ||
-|| libexo                || libxfce4util, gtk+ ||+|| libexo                || libxfce4util, gtk+, p5-uri ||
 || xfconf                || libxfce4util, dbus, dbus-glib, gtk+ || || xfconf                || libxfce4util, dbus, dbus-glib, gtk+ ||
-|| xfce4-session         || libxfce4util, libxfcegui4, dbus (optional) ||+|| xfce4-session         || libxfce4util, libxfcegui4, p5-xml-parser, libwnck, dbus (optional) ||
 || xfwm4                 || libxfce4util, libxfcegui4, libxfconf, dbus-glib, libwnck, libstartup-notification (optional) || || xfwm4                 || libxfce4util, libxfcegui4, libxfconf, dbus-glib, libwnck, libstartup-notification (optional) ||
 || xfce4-panel           || libxfce4util, libxfcegui4, libexo, cairo, libwnck, libstartup-notification (optional) || || xfce4-panel           || libxfce4util, libxfcegui4, libexo, cairo, libwnck, libstartup-notification (optional) ||
-|| thunar               || libxfce4util, libexo, libpng, gtk+, dbus (optional), gconf (optional), libstartup-notification (optional), freetype (optional), libjpeg (optional), gamin/fam (optional), hal-storage (optional), libxfce4panel (optional) ||+|| thunar               || libxfce4util, libexo, libexif (optional), libpng, gtk+, dbus (optional), gconf (optional), libstartup-notification (optional), freetype (optional), libjpeg (optional), gamin/fam (optional), hal-storage (optional), libxfce4panel (optional), xfconf (optional) ||
 || xfdesktop             || libxfce4util, libxfcegui4, libxfconf, libwnck, libglade, dbus-glib (optional), thunar-vfs (optional), libexo (optional), thunarx (optional), libxfce4menu (optional), libxfce4panel (optional) || || xfdesktop             || libxfce4util, libxfcegui4, libxfconf, libwnck, libglade, dbus-glib (optional), thunar-vfs (optional), libexo (optional), thunarx (optional), libxfce4menu (optional), libxfce4panel (optional) ||
 || xfce-utils            || libxfce4util, libxfcegui4, perl w/XML::Parser (semi-optional), dbus (optional) || || xfce-utils            || libxfce4util, libxfcegui4, perl w/XML::Parser (semi-optional), dbus (optional) ||
Line 121: Line 123:
 || xfce4-mixer           || libxfce4util, libxfcegui4, libxfce4panel, gst-plugins-base-0.10 || || xfce4-mixer           || libxfce4util, libxfcegui4, libxfce4panel, gst-plugins-base-0.10 ||
 || xfprint               || libxfce4util, libxfcegui4, xfconf, cups (optional), lpr (optional) || || xfprint               || libxfce4util, libxfcegui4, xfconf, cups (optional), lpr (optional) ||
-|| xfce4-appfinder       || libxfce4util, libxfee4menu, gtk+ ||+|| xfce4-appfinder       || libxfce4util, libxfce4menu, gtk+ ||