[PATCH] protocol: Add DnD actions
Bill Spitzak
spitzak at gmail.com
Wed Apr 8 14:18:14 PDT 2015
On 04/08/2015 07:46 AM, Carlos Garnacho wrote:
I may be missing something. As far as I can tell your proposal is that
the source and destination send sets of actions to the compositor, the
compositor then intersects the sets, and sends the result of the
intersection to the source and destination.
My proposal is that only the source sends a list of actions, and the
compositor sends that list to the destination. The destination
intersects with it's list internally and sends the result of the
intersection to the compositor, which then sends it back to the source.
Otherwise everything is identical to what you are proposing.
> * How are actions conveyed? do we encode these in the mimetype
> string? how do we standardize on the actions? how do we make
> that backwards compatible?
The exact same way they are being conveyed by your proposal. You have
both the source and destination sending a list of actions to the
compositor, use the same api here.
> * How do drag destinations react to unhandled options? Say a
> drag source appends "?action=ask" when you press Alt and the
> drag destination only knows copy/move, how does this fallback
> to an action that both parts recognize?
Since the destination figures out which of the offered actions to use,
it would not select this one. It would select another one. If it does
not like any of them then we are in the exact same state as your
proposal when the intersection is empty.
> * Additionally to modifier state, there's other
> keyboard/accessibility features as DnD is done in GNOME/GTK+
> (eg. DnD driven by cursor keys), these must be implemented on
> the compositor, this sounds like conflicting with the
> expectation in your proposal to have the drag source receive
> key events [1].
I don't understand at all. Your proposal also requires the drag source
to receive key events, since it can use those to change the set of
actions (for instance to add the "ask" action like you said in the
previous question).
More information about the wayland-devel
mailing list