Profile Manager
The Xfce4-profile-manager can be used to configure, apply, import and export 'settings-profiles'. These profiles contain settings of different applications across the spectrum of the xfce desktop.
Rationale
Xfce can be quite complicated to configure. There are nearly endless possibilities, but this can mean a problem to new users. Especially if you want to configure xfce for a specific task, it can be difficult to configure xfce for a specific task.
The profile-manager allows users to share their settings, export profiles and re-use them on different systems. Also, distributions can provide profiles specifically tailored for specific use-cases. Like a 'thin' profile that disables all the fancy resource-intensive settings, and a 'fat' profile that has all the pretty gui-stuff people love these days.
Mockups
Schema's
The way settings are stored inside xfconf makes it hard to make a generic configuration dialog for all settings. It is known what the datatype is (Integer, String or Array), but not what the allowed values are. So, if there is an integer for the number of workspaces (for example), it's an integer value, with a minimum value of −2,147,483,648 to 2,147,483,647… but for the number of workspaces, a range of 1 to 16 makes sense…
In the applications using these settings, the boundaries are checked. The same is true for the application-specific configuration dialogs. But, for a generic settings-manager, there is no way to find out if the correct range for a property is a numeric range of 1 to 20, one of the following strings “none,half,full”, or one of the numbers “-1, 0, 1, 2” where they actually mean “Automatic, Scale, Zoom, Stretch”.
Another issue with these settings is that they are not always easy to understand. For example: '{xfwm4}/general/use_compositing' is not something a user would come up with himself if he wants to enable or disable the compositing feature of xfce. To solve this problem, the profile-manager needs some sort of settings-dictionary. A dictionary that maps '{xfwm4}/general/use_compositing' to and from a user-friendly name 'Enable window compositing'.
Backup / Restore
One of the main problems that users experience with xfce is that somehow they changed settings without realizing it. With the nr 1 example, the session. It happens quite often that people have saved their session without a running xfce4-panel. Explaining to a user how to return xfce to the desired state proves difficult, it would be nice if users can save a backup of their settings, and restore if they choose to.
Proposals
Profile selector on each setting dialog
Every setting dialog would have a profile selector. Selecting a profile would restore the related setting values to those of that profile. This would be a kind of robust equivalent to KDEs “Defaults” button.