Re: Addition for pager layout.

Waldo Bastian <bastian kde org> writes: 
> Isn't the normal sequence that after receiving the client message that the 
> window manager subsequently publishes it as a property? I'm not that deep 
> into this stuff, but isn't that how e.g. the number of desktops works? In 
> that case the window manager could read back this property when it 
> (re)starts, would that work?

The number of desktops is just a window manager configuration option
that the WM publishes; there's no way to ask the WM to change the
number of desktops, unless I'm totally forgetting something.

The desktop layout should probably end up in a property somehow,
yeah. Most root window properties are owned by the window manager,
since it's guaranteed that only one window manager can run at once.

We could say that the client message asks the WM to change the desktop
geometry, and the actual geometry should be read from the property. In
that case pagers should always be written in model-view fashion (they
ask to change the geometry, but always display the geometry from the
property, instead of assuming their change succeeded).

Should probably define what the WM is supposed to do when no client
message has been received (i.e. what is the default?)

In GNOME users are allowed to have 8 panels with different
orientations and a pager in each one, I'm not sure what happens
then. ;-)

Also, on desktop login, there's a race condition where you require the
WM to finish launching before the pager sends its client message.
Obviously the desktop environment can do that, I'm not sure either one
really does right now. (Both launch the WM first, but neither waits
for the WM to definitely be done starting before proceeding, IIRC.)

Another option is that the way of requesting the new desktop layout be
left undefined (desktop-specific), but we just standardize how the WM
will advertise the actual desktop layout on the root window via
property. Then pagers are required to follow what the property
contains, but desktops can implement ways of auto-configuring certain
window managers as the panel moves. This leaves some freedom to do
things like make the layout a config option instead of a function of
panel orientation.

I'm not sure what's right. Anyone else have an opinion?


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]