Drag-and-Drop Protocol (KDE3 Architecture)

Protocols: Drag-And-Drop

Today, Drag-And-Drop (DND) is considered a requirement for
commercial-quality applications. On most operating systems, support
for DND is built-in, so everybody uses it and all programs can
communicate with each other.

On X, however, there was no standard, so various groups have
developed their own protocols, with the result that programs written
for one protocol cannot talk to programs written for a different
protocol. Clearly this does not satisfy the fundamental requirement
that DND allow the user to drag data from any program to any other
program.

XDND

Shortly before the release of KDE-1.x, a common effort was started
to create a sophisticated standard drag-and-drop protocol. The result
of this effort is the XDND Standard. In
Version 2, KDE supports it as native drag and drop protocol throughout
the entire desktop.

Information how to program drag-and-drop in KDE applications can
be found in the Qt documentation.

Some historical remarks: Originally we expected XDND to be finished before the release KDE-1.0, so the temporary KDE-specific KDND protocol we were forced to create due to the lack of a reasonable standard could be replaced much ealier. But things sometimes take time in the software business.

Motif

Motif, the former so-called "standard toolkit" on X11, also
defined a drag-and-drop protocol. Some information about this effort
and why it was not widely accepted can be found on XDND's Other Protocols-page.

The only widely-used application that supports it these days is
Netscape's Communicator. To make it possible to drag URLs from
Netscape onto KDE applications, KDE also supports Motif-drops in
version 2.