aboutsummaryrefslogtreecommitdiff
path: root/unstable/idle-inhibit
diff options
context:
space:
mode:
authorJonas Ådahl <jadahl@gmail.com>2020-01-13 19:07:49 +0100
committerJonas Ådahl <jadahl@gmail.com>2020-02-29 15:34:42 +0100
commit26f494edb0ad7978ab04eb41d2293e26c50e5451 (patch)
treefc445dc96a334ea1520cef14967f609a3d44734a /unstable/idle-inhibit
parentebbad29e3fc82f62a73cc19e924dcde89dd05c49 (diff)
xdg-shell: Add support for explicit popup repositioning
This commit adds protocol additions making it possible to request that a popup should be repositioned according to a new xdg_positioner object. Explicit popup moving is done using a new request on xdg_popup: xdg_popup.reposition. What it does is change the parameters used for positioning a popup by providing a new xdg_positioner object. This request is coupled with a new event; xdg_popup.repositioned, sent together with the configure events (xdg_popup.configure and xdg_surface.configure) to notify about the completion of the reposition request. The reposition request also takes a token that is later passed via the repositioned event; this is done so that a client may determine for which reposition request the compositor has sent configure events. Synchronization between surfaces to avoid state application race condition are deliberately left out, and should be handled by an external protocol. To brief the compositor of the future dimension of the parent that the compositor should position the popup against, a xdg_positioner.set_parent_size request is added. Lastly, a request to couple a xdg_positioner object with a parent configure event is added (xdg_positioner.set_parent_configure) in order for a compositor to pair a popup reposition request with a pending configure event, and it's resulting window geometry. This is necessary to, for example, properly constrain a popup given a future parent state. An example of when this may be necessary is an interactive resize where both the toplevel position and the relative popup position changes. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Reviewed-by: Simon Ser <contact@emersion.fr>
Diffstat (limited to 'unstable/idle-inhibit')
0 files changed, 0 insertions, 0 deletions