You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm trying to extend functionality for mouse buttons, so that we can hook other functionality plus the existing one (I.e. The left mouse button should still pass through to the program Gui, but also do other things).
there is clickJustFocuses = False in recent (0.11 and later) xmonad, which passes clicks through. This is not general, however.
xdotool, and the equivalent functionality from XMonad.Util.Paste, uses sendEvent (man 3 XSendEvent). The big caveat is that all events sent this way are marked by the X server as synthetic, and some programs and toolkits will ignore synthetic events.
xmonad uses passive pointer (and keyboard) grabs for its mouse and key bindings. This ensures that the events in question always are given to xmonad... and that nothing else can ever see them. (Clicking to focus is a separate mechanism.) You cannot bind a mouse event in the normal way and also have it go to the client. What you can do, is register interest in general mouse events (which will then be sent to xmonad as well as to the clients; see clientMask and rootMask) in the root window and/or client windows, then intercept them in handleEventHook. Note that this means xmonad will be receiving a lot of extraneous events with this method.
I'm trying to extend functionality for mouse buttons, so that we can hook other functionality plus the existing one (I.e. The left mouse button should still pass through to the program Gui, but also do other things).
This is the only somewhat successful attempt I could find, and I couldn't get it to work with the latest xmonad version:
http://stackoverflow.com/questions/18304191/keyboard-free-mouse-gestures-for-xmonad
Will this require changes to the core or the contrib? Or is there a better solution we can define in xmonad.hs already?
The text was updated successfully, but these errors were encountered: