[PATCH wayland v10 2/2] protocol: Add DnD actions

Bill Spitzak spitzak at gmail.com
Thu Jan 14 10:57:29 PST 2016


> +       While managing an "ask" action, the destination drag-and-drop
> client
> +       may perform further wl_data_offer.receive requests, and is expected
> +       to perform one last wl_data_offer.set_actions request with a
> preferred
> +       action other than "ask" (and optionally wl_data_offer.accept)
> before
> +       requesting wl_data_offer.finish, in order to convey the action
> selected
> +       by the user. If the preferred action is not in the
> +       wl_data_offer.source_actions mask, an error will be raised.
>

Sorry, this is still not answering the question.

Please describe exactly what happens when a source sends COPY+MOVE, and
contrast it with exactly what happens when a source sends COPY+MOVE+ASK.

My current guess is that the only effect of ASK is to stop the compositor
from restricting the set if there are no modifiers down.

A much more tedious and complete answer that might solve some of this
mystery:

There are three sets of actions in the api:

- The source supplied set
- The destination supplied set
- The compositor-produced intersection of these sets, further modified by
modifier keys.

There are also six different sets of actions of interest:

- The empty set
- A single action other than ASK
- More than one action but without ASK
- ASK by itself
- ASK with a single other action
- ASK with more than one other action

For all eighteen possible combinations of the above three parts of the api
and six types of sets, can you answer:

- Is it valid (can a correctly-operating source, destination, and
compositor produce them?)
- What does it mean? Basically contrast it with what happens if the ASK bit
is inverted.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20160114/908118d9/attachment.html>


More information about the wayland-devel mailing list