summaryrefslogtreecommitdiff
path: root/protocol
diff options
context:
space:
mode:
authorJasper St. Pierre <jstpierre@mecheye.net>2014-05-06 08:50:47 -0400
committerKristian Høgsberg <krh@bitplanet.net>2014-05-12 23:34:05 -0700
commit5befdda84fe7cb2fb6d5d8986a5b8552a1372b8a (patch)
tree91b4d64e1f880f5e1aeb8162dc8aa9c8721bff4f /protocol
parentab2c10813766e3cd3f5228385eb4984565fb2f26 (diff)
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.xml6
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">