Wayland.ServerCode for writing Wayland servers.
module type TRACE = Proxy.TRACE with type role = [ `Server ]val connect :
?trace:(module TRACE) ->
sw:Eio.Switch.t ->
S.transport ->
[[ `Wl_display ], [ `V1 ], [ `Server ]] Proxy.Service_handler.t ->
tconnect transport handler runs the Wayland protocol over transport (typically created with Unix_transport.of_socket).
It spawns a background thread (attached to sw) to handle incoming messages. If the thread gets an error then the switch will be cancelled.
The caller is responsible for ensuring transport is closed, but the library will shut it down if it gets end-of-file from the client.
val wl_display : t -> [ `V1 ] Wayland_server.Wl_display.tval stop : t -> unitstop t shuts down t's transport, causing the client to receive end-of-file.
val dump : t Fmt.tDump the state of the connection for debugging.