fvwmorg / fvwm3

FVWM version 3 -- the successor to fvwm2
Other
488 stars 75 forks source link

mouse binding breaks Firefox #992

Closed rkoe closed 3 months ago

rkoe commented 3 months ago

Upfront Information

Expected Behaviour

A mouse-binding for "Super_L + left mouse button" should not affect normal clicks (without Super_L) on e.g. Firefox.

Actual Behaviour

Since a recent update (of fvwm, Firefox, or Xorg), some fvwm-mouse-bindings break website-menus in Firefox on Linux. It worked fine previously.

Details:

Enabling logging

Nothing is shown in the logs.

Steps to Reproduce

somiaj commented 3 months ago

If you tried a modified other than '4' does it work, like maybe try ctrl or meta? What does your xmodmap say?

rkoe commented 3 months ago
somiaj commented 3 months ago

X11 key/mouse press/release events can really only be used by a single application, if fvwm doesn't have a binding setup, it passes the event directly to the application, but if it does have a binding then fvwm intercepts it. I am not quite sure how modifiers are dealt with here, but once fvwm grabs the event it won't be the same to firefox.

As a work around, would say making your custom binding only work on mouse 3, or something that doesn't get in the way of normal operations. You could also move your binding off the window to the title bar / borders instead.

I can't seem to reproduce this on firefox-esr here, so my guess is firefox has changed something and the bug is on their end. I would first see if you can downgrade firefox to an older version, try to find when this changed happend, the easiest way is install firefox-esr, and see if the problem is still there.

I can't think of any of the key/mouse binding code in fvwm3 changed recently. Note firefox is often doing non standard things, there is always something they are breaking.

somiaj commented 3 months ago

I have done some looking around, seems there have been various users with issues with menus and some smaller wms. Here are some suggested things to toggle, go to about:config and try to set widget.gtk.ignore-bogus-leave-notify to 1 (it defaults as 2), and if that doesn't work you can try to toggle widget.gtk.grab-pointer to 1 as well.

Anyways here is some info here: https://bugzilla.mozilla.org/show_bug.cgi?id=1819206

And it appears this particular bug is already know, this mentions fvwm2/3 and the exact issue you ran into: https://bugzilla.mozilla.org/show_bug.cgi?id=1805939#c32, I still am unsure if it is firefox or fvwm to blame, I think firefox, but they may think that everything needs to update to their standards.

From that comment it sounds like firefox is grabbing the events with AnyModifiers which it cannot since fvwm has already claimed the event for modifier 4 via your key binding. You may want to move this over to firefox, as it seems like their bug to me.

ThomasAdam commented 3 months ago

For now, I'm afraid this isn't something I feel fvwm is going to be able to "workaround", and the fix ultimately relies on this being done in Firefox.

I hope this is something they're prepared to do.

rkoe commented 3 months ago

Thanks a lot!