xdg_wm_base¤
wayland.xdg_wm_base ¤
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 defines the basic functionality needed for clients and the compositor to create windows that can be dragged, resized, maximized, etc, as well as creating transient windows such as popup menus.
Methods:
-
destroy
–Destroy
xdg_wm_base
-
create_positioner
–Create a positioner object
-
get_xdg_surface
–Create a shell surface from a surface
-
pong
–Respond to a ping event
-
on_ping
–Check if the client is alive.
error ¤
-
role
–Given `wl_surface` has another role -
defunct_surfaces
–`xdg_wm_base` was destroyed before children -
not_the_topmost_popup
–The client tried to map or destroy a non-topmost popup -
invalid_popup_parent
–The client specified an invalid popup parent surface -
invalid_surface_state
–The client provided an invalid surface state -
invalid_positioner
–The client provided an invalid positioner -
unresponsive
–The client didn’t respond to a ping event in time
events
ping ¤
Check if the client is alive
The ping event asks the client if it's still alive. Pass the serial specified in the event back to the compositor by sending a "pong" request back with the specified serial. See xdg_wm_base.pong.
Compositors can use this to determine if the client is still alive. It's unspecified what will happen if the client doesn't respond to the ping request, or in what timeframe. Clients should try to respond in a reasonable amount of time. The “unresponsive” error is provided for compositors that wish to disconnect unresponsive clients.
A compositor is free to ping in any way it wants, but a client must always respond to any xdg_wm_base object it created.
Parameters:
destroy ¤
destroy() -> None
Destroy xdg_wm_base
Destroy this xdg_wm_base object.
Destroying a bound xdg_wm_base object while there are surfaces still alive created by this xdg_wm_base object instance is illegal and will result in a defunct_surfaces error.
create_positioner ¤
create_positioner() -> xdg_positioner
Create a positioner object
Create a positioner object. A positioner object is used to position surfaces relative to some parent surface. See the interface description and xdg_surface.get_popup for details.
Returns:
-
xdg_positioner
(xdg_positioner
) –The created object
get_xdg_surface ¤
get_xdg_surface(surface: wl_surface) -> xdg_surface
Create a shell surface from a surface
This creates an xdg_surface for the given surface. While xdg_surface itself is not a role, the corresponding surface may only be assigned a role extending xdg_surface, such as xdg_toplevel or xdg_popup. It is illegal to create an xdg_surface for a wl_surface which already has an assigned role and this will result in a role error.
This creates an xdg_surface for the given surface. An xdg_surface is used as basis to define a role to a given surface, such as xdg_toplevel or xdg_popup. It also manages functionality shared between xdg_surface based surface roles.
See the documentation of xdg_surface for more details about what an xdg_surface is and how it is used.
Returns:
-
xdg_surface
(xdg_surface
) –The created object
pong ¤
on_ping ¤
on_ping(serial: int) -> None
Check if the client is alive.
Override to handle wayland.xdg_wm_base.events.ping
.