What is new in TkDND 2.0?
--------------------------------------------------
1) Update of the build system to the latest TEA version (thanks to Kevin
Walzer).
2) Added a second build system, based on CMake (http://www.cmake.org/)
3) Various fixes in sources for windows to stop compilation errors.
TkDND now
compiles with Visual Studio 2010 (Beta).
4) Added initial support for OS X (thanks to Kevin Walzer). TkDND 2.0 allows
Tk windows to accept drops only (similar to Unix XDND implementation).
No drag support from Tk windows is currently supported.
Please not that TkDND 2.0 is compatible only with Tk versions built on
top of the Cocoa Framework. This means Tk >= 8.6, or versions of 8.5
with backport the Cocoa based Tk, but unfortunately not the standard 8.5 Tk.
What is TkDND?
--------------------------------------------------
TkDND is a binary extension for Tk, which adds native drag & drop
capabilities to the Tk toolkit. It can be used with any Tk version equal
or greater to 8.3.3 and currently only the UNIX (X-Windows), Microsoft
Windows (XP, Vista, 7) and OS X (Leopard) operating systems (Tk 8.6 is
required for OS X).
The project home page, including documentation, examples and download
links, can be found at:
https://sourceforge.net/projects/tkdnd/
http://www.ellogon.org/petasis/tcltk-projects-mainmenu-38/tkdnd-mainmenu-39
How to get it?
--------------------------------------------------
TkDND can be downloaded from the following locations:
Sources:
https://sourceforge.net/projects/tkdnd/files/TkDND/TkDND%202.0/tkdnd2.0.tar.gz/download
Windows Binaries:
https://sourceforge.net/projects/tkdnd/files/Windows%20Binaries/TkDND%202.0/tkdnd2.0.tar.gz/download
All files: https://sourceforge.net/projects/tkdnd/files/
George Petasis
Hello Georgios,
Many thanks for this new version. I'm using Tkdnd in my Tcl apps with
great success for years.
Three years ago, when you announced 2.0-alpha6, I asked you a handful
of questions about the benefits of switching from version 1.0 to this
new version 2.0. Maybe you remember:
http://groups.google.fr/group/comp.lang.tcl/browse_thread/thread/b87d3db614d53fef
Some of my questions there still apply to the new 2.0 final version,
mainly why would I want to switch to 2.0 while Tkdnd 1.0 is working OK
for me? Any good reason you could give? Are you still in agreement
with what you said in the thread above?
It looks like the main improvement of this final 2.0 is complete dnd
support on Linux and Mac OS X, which was not the case with the
previous version (alpha6). This is a valuable improvement that fixes
what I considered as a showstopper for using 2.0-alpha6. Thus my
questions now about upgrading or not.
Also, what about the new API that should have surfaced with 2.0, and
the associated compatibility layer? Is this feature confirmed now?
Thanks again for providing this piece of software.
Best regards (and season's greetings) !
Francois
στις 3/1/2010 17:33, O/H Francois Vogel έγραψε:
> Georgios Petasis said on 03/01/2010 15:16:
>> I am pleased to announce version 2.0 of the TkDND extension.
>
> Hello Georgios,
>
> Many thanks for this new version. I'm using Tkdnd in my Tcl apps with
> great success for years.
>
> Three years ago, when you announced 2.0-alpha6, I asked you a handful of
> questions about the benefits of switching from version 1.0 to this new
> version 2.0. Maybe you remember:
>
> http://groups.google.fr/group/comp.lang.tcl/browse_thread/thread/b87d3db614d53fef
>
>
> Some of my questions there still apply to the new 2.0 final version,
> mainly why would I want to switch to 2.0 while Tkdnd 1.0 is working OK
> for me? Any good reason you could give? Are you still in agreement with
> what you said in the thread above?
In general, yes my answer there still applies. If it is working for you,
there is no need to update. The reasons for a possible upgrade will be:
1) There are some cases that badly-behaved applications can cause a
crash under linux. I think that tkdnd 2.0 does not suffer from this anymore.
2) Tkdnd 1.x supports only KDE under linux, if I remember correctly. I
don't know if interaction with gnome is possible. I plan to support XDND
5 in the next release of tkdnd (no, it is not ready yet). I will try to
get also Gnome support in it.
3) Tkdnd 2.x supports drops under OS X (with Tk 8.6). I think adding
drag support is also easy, and perhaps will exist in the next release.
But since you are not targeting this platform, is not a reason for you
to update.
>
> It looks like the main improvement of this final 2.0 is complete dnd
> support on Linux and Mac OS X, which was not the case with the previous
> version (alpha6). This is a valuable improvement that fixes what I
> considered as a showstopper for using 2.0-alpha6. Thus my questions now
> about upgrading or not.
Actually both linux & OS X only support drops to Tk widget. No drag
support yet, but I think it will be easy for OS X. (OS X is in between
of OLE DND - in the sense that implements an event loop during the drag
- and is very similar to the drop support with the linux XDND.
Unfortunately under linux, I have to implement this event loop...)
>
> Also, what about the new API that should have surfaced with 2.0, and the
> associated compatibility layer? Is this feature confirmed now?
Yes, there is a new api with version 2.0, and the compatibility layer is
still applicable.
>
> Thanks again for providing this piece of software.
>
> Best regards (and season's greetings) !
>
> Francois
Best regards,
George
> If it is working for you,
> there is no need to update.
OK. Easy and clear answer. Thanks.
> 1) There are some cases that badly-behaved applications can cause a
> crash under linux. I think that tkdnd 2.0 does not suffer from this
> anymore.
Never ran myself into such cases with 1.0. However I have heard
reports of such things, yes. Do you mean 1169923 (at the Tkdnd
Sourceforge tracker)?
> 2) Tkdnd 1.x supports only KDE under linux, if I remember correctly. I
> don't know if interaction with gnome is possible. I plan to support XDND
> 5 in the next release of tkdnd (no, it is not ready yet). I will try to
> get also Gnome support in it.
Hmmm I just had again a try of my app (making use of Tkdnd 1.0) under
Fedora 12 with Gnome. Apparently I can drag a file from Nautilus and
drop it on my Tcl/Tk app, that will know what to do with it. Also I
can drag text from an area of my Tcl/Tk app and drop it elsewhere in
my Tcl/Tk app. This works also. All this with gnome.
> Actually both linux & OS X only support drops to Tk widget. No drag
> support yet
Too bad. This is anyway (for me) a showstopper for upgrading.
> Unfortunately under linux, I have to implement this event loop...
Will you do it? What are your plans in that respect?
Thanks once more for releasing Tkdnd.
All the best.
Francois
No, perhaps it is, perhaps it is not. The problem I am referring to is
XEvents coming with a different order than expected, and tkdnd does not
take the event time into account. The result is confusion which can
crash tkdnd. Also, all these bugs are related (I think) to the Motif
part of tkdnd, which will not exist in tkdnd 2.0.
>
>> 2) Tkdnd 1.x supports only KDE under linux, if I remember correctly. I
>> don't know if interaction with gnome is possible. I plan to support XDND
>> 5 in the next release of tkdnd (no, it is not ready yet). I will try to
>> get also Gnome support in it.
>
> Hmmm I just had again a try of my app (making use of Tkdnd 1.0) under
> Fedora 12 with Gnome. Apparently I can drag a file from Nautilus and
> drop it on my Tcl/Tk app, that will know what to do with it. Also I can
> drag text from an area of my Tcl/Tk app and drop it elsewhere in my
> Tcl/Tk app. This works also. All this with gnome.
Does dragging from Tk apps on Nautilus work? If not, then you are using
the Motif support of tkdnd, not XDND...
>
>> Actually both linux & OS X only support drops to Tk widget. No drag
>> support yet
>
> Too bad. This is anyway (for me) a showstopper for upgrading.
Yes, I know. But it is the most complex part :D
I wish the XDND protocol guys had provided a library (the existing one
is for version 2 of the protocol - currently 5. And 5 means that the
implementation has to support everything back to 1...)
>
>> Unfortunately under linux, I have to implement this event loop...
>
> Will you do it? What are your plans in that respect?
Hm, no plans. Sorry :-)
Regards,
George
Well, yes it works (still with 1.0). I'm able to drag some text from
within a text widget and drop it in the address line of Nautilus.
>>> Actually both linux & OS X only support drops to Tk widget. No drag
>>> support yet
>>
>> Too bad. This is anyway (for me) a showstopper for upgrading.
Hmm, wait a second. Maybe I misunderstood.
Do you mean that (with 2.0) there is no drag support for any dragging
(i.e. when dragging from any app to a Tk widget, and also from a Tk
widget to any app), or do you mean that the lack of dragging support
is only when dragging from a Tk widget to another app, but that
dragging is supposed to work from any app to a Tk widget?
If the former, then it's a showstopper for me.
If only the latter, then I should probably think about upgrading,
modulo your advice of keeping things as they are since they are
working with 1.0.
Francois
Again I cannot tell if it is XDND or Motif. And I don't use Linux so
much these days to test. (I also don't use OS X at all :-) )
>
>
>>>> Actually both linux & OS X only support drops to Tk widget. No drag
>>>> support yet
>>>
>>> Too bad. This is anyway (for me) a showstopper for upgrading.
>
> Hmm, wait a second. Maybe I misunderstood.
>
> Do you mean that (with 2.0) there is no drag support for any dragging
> (i.e. when dragging from any app to a Tk widget, and also from a Tk
> widget to any app), or do you mean that the lack of dragging support is
> only when dragging from a Tk widget to another app, but that dragging is
> supposed to work from any app to a Tk widget?
Tkdnd supports Tk widgets to accept drops from other applications, under
Windows, Linux, OS X. There is no drag support (i.e. from Tk windows) at
all undel Linux, OS X. Only under windows.
Also, tkdnd 2.0 misses all Motif support. So, I don't think it works
under Gnome (untested).
George