[PATCH] protocol: replace the usage of selection with clipboard
John Kåre Alsaker
john.kare.alsaker at gmail.com
Thu Mar 13 10:01:18 PDT 2014
On Wed, Mar 12, 2014 at 7:32 PM, Bill Spitzak <spitzak at gmail.com> wrote:
> Isn't Wayland differentiating between the "selection" and the clipboard?
It is not doing that at the moment. Only explicit clipboard actions
are supposed to be used.
> The selection is changed when the user selects an object.The clipboard is
> changed only when the user does a cut or copy operation.
There is no such thing as a selection in the Wayland protocol, even
though things are named 'selection'. It actually just refers to the
clipboard (or so I'm told).
> There is also drag & drop. Though in most cases this can be the same as the
> selection, I think there was some pathological examples showing that it has
> to be it's own piece of data.
Drag and drop is separate from the clipboard in the protocol.
> One of the patches changed "selection" to "data source", maybe "data source"
> is a better name?
That was because it was referring to a data source being cancelled,
not a clipboard data source specifically. It might be used for drag
and drop too.
> I also am trying to reattach the patch here because for some reason it did
> not show up at text in my email:
> From abe49cf93128063d55cf881658b30b99d892ae53 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?John=20K=C3=A5re=20Alsaker?= <john.kare.alsaker at gmail.com>
> Date: Wed, 12 Mar 2014 15:28:52 +0100
> Subject: [PATCH] protocol: replace the usage of selection with clipboard
> Make it clear that we're dealing with a clipboard and not X-style selections
> in the protocol.
> protocol/wayland.xml | 18 +++++++++---------
> 1 file changed, 9 insertions(+), 9 deletions(-)
> diff --git a/protocol/wayland.xml b/protocol/wayland.xml
> index 3aa89af..7a1efdd 100644
> --- a/protocol/wayland.xml
> +++ b/protocol/wayland.xml
> @@ -508,7 +508,7 @@
> <event name="cancelled">
> - <description summary="selection was cancelled">
> + <description summary="data source was cancelled">
> This data source has been replaced by another data source.
> The client should clean up and destroy this data source.
> @@ -559,11 +559,11 @@
> <request name="set_selection">
> - <description summary="copy data to the selection">
> - This request asks the compositor to set the selection
> + <description summary="copy data to the clipboard">
> + This request asks the compositor to change the clipboard data
> to the data from the source on behalf of the client.
> - To unset the selection, set the source to NULL.
> + To empty the clipboard, set the source to NULL.
> <arg name="source" type="object" interface="wl_data_source"
> <arg name="serial" type="uint" summary="serial of the event that
> triggered this request"/>
> @@ -574,7 +574,7 @@
> The data_offer event introduces a new wl_data_offer object,
> which will subsequently be used in either the
> data_device.enter event (for drag-and-drop) or the
> - data_device.selection event (for selections). Immediately
> + data_device.selection event (for clipboard data). Immediately
> following the data_device_data_offer event, the new data_offer
> object will send out data_offer.offer events to describe the
> mime types it offers.
> @@ -626,14 +626,14 @@
> <event name="selection">
> - <description summary="advertise new selection">
> + <description summary="advertise new clipboard data">
> The selection event is sent out to notify the client of a new
> - wl_data_offer for the selection for this device. The
> + wl_data_offer for the clipboard for this device. The
> 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 keyboard focus and when new
> + clipboard data is set while the client has keyboard focus. The
> data_offer is valid until a new data_offer or NULL is received
> or until the client loses keyboard focus.
More information about the wayland-devel