Create a *real* top level window

Carsten Haitzler (The Rasterman) raster at rasterman.com
Fri Sep 24 05:37:42 PDT 2010


On Fri, 24 Sep 2010 11:10:45 +0200 Eeri Kask <Eeri.Kask at mailbox.tu-dresden.de>
said:

> On 09/23/2010 04:43 PM, Carsten Haitzler (The Rasterman) wrote:
> > On Thu, 23 Sep 2010 15:40:47 +0200 Eeri Kask
> > <Eeri.Kask at mailbox.tu-dresden.de> said:
> >> No I don't,  though it looks like the current server implementation
> >> only ensures WMs have no advantage in knowing something about their
> >> geometrical structure '_in_advance_'  (in respect to all other
> >> clients).  I haven't read, but maybe the spec just says this. :-)
> > 
> > map redirects dont provide "advance knowledge". they provide an intercept
> > point. override-redirect windows bypass such an intercept point. the wm can
> > only passively listen and try and "fight" these windows after-the-fact. and
> > that just leads to a complete mess  they are intended for bypassing the wm.
> 
> 
> Oh, I see.  This means all a WM effectively can provide is to
> enforce some _geometrical_ restrictions upon visible, i.e. mapped
> windows (including refusing them becoming visible) which have no
> OverrideRedirect flag set in the moment of requesting.

correct. the wm can intercept the map request, stacking requests and requests
to configure (move and resize). that's it. this is also only for normal
windows. override-redirect windows bypass this and the wm has no say in it -
they get directly manipulated by the client manipulating them. the wm CAN get
events when such windows map, unmap, configure (move/resize etc.) but these
events are after-the-fact. ie window is already visible, or already
moved/resized or already stacked somewhere. any wm that wanted to fight this
would create a complete mess. it wasn't intended that a wm fight this. it was a
specific bypass mechanism designed into x11.

> Apart from that every service beyond should (i.e. could be expected
> to) be offered to OverrideRedirect windows too... which implies they
> cannot be flatly ignored by the WM;  no?

i don't get this bit? see above. overrideredirect windows are not interceptable
by the wm. they are INTENDED to be ignored by the wm. they are used for things
like menus, combo-boxes, tooltips etc. they are NOT intended simply at getting
s regular borderless toplevel window - but for very specific short-lived uses
and the client creating these and managing them is responsible for them. if
they mess up - blame that client. the wm has no say in those windows.

-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    raster at rasterman.com




More information about the xorg mailing list