Re: Using XDnD in extensions






On Wed, Mar 20, 2013 at 7:07 PM, Tim <darkxst fastmail fm> wrote:
Joakim,
  The best way to submit code/patches is via gnome.bugzilla.org, will more likely be seen by the relevant devs then.


+1

Please do this, Joakim.  Thank you for your contribution!  I hope the maintainer merges it!

sri
 
Tim

On 21/03/13 03:29, Joakim Soderlund wrote:
> 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 soderlund 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

_______________________________________________
gnome-shell-list mailing list
gnome-shell-list gnome org
https://mail.gnome.org/mailman/listinfo/gnome-shell-list



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]