xdg-shell: Turn the resizing heuristics into an explicit state
authorJasper St. Pierre <jstpierre@mecheye.net>
Tue, 6 May 2014 12:50:47 +0000 (08:50 -0400)
committerKristian Høgsberg <krh@bitplanet.net>
Tue, 13 May 2014 06:34:05 +0000 (23:34 -0700)
commit5befdda84fe7cb2fb6d5d8986a5b8552a1372b8a
tree91b4d64e1f880f5e1aeb8162dc8aa9c8721bff4f
parentab2c10813766e3cd3f5228385eb4984565fb2f26
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.
clients/window.c
desktop-shell/shell.c
protocol/xdg-shell.xml