Long time ratpoisoner, first time caller.

cmd_meta relies on XSendEvent to send ratpoison's prefix key to the
next-focused window. This doesn't work for applications linked against
XInput2 (such as a default-built Emacs as of 29.1), where the
prescription appears to be to use XTEST's XTestFakeKeyEvent
instead[1].
I've tried hacking actions.c to do this[2], but code that works fine
in a stand-alone binary seemingly has no effect when running as part
of cmd_meta. I suspect that ratpoison is still receiving key events so
the synthesized event doesn't get a chance to get delivered to
current_window()->w (which XSendEvent targets directly, but which is
seemingly not a concept in XTEST, where event routing is up to the X
server).

Is there a standard way for code in a cmd_foo to tell ratpoison to
drop input focus?(ungrab_keys_all_wins doesn't seem to do it)

Cheers,
-a

[1] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=66765
[2] https://gist.github.com/fischman/c701731134f1aec37077eab12ee3d48b
(incidentally, is there a standard way to upload a WIP branch to
savannah when not a project member, like github's pull requests?)

Reply via email to