I've implemented (optional!) mouse-based focus in ratpoison. This is intended to replace sloppy.c. It has the following advantages:
- It is implemented within ratpoison, so it is more efficient than invoking a new instance of the ratpoison binary on every crossing event.
- It also implements focus-follows-mouse, which means that empty frames can be focused.
This is a relatively complex patch. I don't think I've damaged anything when the feature is off, but it wouldn't surprise me if I missed some edge case that I didn't think of when the feature is on. Please let me know if you are able to test this.
To turn it on, type
:focus_policy
The valid arguments are manual, sloppy, and ffm.
I have not updated the docs yet.
I am suspicious about transient windows, but so far it seems to work correctly. I just can't shake the feeling that I missed a detail there.
There is a technique for requesting events on a window but not on its subwindow. I have to find and fix this, because at the moment the root window requesting motion events in ffm mode means that all windows do. It's harmless but inefficient. And it makes the log longer.
Jeff Abrahamson
+33 6 24 40 01 57