as you know, TkDND is currently not working at all with Gnome.
I was playing around with it yesterday and found out, that in
TkDND_RegisterTypesObjCmd();
where you state in a comment
"We must make the toplevel that holds this widget XDND aware.",
you add the XdndAware Atom to some window. But is it the right
one? The one, where Gnome looks for the Atom? IMHO: no!
When you look at the properties of other windows on the Gnome
desktop, that are DND capable (e.g. Nautilus), you can see (with
xprops), that they have the Atom set in the topmost parent window
(window manager decoration?). If I set the Atom to a parent of "."
in tkdnd, suddenly XDND ClientMessage messages start to arrive
(where one did not get a single message before).
Of course, there are more issues in the drag type negotiation,
so that I could not get it to work completely. But I think, with
a little bit digging in the Gnome sources, it can be done.
But back to the XdndAware Atom: I propose to set it to the
current window, but also to traverse upwards in the X11
window hierarchy until the parent is the root, and set the
Atom also to this window. This should then also work
with "compiz" and the likes that may introduce other
windows inbetween.
kind regards,
Randolf
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Sounds promising, I'd love to use TkDND on GNU/Linux, so I hope someone tried this. Randolf, perhaps posting this to the bug tracker might get a response? Also, I've packaged TkDND for Debian/Ubuntu/Mint so once we work out this last detail, I can submit it to be included.
.hc
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Greetings,
as you know, TkDND is currently not working at all with Gnome.
I was playing around with it yesterday and found out, that in
TkDND_RegisterTypesObjCmd();
where you state in a comment
"We must make the toplevel that holds this widget XDND aware.",
you add the XdndAware Atom to some window. But is it the right
one? The one, where Gnome looks for the Atom? IMHO: no!
When you look at the properties of other windows on the Gnome
desktop, that are DND capable (e.g. Nautilus), you can see (with
xprops), that they have the Atom set in the topmost parent window
(window manager decoration?). If I set the Atom to a parent of "."
in tkdnd, suddenly XDND ClientMessage messages start to arrive
(where one did not get a single message before).
Of course, there are more issues in the drag type negotiation,
so that I could not get it to work completely. But I think, with
a little bit digging in the Gnome sources, it can be done.
But back to the XdndAware Atom: I propose to set it to the
current window, but also to traverse upwards in the X11
window hierarchy until the parent is the root, and set the
Atom also to this window. This should then also work
with "compiz" and the likes that may introduce other
windows inbetween.
kind regards,
Randolf
Sounds promising, I'd love to use TkDND on GNU/Linux, so I hope someone tried this. Randolf, perhaps posting this to the bug tracker might get a response? Also, I've packaged TkDND for Debian/Ubuntu/Mint so once we work out this last detail, I can submit it to be included.
.hc
Any chance we could get a fix to bug 3600358 included in the .deb before Raring is released?
I don't mind trying to make a .rpm myself.