problem identified - Re: konqueror drag and drop problem in detailed list view with enlightenment virtual desktops
temp1_snover at iprimus.com.au
temp1_snover at iprimus.com.au
Mon Jan 17 10:41:49 GMT 2005
Hi all,
ok well, ive worked out what the problem is, though i havent really made
a start on solving it yet.
It turns out, that kwin and enlightenment both have absolutely no code
to handle xdnd drag and drop. So it's not really the window manager as
such that is the problem.
It is all handled at the widget level, so basically it is a problem with QTs,
xdnd (X drag and drop) implemementation, and which seems slightly
specific to the widgets used in konqueror's detailed list view (as the
problem does not occur in icon view), and the problem is this:
1) Enlightenment has 2 ways of expanding the number of dekstops.
It has 1 or 2 dimensions of "virtual" desktops, and 1 dimension of
"multiple" desktops.
Virtual desktops are handled by effectively creating a giant X screen,
big enough to fit all the desktops, and by only viewing a "window" of
the giant X screen- showing just 1 desktop at a time. That means all
the windows on all desktops have different X and Y coordinates.
"Multiple" desktops, are handled by enlightenment hiding and unhiding
windows depending on which multiple desktop you are supposed to be
on. Which means that the windows on different "multiple" desktops can
easily have the same X and Y coords on the X screen.
2) Windows having the same x and y coords seems to confuse some
of QTs widgets. Perhaps they cant work out where the drag and drop is
coming from or going to. Its odd. For example, it doesnt seem to bother
kmail's drag and drop. But, Konqueror is not happy.
3) I really havent looked into the details much, as u can probably tell.
It will take me a while to get around to it. One thing that puzzles me a bit
is how there can be problems with the xdnd protocol within a single
konqueror window. Its not like i am dragging something clear out of
konqueror, across my desktop, and onto another application. Konqueror/QTs
widgets should be smart enough to know that my drag and drop is from
the detailed list view to the folder pane of the same konqueror application,
and so it should handle all the xdnd events internally within the application.
So there should be no confusion about which application to send events
to, nor should there be any confusion where they are coming from. It
looks to me like the QT xdnd is a bit clumsy... or makes some
assumptions it shouldnt.
Anyway.
When i only use virtual desktops, 2 wide and 9 deep, konqueror's drag
and drop is perfect on every "desktop". Unfortunately, enlightenment gives
all 18 virtual desktops the same desktop background, which sucks. So I
prefer to have a virtual desktop 2 wide and 1 deep, and have that
multipliedby 9 "multiple" desktops. to give 2x9 destops, with 9 nice,
different desktop backgrounds. But then all my windows, open all over my
different desktops, all have the same x and y coordinates, which confuses
QTs xdnd drag n drop implementation.
----------------------------------
Its probably quite easy to fix - if you know a bit more about xdnd than i do
at this stage... I will get around to it eventually... but im hoping someone
else who knows what they are doing with xdnd will get there before me :)
As Lunos Lubak's suggested in his earlier post:
qt/src/kernel/qdnd_x11.cpp is certainly the place to start fixing this ...
cheers,
John
More information about the kfm-devel
mailing list