Motif drag and drop
More info
- Creator
- Open Software Foundation
- Released
- 1992
- Type
- Protocol
- Successor
- XDND
The first drag-and-drop protocol with real reach under X11, built into Motif 1.2 — so heavy that competitors preferred writing a new one to implementing it.
Motif 1.2, released in 1992, let users drag text and files between programs, something X had never had a rule for. The protocol keeps its bookkeeping in properties: the root window points to a shared window via _MOTIF_DRAG_WINDOW, where every client registers which data types it accepts, and each receiver advertises itself with _MOTIF_DRAG_RECEIVER_INFO. The transfer itself goes through a selection, just like cut and paste.
On top of that there were three styles to negotiate. In preregister the source read in all drop sites beforehand and drew the highlighting itself; in dynamic messages flowed for every pointer movement; and drop-only skipped the feedback altogether. Three styles meant three implementations, and anyone who wanted to talk to Netscape and other Motif applications had to write all of them. GTK 2 and Qt 4 did, then threw the code out in GTK 3 and Qt 5. XDND, a fraction of the size, had already won by then.