client side decorations

Bill Spitzak spitzak at
Sun May 8 09:28:31 PDT 2011

On May 7, 2011, at 12:18 AM, Russell Shaw wrote:
> "not use overlapping windows" ?
> Many applications use a bunch of top-level windows instead of MDI  
> windows
> within windows. That's a limitation of the widget toolkits. It can  
> be done
> ok with Xlib. If "internal" windows need maximize/minimize buttons  
> on a
> title bar, the application or widget toolkit will need to draw and  
> manage
> them itself.

I am not talking about MDI.

On both X and Windows, it is impossible for an application to make  
windows A, B, and T (where T is a "toolbox" for instance) where T  
remains atop A *and* B at all times, while also T acts like a regular  
window in that other applications can appear atop it.

"Solutions" have typically been to make "layers" where T remains atop  
everything. X also tried "window groups" which is what Gimp tried and  
tried to use, but had problems in that window managers never  
implemented them, partly because no programs used them but also  
because of stupidly complex design. If Gimp could completely control  
the front-to-back order of it's windows, the api it wants would be so  
trivial it is hard to believe.

Gimp has tried to do this for years and has finally given up.  
Commercial software, especially stuff for Windows, gave up long ago.  
Everybody has reverted to a single window where all the toolboxes are  
"tiles" inside it. This is simply the result of the fact that they  
cannot control the window stacking, but thousands have been  
brainwashed into thinking that this method of avoiding system bugs is  
some kind of "feature".

Layers are a very annoying and a security problem, and it is odd that  
some here are trying to claim these security problems caused by server- 
side window management will actually be a problem with client-side (in  
fact both will have problems but client-side is so much much simpler  
that I think it is easier to solve that way). I NEVER said Gimp could  
keep it's windows on top under client-side window management. It just  
can enforce T above both A and B, it cannot force T above windows it  
does not own.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the wayland-devel mailing list