GNOME Bugzilla – Bug 517394
Native resize grip steals button release / General resizing bug
Last modified: 2009-09-25 19:58:09 UTC
When clicking the grip, you first get a button press, then you start moving and get the "resize will begin" call, but never a button release. Either we stop using the native resizing (not sure that's possible), or fake a release event after resizing.
There are some more problems with resizing: - When the application is active it is impossible to get to the resizing grip (possibly a side-effect of client side windows?) - The GTK+ resize grip does not work. I don't think stopping using the native resizing will be a good option, as that will make it impossible to resize any window. In bug 594835 Christian Hergert suggested to explicitly pass all events in the lower 15x15 corner to cocoa for proper handling of the resize grip. This will be troublesome when there's a widget in exactly that corner. I need to experiment with that approach, maybe it won't be that bad -- I would gather most widgets are larger than 15x15.
Tomboy would suffer from this specifically since it has a scrollbar on the right side that flows to the bottom of the window. After talking with Tomboy maintainer Sandy Armstrong, we came to the conclusion that there are plenty of places you can click to move a scrollbar however only ONE place you can resize. So therefore we choose to require the 15x15 area for resize.
Fully agree with the point made in comment 2. I've committed the patch you wrote in bug 594835 with some changes (most importantly, I made it check for showsResizeIndicator). I will push later today. Now that we explicitly leave resize events to Cocoa, the GDK part will never receive the button press nor button release so the pairing can't be broken.