Hey Bill, On mié, 2015-04-08 at 14:18 -0700, Bill Spitzak wrote:
<snip> > > > * 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). No, that's precisely why my proposal involves the compositor at all, the source offers all actions it can handle, after data_device.data_offer/enter, the offer does likewise. The compositor has then a map of the actions that both parts agree on, and can toggle actions when the user presses modifier keys, but these modifier keys should only be honored if both parts recognize such option, it should always fall back into an action that both parts agree on, or the drag will be cancelled. Note that this way the compositor is the sole handler of pointer and keyboard events during DnD. It perhaps confuses you that "notify_actions" can be called multiple times on both sides, that would be barely useful on the drag source tbh, too late to add arguments to start_drag() though. It's more of a necessity on the dest side, where toolkits have to update the mask as the pointer drifts across widgets. Changes in either the action mask from any side or the action picked by the compositor must always result in "action" events being sent to both sides. One thing the drag source stays responsible of is the pointer cursor, so it can change on reaction to wl_data_source.action. Cheers, Carlos > _______________________________________________ > wayland-devel mailing list > wayland-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/wayland-devel _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel