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

Reply via email to