GNOME Bugzilla – Bug 155106
Consider supporting _NET_WM_MOUSE_ACTION
Last modified: 2018-02-10 12:44:52 UTC
_NET_WM_MOUSE_ACTION is a new EWMH proposal to allow window managers to be smarter about when to raise on windows. For example, if a click begins a drag-and-drop operation, it would be nice for the WM to only raise on ButtonRelease and only if the GTK drag threshold wasn't met. This isn't part of the EWMH yet, but I'm filing the patch so people can try it out and we can try to come to a consensus on what should be accepted into the EWMH. See http://mail.gnome.org/archives/wm-spec-list/2004-October/msg00008.html and bug 154260 and bug 152952 for more detailed discussions of this feature.
Created attachment 32479 [details] [review] Allow window to be raised on ButtonRelease, and only if drag didn't occur This depends on the gtk+ patch in bug 154260 first being applied; I'll mark that dependency in just a minute.
Created attachment 32532 [details] [review] Simple fix -- pass toplevel GdkWindows like I'm supposed to
Created attachment 32568 [details] [review] Some fixes for the newer gtk+ patch, also support clicks that aren't on icons
Updating bug information, since the GTK+ API is still not in 2.8.
Still not in GTK+, updating again. Elijah: Any news on this one? :)
Feel free to resolve as incomplete if you like; we can reopen after someone has the time to implement the new GTK+ stuff to the gtk+ hackers' liking.
Created attachment 65056 [details] [review] Update to match newer gtk+ patch I just added to bug 154260 This patch along with the gtk+ (bug 154260 comment 28) and metacity ones (bug 152952, I'll attach the new version soon) is functional without regressions, unlike the previous patches. However, this patch only supports dnd in icon view. There are 3 other gtk_drag_begin() calls in nautilus, so there are probably 3 other locations where don't-raise-on-button-press-of-dnd isn't properly supported with this patch. Fixing those will likely just mean 3 more functions calls in the appropriate spot; it's probably a trivial fix, but getting the gtk+ patch cleaned up is first priority.
Comment on attachment 65056 [details] [review] Update to match newer gtk+ patch I just added to bug 154260 libnautilus-private/nautilus-icon-container.c does not exist anymore in git master. Hence setting 'needs-rework' as patch does not apply cleanly.
There was no progress on the gtk+ side for over a decade, where it was recently closed as obsolete. Closing here as well.