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
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 [2010/10/02 17:26] (current) – external edit 127.0.0.1
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 65: Line 66:
 ==== xfdesktop ==== ==== xfdesktop ====
  
-Xfce's desktop manager, xfdesktop, is the program that draws the desktop background, desktop icons, and presents the right-click root menu and middle-click window list menu.+Xfce's desktop manager, xfdesktop, is the program that draws the desktop background, desktop icons, and previous presents the right-click root menu and middle-click window list menu. The news in Xfce 4.6 is that "Desktop setting -> Icons -> Appearance -> Icon type" setting causes the root menu disappear if something else than "File/launcher icons" is selected. You are still able to have the root menu as an instance in the desktop settings menu, which presents then your right-click in Xfce 4.6. This is set at "Desktop setting -> Icons -> Appearance -> Menu"
 +Read more http://foo-projects.org/pipermail/xfce4-dev/2009-January/025873.html
  
 Xfdesktop hasn't changed all that much since 4.4 from the user's perspective, though many bugs have been fixed and small new features have been added.  The preferences dialog has been redesigned and is hopefully easier to use now.  The old menu system has been replaced with a newer, faster menu system (based on libxfce4menu), and the settings storage has been migrated from the old MCS settings system to the new Xfconf system. Xfdesktop hasn't changed all that much since 4.4 from the user's perspective, though many bugs have been fixed and small new features have been added.  The preferences dialog has been redesigned and is hopefully easier to use now.  The old menu system has been replaced with a newer, faster menu system (based on libxfce4menu), and the settings storage has been migrated from the old MCS settings system to the new Xfconf system.
Line 81: Line 83:
   * 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 ====
 +
 ==== xfce4-session ==== ==== xfce4-session ====
 ==== xfce-utils ==== ==== xfce-utils ====
Line 97: Line 100:
   - 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 107:
  
 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), xfconf (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 125:
 || 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+ ||