Module Wlr_layer_shell_unstable_v1_server.Zwlr_layer_surface_v1

Layer metadata interface.

An interface that may be implemented by a wl_surface, for surfaces that are designed to be rendered as a layer of a stacked desktop-like environment.

Layer surface state (layer, size, anchor, exclusive zone, margin, interactivity) is double-buffered, and will be applied at the time wl_surface.commit of the corresponding wl_surface is called.

Attaching a null buffer to a layer surface unmaps it.

Unmapping a layer_surface means that the surface cannot be shown by the compositor until it is explicitly mapped again. The layer_surface returns to the state it had right after layer_shell.get_layer_surface. The client can re-map the surface by performing a commit without any buffer attached, waiting for a configure event and handling it as usual.

type 'v t = ([ `Zwlr_layer_surface_v1 ], 'v, [ `Server ]) Wayland.Proxy.t

Version 1

val closed : [< `V1 | `V2 | `V3 | `V4 | `V5 ] t -> unit

Surface should be closed.

The closed event is sent by the compositor when the surface will no longer be shown. The output may have been destroyed or the user may have asked for it to be removed. Further changes to the surface will be ignored. The client should destroy the resource after receiving this event, and create a new surface if they so choose.

val configure : [< `V1 | `V2 | `V3 | `V4 | `V5 ] t -> serial:int32 -> width:int32 -> height:int32 -> unit

Suggest a surface change.

The configure event asks the client to resize its surface.

Clients should arrange their surface for the new states, and then send an ack_configure request with the serial sent in this configure event at some point before committing the new surface.

The client is free to dismiss all but the last configure event it received.

The width and height arguments specify the size of the window in surface-local coordinates.

The size is a hint, in the sense that the client is free to ignore it if it doesn't resize, pick a smaller size (to satisfy aspect ratio or resize in steps of NxM pixels). If the client picks a smaller size and is anchored to two opposite anchors (e.g. 'top' and 'bottom'), the surface will be centered on this axis.

If the width or height arguments are zero, it means the client should decide its own window dimension.

Version 2, 3, 4

Version 5

Handlers

Note: Servers will always want to use v1.

class virtual +'a v1 : object ... end

Handler for a proxy with version >= 1.

class virtual +'a v2 : object ... end

Handler for a proxy with version >= 2.

class virtual +'a v3 : object ... end

Handler for a proxy with version >= 3.

class virtual +'a v4 : object ... end

Handler for a proxy with version >= 4.

class virtual +'a v5 : object ... end

Handler for a proxy with version >= 5.