diff options
author | Jasper St. Pierre <jstpierre@mecheye.net> | 2014-05-06 08:50:47 -0400 |
---|---|---|
committer | Kristian Høgsberg <krh@bitplanet.net> | 2014-05-12 23:34:05 -0700 |
commit | 5befdda84fe7cb2fb6d5d8986a5b8552a1372b8a (patch) | |
tree | 91b4d64e1f880f5e1aeb8162dc8aa9c8721bff4f /protocol | |
parent | ab2c10813766e3cd3f5228385eb4984565fb2f26 (diff) | |
download | weston-5befdda84fe7cb2fb6d5d8986a5b8552a1372b8a.tar.gz weston-5befdda84fe7cb2fb6d5d8986a5b8552a1372b8a.tar.bz2 weston-5befdda84fe7cb2fb6d5d8986a5b8552a1372b8a.zip |
xdg-shell: Turn the resizing heuristics into an explicit state
Currently, there's a race condition. When resizing from the left, and
a client attaches a buffer after the resize ends, you suddenly see the
buffer jump to the right, because the resize ended while multiple
attaches were in-flight. Making resize a state can fix this, as the
server can now know exactly when the resize ended, and whether a commit
was before or after that place.
We don't implement the correct tracking in this commit; that's left as
an exercise to the reader.
Additionally, clients like terminals might want to display resize popups
to display the number of cells when in a resize. They can use the hint
here to figure out whether they are resizing.
Diffstat (limited to 'protocol')
-rw-r--r-- | protocol/xdg-shell.xml | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/protocol/xdg-shell.xml b/protocol/xdg-shell.xml index d3d6a377..19f9651d 100644 --- a/protocol/xdg-shell.xml +++ b/protocol/xdg-shell.xml @@ -270,6 +270,12 @@ The surface is fullscreen. The window geometry specified in the configure event must be obeyed by the client. </entry> + <entry name="resizing" value="3"> + The surface is being resized. The window geometry specified in the + configure event is a maximum; the client cannot resize beyond it. + Clients that have aspect ratio or cell sizing configuration can use + a smaller size, however. + </entry> </enum> <event name="configure"> |