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

Huihong Luo huisinro at yahoo.com
Sun Jul 25 12:05:51 PDT 2010

Hi Michael,
Thanks for the pointer, will take a look.
Do you think Clipboard host service would be the right place to hold the dnd code on host? 
Inside guest, VBoxTray is the right place, I think.
The good news is that we pretty much made host-to-vm drop to work well between windows host and windows guest.
Overall, vbox will have dnd feature in the not-too-long future. Once winodws work, we will look at X11, vbox team can take over from there, too.
vm-to-host seems to be even more difficult, as we are looking into the issue right now.
- huihong

--- On Fri, 7/23/10, Michael Thayer <michael.thayer at oracle.com> wrote:

From: Michael Thayer <michael.thayer at oracle.com>
Subject: Re: [vbox-dev] drag-n-drop is being implemented too
To: "Huihong Luo" <huisinro at yahoo.com>
Cc: vbox-dev at virtualbox.org, "Alexey Eremenko" <al4321 at gmail.com>
Date: Friday, July 23, 2010, 3:07 AM

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 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.virtualbox.org/pipermail/vbox-dev/attachments/20100725/930a66f7/attachment-0001.html 

More information about the vbox-dev mailing list