diff options
author | Jonas Ådahl <jadahl@gmail.com> | 2020-08-04 15:46:24 +0200 |
---|---|---|
committer | Jonas Ådahl <jadahl@gmail.com> | 2022-01-19 09:54:22 +0100 |
commit | 344048614ad4a3887e431f63b6f12208edce51f9 (patch) | |
tree | 126891325b848496e1a6a9f3a9c47080af6958cb /stable | |
parent | c2ceb5f14d0af04c248e03c125d2ed85980cf806 (diff) |
xdg-shell: Add toplevel "bounds" configure event
This aims to communicate the maximum size a surface should be created
with, and loosely corresponds to the concept of "work area" in the X11
world.
Closes: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/issues/17
Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Diffstat (limited to 'stable')
-rw-r--r-- | stable/xdg-shell/xdg-shell.xml | 34 |
1 files changed, 29 insertions, 5 deletions
diff --git a/stable/xdg-shell/xdg-shell.xml b/stable/xdg-shell/xdg-shell.xml index 7909359..9b5279e 100644 --- a/stable/xdg-shell/xdg-shell.xml +++ b/stable/xdg-shell/xdg-shell.xml @@ -29,7 +29,7 @@ DEALINGS IN THE SOFTWARE. </copyright> - <interface name="xdg_wm_base" version="3"> + <interface name="xdg_wm_base" version="4"> <description summary="create desktop-style surfaces"> The xdg_wm_base interface is exposed as a global object enabling clients to turn their wl_surfaces into windows in a desktop environment. It @@ -117,7 +117,7 @@ </event> </interface> - <interface name="xdg_positioner" version="3"> + <interface name="xdg_positioner" version="4"> <description summary="child surface positioner"> The xdg_positioner provides a collection of rules for the placement of a child surface relative to a parent surface. Rules can be defined to ensure @@ -401,7 +401,7 @@ </request> </interface> - <interface name="xdg_surface" version="3"> + <interface name="xdg_surface" version="4"> <description summary="desktop user interface surface base interface"> An interface that may be implemented by a wl_surface, for implementations that provide a desktop-style user interface. @@ -577,7 +577,7 @@ </interface> - <interface name="xdg_toplevel" version="3"> + <interface name="xdg_toplevel" version="4"> <description summary="toplevel surface"> This interface defines an xdg_surface role which allows a surface to, among other things, set window-like properties such as maximize, @@ -1070,9 +1070,33 @@ a dialog to ask the user to save their data, etc. </description> </event> + + <!-- Version 4 additions --> + + <event name="configure_bounds" since="4"> + <description summary="recommended window geometry bounds"> + The configure_bounds event may be sent prior to a xdg_toplevel.configure + event to communicate the bounds a window geometry size is recommended + to constrain to. + + The passed width and height are in surface coordinate space. If width + and height are 0, it means bounds is unknown and equivalent to as if no + configure_bounds event was ever sent for this surface. + + The bounds can for example correspond to the size of a monitor excluding + any panels or other shell components, so that a surface isn't created in + a way that it cannot fit. + + The bounds may change at any point, and in such a case, a new + xdg_toplevel.configure_bounds will be sent, followed by + xdg_toplevel.configure and xdg_surface.configure. + </description> + <arg name="width" type="int"/> + <arg name="height" type="int"/> + </event> </interface> - <interface name="xdg_popup" version="3"> + <interface name="xdg_popup" version="4"> <description summary="short-lived, popup surfaces for menus"> A popup surface is a short-lived, temporary surface. It can be used to implement for example menus, popovers, tooltips and other similar user |