Xfce4 architecture.

Guido Draheim guidod-2002- at gmx.de
Wed Mar 27 19:59:47 CET 2002


Es schrieb Guido Draheim:
> 
> Es schrieb Olivier Fourdan:
> >
> > Guido,
> >
> > > that is no fvwm-protocol, no fvwm-like modules bound via file-pipes.
> >
> > Correct. xsettings will be used to set colors, fonts, etc. to xfwm.
> >
> > >   can you explicitly declare the new freedesktop wm-protocol
> > >   to be used for the windowmanager config-messages? (it's
> > >   using root-win property-changenotify).
> >
> > Yes. (And xsettings use root window property too)
> 
> not quite. They just store a pointer there to deduce the settings-window
> >from - the actual settings are stored in a property of that settings-window.
> 
> * quote from http://www.freedesktop.org/standards/xsettings/xsettings.html :
> 
> On startup, each client should identify the settings window by calling
> XGetSelectionOwner() for the _XSETTINGS_S[N] selection and select for
> notification on the settings window by calling XSelectInput() with a mask of StructureNotifyMask|PropertyChangeMask.
> [...]
> The client can then proceed to read contents of the _XSETTINGS_SETTINGS
> property from the settings window and interpret according to the information
> in the "_XSETTINGS_SETTINGS Format" section of this document.

I guess the reason is to decrease the traffic - a window watching for
propertychange of the root-window will receive a lot of unecessary
events, including the wm-change events. On every rootwin-event it will 
be woken up, just to check the incoming event and to see it does
not contain a SETTINGS_SETTINGS part. With an extra settings-window,
the window-tasks looking for desktop-settings can sleep when not used
and the xsettings-window is not used either. (It can be easily deduced
that there should be only one desktop-setting-window, and all settings
that shall apply desktop-wide should be stored/modified there.)

cheers, guido

> 
> >
> > Cheers,
> > Olivier.
> >
> > On Wed, 2002-03-27 at 17:19, Guido Draheim wrote:
> > > Es schrieb Olivier Fourdan:
> > > >
> > > > Hi all,
> > > >
> > > > It seems things get clearer to me right now.
> > > >
> > > > The monolithic approach found in xfce 3 is to be forgotten.
> > >
> > > that is no fvwm-protocol, no fvwm-like modules bound via file-pipes.
> > >
> > > hereunder:
> > >   the xsetting protocol handles the non-wm config-messages
> > >   can you explicitly declare the new freedesktop wm-protocol
> > >   to be used for the windowmanager config-messages? (it's
> > >   using root-win property-changenotify).
> > >
> > > it's here at http://www.freedesktop.org/standards/wm-spec.html
> > >
> > > cheers, guido
> > >
> > > >
> > > > For example, xfwm4 will *not* manage icons at all. Another separated
> > > > application will be in charge of that.
> > > >
> > > > That application will have a configuration option that allow, for
> > > > example, icons on the desktop, icons placed in a iconbox or even icons
> > > > placed in a taskbar.
> > > >
> > > > It will use the freedesktop standards to communicate. xsettings
> > > > protocolhttp://www.freedesktop.org/standards/xsettings.html  (sample
> > > > implementation available here
> > > > http://www.freedesktop.org/standards/xsettings/xsettings-0.1.tar.gz, try
> > > > it, this is a must) will be used for that purpose.
> > > >
> > > > 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
> > > >
> > > > _______________________________________________
> > > > Xfce4-dev mailing list
> > > > Xfce4-dev at moongroup.com
> > > > http://moongroup.com/mailman/listinfo/xfce4-dev
> > >
> > > -- guido                                    http://freespace.sf.net/guidod
> > > GCS/E/S/P C++/++++$ ULHS L++w- N++@ d(+-) s+a- r+@>+++ y++ 5++X- (geekcode)
> > > _______________________________________________
> > > Xfce4-dev mailing list
> > > Xfce4-dev at moongroup.com
> > > http://moongroup.com/mailman/listinfo/xfce4-dev
> > >
> > --
> > 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
> >
> > _______________________________________________
> > Xfce4-dev mailing list
> > Xfce4-dev at moongroup.com
> > http://moongroup.com/mailman/listinfo/xfce4-dev
> 
> -- guido                                    http://freespace.sf.net/guidod
> GCS/E/S/P C++/++++$ ULHS L++w- N++@ d(+-) s+a- r+@>+++ y++ 5++X- (geekcode)
> _______________________________________________
> Xfce4-dev mailing list
> Xfce4-dev at moongroup.com
> http://moongroup.com/mailman/listinfo/xfce4-dev

-- guido                                    http://freespace.sf.net/guidod
GCS/E/S/P C++/++++$ ULHS L++w- N++@ d(+-) s+a- r+@>+++ y++ 5++X- (geekcode)



More information about the Xfce4-dev mailing list