Skip to content

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:

error ¤

events

ping ¤

ping(serial: int) -> None

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:

  • serial ¤

    (int) –

    Pass this to the pong request

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:

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:

pong ¤

pong(serial: int) -> None

Respond to a ping event

A client must respond to a ping event with a pong request or the client may be deemed unresponsive. See xdg_wm_base.ping and xdg_wm_base.error.unresponsive.

Parameters:

  • serial ¤

    (int) –

    Serial of the ping event

on_ping ¤

on_ping(serial: int) -> None

Check if the client is alive.

Override to handle wayland.xdg_wm_base.events.ping.