Sub-surface protocol

Pekka Paalanen ppaalanen at gmail.com
Fri Dec 14 00:37:44 PST 2012


On Thu, 13 Dec 2012 14:47:57 -0800
Bill Spitzak <spitzak at gmail.com> wrote:

> FLOATING WINDOWS:
> 
> PLEASE consider reusing this code for "floating windows". THEY ARE THE 
> SAME THING!!! The only difference is that the compositor can insert 
> other surfaces between floating children and the parent.
> 
> This would allow all work done to make subsurfaces not blink and to move 
> in lock-step also be used for floating windows, which would address a 
> deficiency in all existing window systems. It will also force the 
> floating window api to allow the client to be in final control of the 
> stacking order, a deficiency in all existing window systems.
> 
> Conversely floating windows have a lot of stuff figured out for focus 
> and event handling, like grabs, and cooperation between tasks and 
> threads. All of this is needed for subwindows so it makes sense to reuse it.

No, sub-surfaces are not sub-windows. A set of sub-surfaces forms a
single solid window. Surface management belongs to the core, window
management to the shell.

At first I was thinking that I could implement tooltips as
sub-surfaces since they do not need any shell features, but then I
realized that even that is nonsense, as it would break the _window_
geometry.

> CLIP:
> 
> Main windows need clip as well. This is so they can draw edge 
> decorations that are clipped off when the window is maximized, rather 
> than having to alter their drawings depending on maximization.
> 
> More important surfaces should be able to inverse-clip (the clip is 
> bigger than the image) for cases where the shell api needs a particular 
> size but the client knows that a portion is not visible. We need this to 
> clip off any number of edges less than 4 (for maximize 
> horizontal/vertical), and to allow subwindows to be used to add the 
> borders to a main window that is actually smaller than it tells the shell.

I don't think so.


Thanks,
pq


More information about the wayland-devel mailing list