Module Wayland_client.Wl_data_device_manager

Data transfer interface.

The wl_data_device_manager is a singleton global object that provides access to inter-client data transfer mechanisms such as copy-and-paste and drag-and-drop. These mechanisms are tied to a wl_seat and this interface lets a client get a wl_data_device corresponding to a wl_seat.

Depending on the version bound, the objects created from the bound wl_data_device_manager object will have different requirements for functioning properly. See wl_data_source.set_actions, wl_data_offer.accept and wl_data_offer.finish for details.

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

Version 1, 2, 3

val get_data_device : [< `V1 | `V2 | `V3 ] as 'a t -> [[ `Wl_data_device ], 'b, [ `Client ]] Proxy.Handler.t -> seat:([ `Wl_seat ], 'c, [ `Client ]) Proxy.t -> ([ `Wl_data_device ], 'd, [ `Client ]) Proxy.t

Create a new data device.

Create a new data device for a given seat.

val create_data_source : [< `V1 | `V2 | `V3 ] as 'a t -> [[ `Wl_data_source ], 'b, [ `Client ]] Proxy.Handler.t -> ([ `Wl_data_source ], 'c, [ `Client ]) Proxy.t

Create a new data source.

Create a new data source.

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.