Wine (ought to) follow the Xdnd specification.

Related implementation is mostly in dlls/winex11.drv/window.c, dlls/winex11.drv/xdnd.c, and dlls/shell32/shellole.c.

There are 4 kinds of scenarios in drag and drop:

  1. Drag-and-drop within one application. This is handled inside OLE and it should work.
  2. Drag from an X application, drop to a Windows application. Applications using the simpler DragAcceptFiles/WM_DROPFILES should work properly as of wine 0.9.40, but those that use the more powerful OLE drag and drop only work starting from commit 1afc16e96201d52bd6de1e0c2ddd033e94a56989 on 16 August 2010 (Wine 1.3.1).

  3. Drag from a Windows application, drop to an X application. This would be useful for using something like Winzip. Hard to do (might require the X direct save protocol).
  4. Drag from a Windows application, drop to a different Windows application. Added by Huw Davies in commit 6d1ef3a6a64f0fabf05ce1bba5f0ec4373684786 on 22 July 2010 and should work now.

See also

CategoryDevelopment CategoryInterface

DragAndDrop (last edited 2013-06-08 20:59:17 by KyleAuble)