MCS design proposal

Bo Lorentsen bl at
Sun Jul 8 21:32:23 CEST 2007

Jannis Pohlmann wrote:

> GConf has additional features like "schemas" which are used in
> gconf-editor to display localized information about each property to
> the user. IMHO that's not really necessary as users should not have to
> deal with editing properties manually anyway.
I agree, but I still like to have a regedit/GConf like tool for 
debugging :-)

> There's only minor differences here. GConf currently uses ORBit for IPC
> but it's very likely that they will switch to D-BUS in future versions.
That makes perfect sense, CORBA is a rather big monster (even when using 
orbit) for things like this, and the D-Bus idea really makes sense, and 
it is modular in many ways.

> The easiest way to explain the MCS model is this: Imagine all
> properties are identified by an URI. AFAIK, GConf uses absolute URIs
> for all properties while the MCS model makes it possible to define a
> base URI (a "channel") which is then used for all property queries.
Ahh, that makes sense too ...

But, are channel names organized as a path, like an URL ?

How about signaling, will it follow a tree like structure, like this 
example :

root ->  my_group -> my_first_app
                   -> my_second_app

Will I be able to listen to :

/root/my_group/my_first_app for a specifik app setting changes

/root/my_group              for a group of app's setting changes

/root                       for all groups

> The MCS concept makes it possible to apply restrictions (e.g. in kiosk 
> mode) to certain channels. 
Ok, nice ... does this reflect on the D-Bus interface ?

> In Xfce these "plugins" are the configuration dialogs displayed in the
> settings manager. That's it. We could of course move them out of the
> MCS manager and create a separate configuration program which only
> manages these plugins and is able to display the main config dialog as
> well as launching the plugin dialogs.
Ahh, that makes sense ... like setting-mcs-plugins, nice way of seeing this.

> Of course that is possible. You could write a replacement for the Xfce 
> MCS manager which implements the org.xfce.MCS D-BUS interface. We could
> also implement a kind of backend plugin system for different storage
> mechanisms. The design is flexible enough to implement that later
> without much refactoring.
This sounds even nicer when I understand it more.

One last thing, have anyone been thinking about some kind of channel 
naming convention so all have a good idea of where to look or put settings ?


Ps: I have not been able to find some general doc. about the old MCS 
system, except for API doc.

More information about the Xfce4-dev mailing list