package wayland

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Create surfaces that are layers of the desktop.

Clients can use this interface to assign the surface_layer role to wl_surfaces. Such surfaces are assigned to a "layer" of the output and rendered with a defined z-depth respective to each other. They may also be anchored to the edges and corners of a screen and specify input handling semantics. This interface should be suitable for the implementation of many desktop shell components, and a broad number of other applications that interact with the desktop.

type 'v t = ([ `Zwlr_layer_shell_v1 ], 'v, [ `Client ]) Wayland.Proxy.t

Version 1, 2

val get_layer_surface : [< `V1 | `V2 | `V3 | `V4 | `V5 ] as 'a t -> [[ `Zwlr_layer_surface_v1 ], 'b, [ `Client ]] Wayland.Proxy.Handler.t -> surface:([ `Wl_surface ], 'c, [ `Client ]) Wayland.Proxy.t -> output:([ `Wl_output ], 'd, [ `Client ]) Wayland.Proxy.t option -> layer:{Imports}1.Zwlr_layer_shell_v1.Layer.t -> namespace:string -> ([ `Zwlr_layer_surface_v1 ], 'e, [ `Client ]) Wayland.Proxy.t

Create a layer_surface from a surface.

Create a layer surface for an existing surface. This assigns the role of layer_surface, or raises a protocol error if another role is already assigned.

Creating a layer surface from a wl_surface which has a buffer attached or committed is a client error, and any attempts by a client to attach or manipulate a buffer prior to the first layer_surface.configure call must also be treated as errors.

After creating a layer_surface object and setting it up, the client must perform an initial commit without any buffer attached. The compositor will reply with a layer_surface.configure event. The client must acknowledge it and is then allowed to attach a buffer to map the surface.

You may pass NULL for output to allow the compositor to decide which output to use. Generally this will be the one that the user most recently interacted with.

Clients can specify a namespace that defines the purpose of the layer surface.

Version 3, 4, 5

val destroy : [< `V3 | `V4 | `V5 ] t -> unit

Destroy the layer_shell object.

This request indicates that the client will not use the layer_shell object any more. Objects that have been created through this instance are not affected.

Handlers

Note: Servers will always want to use v1.

class +'a v1 : object ... end

Handler for a proxy with version >= 1.

class +'a v2 : object ... end

Handler for a proxy with version >= 2.

class +'a v3 : object ... end

Handler for a proxy with version >= 3.

class +'a v4 : object ... end

Handler for a proxy with version >= 4.

class +'a v5 : object ... end

Handler for a proxy with version >= 5.

OCaml

Innovation. Community. Security.