[PATCH weston v3 06/13] shell: account for the subsurfaces when going fullscreen or maximizing

Bill Spitzak spitzak at gmail.com
Mon Apr 29 10:24:54 PDT 2013


Pekka Paalanen wrote:

> We had some talk about adding a "window region" or something in the
> past, that would be used for edge snapping and stuff, or was it deemed
> that input region was enough; I can't recall.

That was my proposal, though I think that is not relevant to this 
discussion.

I'm not clear on what this merging of the bounding boxes is being used 
for. I don't think it should be used by the compositor, as I see it the 
compositor final step should be a stack of *all* surfaces from top to 
bottom, no matter what clients or subsurface trees they belong to, and 
all compositing algorithms are done on this stack. A bounding-box merge 
of a particular subtree is not useful for such algorithms.

I would think mouse event delivery would be entirely controlled by the 
input area set on the wl_shell_surface. The client would be allowed to 
make it larger than the surface, so that it includes whatever portion of 
subsurfaces it wants. This also means the events are delivered to the 
main surface, rather than requiring the client to fix the events that 
are delivered to various decorations.

(I also propose a smaller region be added to wl_shell_surface. The best 
way to describe this is "the area that is left when you maximize the 
surface on modern window managers". It has the "edges" removed, such as 
the black 1-pixel border the toytoolkit is drawing. The purpose is so 
that maximization against less than 4 edges can be done).


More information about the wayland-devel mailing list