123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214(* This file was generated automatically by wayland-scanner-ocaml *)openstructmoduleProxy=Wayland.ProxymoduleIface_reg=Wayland.Iface_regmoduleMetadata=Wayland.MetadataendmoduleZwlr_layer_shell_v1=structtypet=[`Zwlr_layer_shell_v1]type_Metadata.ty+=T:[`Zwlr_layer_shell_v1]Metadata.tytypeversions=[`V1|`V2|`V3|`V4|`V5]letinterface="zwlr_layer_shell_v1"letversion=5lmoduleError=structtypet=|Role:t|Invalid_layer:t|Already_constructed:tletto_int32=function|Role->0l|Invalid_layer->1l|Already_constructed->2lletof_int32=function|0l->Role|1l->Invalid_layer|2l->Already_constructed|x->Fmt.failwith"Invalid error enum value %ld"xend(** Available layers for surfaces.
These values indicate which layers a surface can be rendered in. They
are ordered by z depth, bottom-most first. Traditional shell surfaces
will typically be rendered between the bottom and top layers.
Fullscreen shell surfaces are typically rendered at the top layer.
Multiple surfaces can share a single layer, and ordering within a
single layer is undefined. *)moduleLayer=structtypet=|Background:t|Bottom:t|Top:t|Overlay:tletto_int32=function|Background->0l|Bottom->1l|Top->2l|Overlay->3lletof_int32=function|0l->Background|1l->Bottom|2l->Top|3l->Overlay|x->Fmt.failwith"Invalid layer enum value %ld"xendletrequests=function|0->"get_layer_surface",["id",`New_ID(Some"zwlr_layer_surface_v1");"surface",`Object(Some"wl_surface");"output",`Object(Some"wl_output");"layer",`Uint;"namespace",`String]|1->"destroy",[]|i->Proxy.unknown_requesti,[]letevents=function|i->Proxy.unknown_eventi,[]endlet()=Iface_reg.register(moduleZwlr_layer_shell_v1)moduleZwlr_layer_surface_v1=structtypet=[`Zwlr_layer_surface_v1]type_Metadata.ty+=T:[`Zwlr_layer_surface_v1]Metadata.tytypeversions=[`V1|`V2|`V3|`V4|`V5]letinterface="zwlr_layer_surface_v1"letversion=5l(** Types of keyboard interaction possible for a layer shell surface.
Types of keyboard interaction possible for layer shell surfaces. The
rationale for this is twofold: (1) some applications are not interested
in keyboard events and not allowing them to be focused can improve the
desktop experience; (2) some applications will want to take exclusive
keyboard focus. *)moduleKeyboard_interactivity=structtypet=|None:t(** No keyboard focus is possible.
This value indicates that this surface is not interested in keyboard
events and the compositor should never assign it the keyboard focus.
This is the default value, set for newly created layer shell surfaces.
This is useful for e.g. desktop widgets that display information or
only have interaction with non-keyboard input devices. *)|Exclusive:t(** Request exclusive keyboard focus.
Request exclusive keyboard focus if this surface is above the shell surface layer.
For the top and overlay layers, the seat will always give
exclusive keyboard focus to the top-most layer which has keyboard
interactivity set to exclusive. If this layer contains multiple
surfaces with keyboard interactivity set to exclusive, the compositor
determines the one receiving keyboard events in an implementation-
defined manner. In this case, no guarantee is made when this surface
will receive keyboard focus (if ever).
For the bottom and background layers, the compositor is allowed to use
normal focus semantics.
This setting is mainly intended for applications that need to ensure
they receive all keyboard events, such as a lock screen or a password
prompt. *)|On_demand:t(** Request regular keyboard focus semantics.
This requests the compositor to allow this surface to be focused and
unfocused by the user in an implementation-defined manner. The user
should be able to unfocus this surface even regardless of the layer
it is on.
Typically, the compositor will want to use its normal mechanism to
manage keyboard focus between layer shell surfaces with this setting
and regular toplevels on the desktop layer (e.g. click to focus).
Nevertheless, it is possible for a compositor to require a special
interaction to focus or unfocus layer shell surfaces (e.g. requiring
a click even if focus follows the mouse normally, or providing a
keybinding to switch focus between layers).
This setting is mainly intended for desktop shell components (e.g.
panels) that allow keyboard interaction. Using this option can allow
implementing a desktop shell that can be fully usable without the
mouse. *)letto_int32=function|None->0l|Exclusive->1l|On_demand->2lletof_int32=function|0l->None|1l->Exclusive|2l->On_demand|x->Fmt.failwith"Invalid keyboard_interactivity enum value %ld"xendmoduleError=structtypet=|Invalid_surface_state:t|Invalid_size:t|Invalid_anchor:t|Invalid_keyboard_interactivity:t|Invalid_exclusive_edge:tletto_int32=function|Invalid_surface_state->0l|Invalid_size->1l|Invalid_anchor->2l|Invalid_keyboard_interactivity->3l|Invalid_exclusive_edge->4lletof_int32=function|0l->Invalid_surface_state|1l->Invalid_size|2l->Invalid_anchor|3l->Invalid_keyboard_interactivity|4l->Invalid_exclusive_edge|x->Fmt.failwith"Invalid error enum value %ld"xendmoduleAnchor=structtypet=int32lettop=1lletbottom=2lletleft=4lletright=8lletto_int32=Fun.idletof_int32=Fun.idendletrequests=function|0->"set_size",["width",`Uint;"height",`Uint]|1->"set_anchor",["anchor",`Uint]|2->"set_exclusive_zone",["zone",`Int]|3->"set_margin",["top",`Int;"right",`Int;"bottom",`Int;"left",`Int]|4->"set_keyboard_interactivity",["keyboard_interactivity",`Uint]|5->"get_popup",["popup",`Object(Some"xdg_popup")]|6->"ack_configure",["serial",`Uint]|7->"destroy",[]|8->"set_layer",["layer",`Uint]|9->"set_exclusive_edge",["edge",`Uint]|i->Proxy.unknown_requesti,[]letevents=function|0->"configure",["serial",`Uint;"width",`Uint;"height",`Uint]|1->"closed",[]|i->Proxy.unknown_eventi,[]endlet()=Iface_reg.register(moduleZwlr_layer_surface_v1)