Thanks for KDE/Gnome article, and new info request
bastian at kde.org
Fri Jan 10 13:02:43 GMT 2003
On Friday 10 January 2003 02:08, Havoc Pennington wrote:
> On Thu, Jan 09, 2003 at 10:39:17PM +0100, M. Fioretti wrote:
> > "this piece of KDE/Qt calls, according to XDND or whatever, calls this
> > piece of X which calls this piece of GTK/GNOME" and so on (I hope I
> > made myself clear...)
> Well, I mean, the Qt DND API uses XDND to do DND, and the GTK DND API
> uses XDND to do DND, and thus any two apps talk to each other via
> XDND. Other than that, it's all outlined in the XDND spec, but is
> pretty mind-blowingly complicated unless you're a hard core X toolkit
> The important point here IMO is to kill the dumbass myth that "X cut
> and paste don't work" or "X DND doesn't work" or "GTK doesn't work
> with Qt" because all those things work just fine.
> It's just buggy apps (or apps that make up their own nonstandard
> target types) that don't work or work together. And users never file
> bugs against the apps. So I would make the point that people should
> complain to the author of both source and target app every time a
> cut-and-paste or DND fails.
Very well said. It should be mentioned that the Qt DND API (And I assume that
also applies to the GTK DND API) is rather simple to use, it's just that the
underlying magic is complicated, but as an application developer you don't
need to know anything about that. The idea of XDND is that an application can
present data in several different formats, and the receiving application can
choose from that list the format it would like to receive.
In order for drag and drop to work well between two applications it is
important they both support at least one common format. It's up to the
developers of individual applications to ensure that and users can assist
them with that by alerting them when drag and drop between an other
application doesn't work or doesn't work as expected.
bastian at kde.org -=|[ SuSE, The Linux Desktop Experts ]|=- bastian at suse.com
More information about the kde-core-devel