minimized and stick windows
Bill Spitzak
spitzak at gmail.com
Wed May 15 22:02:53 PDT 2013
Mikko Levonmaa wrote:
> i.e. when going from maximized/fullscreen to the default state the
> compositor could remember the last size and propose that to the client.
The client has to know the default size:
1. It may have initially shown maximized. The compositor therefore has
not seen it in normal state and does not know the size.
2. The state of the client may have changed while it was maximized such
that it's normal size has changed.
An actual example of a bug we have run into repeatedly on Windows and in
Qt (though underlying X you can fix it) is that we want to save our
window state in a file, and we want to save both the fact that it is
maximized and what the un-maximized size is. This is not possible if
only the compositor knows it.
On Windows we are forced to blink a maximized window when created so
that Windows sees the normal size and remembers it. On X a big kludge is
done to get around Qt emulating the Windows bug.
It would be nice if Wayland avoided this problem.
So as I see it, if the user hits the "un-maximize" hot key:
1. The compositor sends a state_change event that turns off maximize
2. Client figures out it's un-maximized size, and configures the
surface, drawing the new resized image.
3. Client sends the state_change request to tell the compositor that
this new image is not maximized.
4. Client does a commit so the new size, image, and non-maximized state
are all updated atomically.
More information about the wayland-devel
mailing list