Commit 34404861 authored by Jonas Ådahl's avatar Jonas Ådahl
Browse files

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

Closes: #17

Signed-off-by: Jonas Ådahl's avatarJonas Ådahl <>
Reviewed-by: Simon Ser's avatarSimon Ser <>
parent c2ceb5f1
Pipeline #487245 passed with stages
in 41 seconds
......@@ -29,7 +29,7 @@
<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 @@
<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 @@
<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 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.
<!-- 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.
<arg name="width" type="int"/>
<arg name="height" type="int"/>
<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
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment