diff --git a/protocol/wayland.xml b/protocol/wayland.xml index bee74a10..ca6cdb57 100644 --- a/protocol/wayland.xml +++ b/protocol/wayland.xml @@ -518,7 +518,7 @@ - + A wl_data_offer represents a piece of data offered for transfer by another client (the source client). It is used by the @@ -711,7 +711,7 @@ - + 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 @@ -866,7 +866,7 @@ - + There is one wl_data_device per seat which can be obtained from the global wl_data_device_manager singleton. @@ -1006,13 +1006,12 @@ data_device.data_offer and the data_offer.offer events are sent out immediately before this event to introduce the data offer object. The selection event is sent to a client - immediately before receiving keyboard focus and when a new - selection is set while the client has keyboard focus. The + immediately before receiving data device focus and when a new + selection is set while the client has data device focus. The data_offer is valid until a new data_offer or NULL is received - or until the client loses keyboard focus. Switching surface with - keyboard focus within the same client doesn't mean a new selection - will be sent. The client must destroy the previous selection - data_offer, if any, upon receiving this event. + or until the client loses data device focus. The client must + destroy the previous selection data_offer, if any, upon receiving + this event. @@ -1025,9 +1024,33 @@ This request destroys the data device. + + + + + + Notification that this seat's data device has gained focus. + + The compositor must send the wl_data_device.selection event before this + event. + + Before version 4, data device focus was indicated by keyboard focus. + Switching surface with keyboard focus within the same client didn't mean + a new selection event was sent. + + + + + + Notification that this seat's data device has lost focus. + + The client will stop receiving selection events until the next enter + event. + + - + The wl_data_device_manager is a singleton global object that provides access to inter-client data transfer mechanisms such as