MCS design proposal
bl at lue.dk
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
> 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
root -> my_group -> my_first_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