[vbox-dev] drag-n-drop is being implemented too

Michael Thayer michael.thayer at oracle.com
Fri Jul 23 03:07:44 PDT 2010

Hello Huihong,

Le mercredi 21 juillet 2010 à 16:20 -0700, Huihong Luo a écrit :
> Guest side is much more difficult, it requires deep understanding of
> the low level dnd impl mechanism, as how to initiate a dnd operation
> programmatically, etc. so each guest needs a different impl. We are
> doing Windows.  Personally, I don't like Linux's windowing system,
> there are so fragmented.
> but overall, it should be portable
If you are interested in keeping the protocol you design sufficiently
portable for someone else to implement the X11 guest version, here is
the link to protocol implemented by Qt:


I think that what you would need to know can be summarised as follows:

* X11 top-level windows can publicly announce (in the form of a window
property that other clients can query) that they accept drops.
* X11 drag and drop operations are under the control of the client that
owns the window from which something is being dragged (the X server is
not aware of DnD at all, it just provides the primitive operations used
to communicate between the two windows).
* The client controlling the drag operation queries drop windows,
providing them with information about what is to be dropped and asking
them if they will accept it.

If your protocol supports this mode of operation in the guest it
shouldn't be too hard for someone to add X11 support.


ORACLE Deutschland B.V. & Co. KG   Michael Thayer
Werkstrasse 24                     VirtualBox engineer
71384 Weinstadt, Germany           mailto:michael.thayer at sun.com

Hauptverwaltung: Riesstr. 25, D-80992 München
Registergericht: Amtsgericht München, HRA 95603

Komplementärin: ORACLE Deutschland Verwaltung B.V.
Rijnzathe 6, 3454PV De Meern, Niederlande
Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697
Geschäftsführer: Jürgen Kunz, Marcel van de Molen, Alexander van der Ven 

More information about the vbox-dev mailing list