Module Wayland_client.Wl_data_source

Offer to transfer data.

The wl_data_source object is the source side of a wl_data_offer. It is created by the source client in a data transfer and provides a way to describe the offered data and a way to respond to requests to transfer the data.

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

Version 1, 2

val destroy : [< `V1 | `V2 | `V3 ] t -> unit

Destroy the data source.

Destroy the data source.

val offer : [< `V1 | `V2 | `V3 ] t -> mime_type:string -> unit

Add an offered mime type.

This request adds a mime type to the set of mime types advertised to targets. Can be called several times to offer multiple types.

Version 3

val set_actions : [< `V3 ] t -> dnd_actions:int32 -> unit

Set the available drag-and-drop actions.

Sets the actions that the source side client supports for this operation. This request may trigger wl_data_source.action and wl_data_offer.action events if the compositor needs to change the selected action.

The dnd_actions argument must contain only values expressed in the wl_data_device_manager.dnd_actions enum, otherwise it will result in a protocol error.

This request must be made once only, and can only be made on sources used in drag-and-drop, so it must be performed before wl_data_device.start_drag. Attempting to use the source other than for drag-and-drop will raise a protocol error.

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.