Hello! Seeing as what I wanted to do wasn't possible I created a patch which extends the XDnD support in GNOME Shell. The patch allows for actors to accept XDnD drops and retrieve information about them. You can find the patch along with a simple extension demonstrating its usage at the following URL:
http://jocketf.se/files/xdnd/ The patch and extension was written for GNOME Shell 3.6.2. If there is any interest in this I can try to make it work for the Git master as well. Regards, Joakim Soderlund On Mon, Mar 11, 2013 at 10:10 AM, Joakim Söderlund <joakim.soderl...@gmail.com> wrote: > Hello! > > Is there a way for extensions in GNOME Shell 3.6 to get information > about XDnD drops other than just mouse cursor positions? The following > code works fine for items from within GNOME Shell (such as application > icons), but I can't seem to get any useful information about files > dropped from Nautilus. > > /** > * Drag and drop test. > */ > const DndButton = new Lang.Class({ > Name: "DndButton", > Extends: St.Button, > > _init: function() { > this.parent(); > > this.set_label("[DROP STUFF HERE]"); > this.set_position(5, 30); > this.set_background_color(new Clutter.Color({ > red: 0, > blue: 0, > green: 0, > alpha: 150, > })); > > this._delegate = this; > > Main.layoutManager.addChrome(this); > }, > > handleDragOver: function(source, actor, x, y, time) { > global.log(source); > return DND.DragMotionResult.COPY_DROP; > }, > > acceptDrop: function(source, actor, x, y, time) { > this.set_label("[ACCEPTED " + time + "]"); > return true; > }, > }); > > Also, although handleDragOver gets called for XDnD, returning > COPY_DROP seems to do nothing. The source parameter is assigned an > xdndHandler instance, but it doesn't seem to contain any useful > information. > > Regards, > Joakim Söderlund _______________________________________________ gnome-shell-list mailing list gnome-shell-list@gnome.org https://mail.gnome.org/mailman/listinfo/gnome-shell-list