Proposal for a general setup panel (overview)

Olivier Fourdan fourdan at xfce.org
Wed Aug 21 09:52:34 CEST 2002


Ho Botsie;

> 
> I'll be honest here and say that much of it went over my (admittedly
> low) head.

So you may want to have a look at
http://www.freedesktop.org/standards/xsettings.html

There is a sample implementation available too, it makes things easier
to understand.

> 1. XSettings is the mechanism by which option changes are communicated
> to individual applications.

Nope, it not sent a particular application. All apps that use xsettings
protocol get notified and use or not the given settings.

> 2. The applications use the X stuff which I didn't understand to notify
> the xsetting manager to display the appropriate plugin which knows how
> manipulate it's settings.

Nope, well, kinda, the plugin is in charge of loading/saving settings to
file and display a gui. The rest should be handled by the xsettings
manager.
> 
> This mostly sounds OK to me. I just have a couple of comments on the
> plugin mechanism. IMHO, the biggest disadvantage of plugins would be
> that it would encourage a profusion of config file formats and styles.
> I'm a great believer in consistency for it's own sake. 
> 
> In addition it's a lot of code -- all of which will have bugs and which
> will need maintenance. That's not good, when you realize that they will
> all be doing similar things.

So why not making a shared lib handling the common parts ? I really wish
we could provide more than just a desktop, but also a basic devel
framework.

> I suggest a slightly different method. I would suggest that each
> application define some meta-data about it's config options. It would
> contain information like option name, data type and validation rule.
> 
> Options generally come in two types: numeric and string. They would
> either fall within a range, be one or more of a set of values or conform
> to a regex. 
> 
> Given that much information, it should be possible to render the
> appropriate widget: a spin button for a numeric range, a drop down list
> for a set of values or a text box for a regex. Similarly the validations
> could be generalized too. Basically the config dialog could be rendered
> according to the appropriate meta-config.
> 
> I think the biggest advantage to this would be to prevent redundancy
> between plugins. Who wants to reinvent the wheel? There would also be
> only a single codebase to maintain.

That's another approach, probably closer to the ROX-filer way, if I
remember well. Thomas, still with us on this list ?

Cheers,
-- 
Olivier               <fourdan at xfce.org>            http://www.xfce.org
-----------------------------------------------------------------------
XFce is a lightweight  desktop  environment  for  various *NIX systems.
Designed for productivity,  it loads  and  executes  applications fast,
while conserving  system resources. XFce is all free software, released
under GNU General Public License.    Available from http://www.xfce.org




More information about the Xfce4-dev mailing list