Re: Work in Progress: draft 1.9a



On Sun, 4 Jul 1999, Matthias Ettrich wrote:

> On Sun, 04 Jul 1999, Marko Macek wrote:

> > 
> > _NET_CLIENT_LIST, XA_WINDOW[]/32
> > 
> > An array of all X Windows managed by the window manager.
> > 
> > [[This is simple. Does anyone feel we need a faster mechanism based  on
> > incremental updates? (based selection query + ADD/REMOVE updates, we
> > must  be careful about race conditions if we do this)?
> > It would be nice to have a query for managed windows in Z-order, for
> > external implementation of Alt-Tab]]
> 
> It looks like we need at least three lists then :
> 
>     _NET_CLIENT_LIST creation/mapping order
>     _NET_CLIENT_LIST_FOCUS focus order, for external alt-tab implementation
>     _NET_CLIENT_LIST_STACKING stacking order (for tools like a pager).
> 
> While STACKING looks important to me, FOCUS isn't. An external alt-tab
> implementation can monitor both _NET_CLIENT_LIST and _NET_ACTIVE_WINDOW to keep
> track of the focus chain.
> 
> Keeping track of the stacking order is far more complicated, especially since
> the module can't know whether the window manager really obeys the layer hint or
> not.
> 
> How does the GNOME pager to stacking properly?

the gnome-pager has recently been reimplemented. the old implementation
wasn't exactly clever at all and introduced a lot of server traffic by
querying the stacking order upon all screen updates.

the new implementation keeps track of the stacking order in an internal
cache and gets SubstructureNotify events from the root window.
since E implements multiple desktops by creating new "root" windows for
desktops != 0, it also has to monitors the stacking order of those
"virtual root" windows, which are identified through an ENLIGHTENMENT_DESKTOP
atom.
if this is going to become common practice in window manager implementations
(i.e. creating new "root" windows for multiple desktops) we should probably
even specify a _NET_DESKTOP_WINDOW property that should be set on those
windows, to maintain portability across window managers.

> 
> Matthias
> 

---
ciaoTJ



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