On 2009 Dec 31, Thomas Adam wrote: > On Tue, Nov 03, 2009 at 10:57:00PM -0800, Derek B. Noonburg wrote: >> There is some code at the end of HandleClientMessage() that forwards >> ClientMessage events on to the client window. It's marked with a >> comments that says "I'm not so sure this should be done or not, since >> every other window manager I've looked at doesn't." If I comment out >> that code, drag-and-drop works perfectly. > > Apologies for the delay on this -- I have finally found some time to look > into this. > >> I looked at the Qt source code a little bit. If Qt is going to send an >> Xdnd event (XdndLeave, XdndEnter, etc.), and the target is another Qt >> widget in the same process, it simply calls its own internal event >> handler function instead of calling XSendEvent. When the mouse pointer > > Because Qt has to implement a lot of things for itself, I can't help but > wonder if it has always made life difficult. Ah well, I don't like Qt, so > my incentive to care is minimal about the state of Qt. :)
I hate pretty much all X toolkits (including the one I wrote myself 15 years ago, and quickly abandoned). From an application developer's point of view, Qt seems to be the least annoying of the current group. Having looked a little bit at the Qt code, I can certainly believe that it's not so nice from a window manager developer's point of view. > ... > I used xscope on this to see if this is true. I'd never heard of xscope. There are a few pointers to http://www.keithp.com/cvs/xscope, but that page seems to be dead (and I don't see xscope in his git repository either). Do you have a current URL for it? > ... > I've met you half-way. I've added a new command to BugOpts called > "QtDragnDropWorkaround" which will surpress the sending of ClientEvent > messages to the client. I am not removing the code outright, as this is > still useful for other applications. I just tried the current cvs version of fvwm, and the BugOpts thing worked fine. Thanks for adding that in. - Derek
