Mir doesn't support drag and drop (DND) windows

Bug #1498767 reported by Daniel van Vugt
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mir
New
Undecided
Unassigned
mir (Ubuntu)
New
Undecided
Unassigned

Bug Description

Mir doesn't support drag and drop (DND) windows.

In playing with X apps under Xmir, one of the more broken features is drag and drop (_NET_WM_WINDOW_TYPE_DND). Mir doesn't understand it yet, so at best you get a new window appear for the thing getting dragged, but it doesn't move.

Test cases:
  In Xmir run nautilus and drag an icon from it.
  In Xmir run chromium-browser and drag a browser tab from it.

Although X historically implements these things with absolute placement (which Mir doesn't support), we could implement DND movement in Mir shells using some simple heuristic:
   relative_grab_pos = cursor pos in the original app window when the DND window was created
   Now Mir always places the DND window at the cursor pos minus relative_grab_pos.
   Thus the surface being dragged always retains the same position under the cursor as when it was grabbed.

Tags: xmir
tags: added: xmir
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Oh. The above heuristic only works for Chromium tabs. Not dragging icons from a window like nautilus.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

And maybe Chromium is not an example at all. Under Unity7 it appears Chromium tab dragging is actually dragging a regular window via relative self-movement (so that would be bug 1420334 instead).

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

The good news then, it seems, is that we could probably handle DND windows in Mir by simply sticking them on the centre of the cursor. However since Mir prevents clients from knowing they're moving the receiver wouldn't know some DND surface is above it. More DND-specific work would be needed in Mir too.

Revision history for this message
Michał Sawicz (saviq) wrote :

Syncing task from Mir.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.