Drag'n'Drop
Wine follows (ought to follow) the Xdnd spec
Related implementation is mostly in dlls/winex11.drv/window.c, dlls/winex11.drv/xdnd.c, and dlls/shell32/shellole.c.
There is 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 Drag-and-Drop Protocol for the X Window System - by John Lindal at New Planet Software
