Drag'n'Drop
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:
- Drag-and-drop within one application. This is handled inside OLE and it should work.
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 don't work yet (but there is a patch you can try at http://www.winehq.org/pipermail/wine-patches/attachments/20070702/72a45183/dnd-0001.bin).
- 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).
- Drag from a Windows application, drop to a different Windows application. Also doesn't work.
See also
Bug 10815: Drag and drop between Wine and native apps doesn't work
Xdnd spec: Drag-and-Drop Protocol for the X Window System, by John Lindal at New Planet Software
