Christophe Rhodes csr21@cantab.net writes:
unsupportable API... on that subject, what implications does this have for other backends?
I attach a patch which reworks my previous stuff, and implements the same behaviour (as far as I can tell) for the gtkairo backend as well as the CLX backend.
* PORT-KEYBOARD-INPUT-FOCUS, (SETF PORT-KEYBOARD-INPUT-FOCUS): trampoline to PORT-FRAME-KEYBOARD-INPUT-FOCUS and (SETF ...). The interpretation of this operator is to set the keyboard focus on a per-frame basis, and not to interact with any window manager to grab the focus from potentially unrelated applications.
* PORT-FRAME-KEYBOARD-INPUT-FOCUS / (SETF ...): per-backend methods, specialized on the port, for querying and setting the frame's focus sheet. Implemented in CLX (and Null) backend using FRAME-PROPERTIES; in gtkairo backend using gtk_window_get_focus() and gtk_widget_grab_focus().
* various editor gadgets: no longer do keyboard handling in [dis]armed-callback; handle-event methods for assigning focus. frame-pointer-button-press-handler method likewise for INTERACTOR-PANEs.
Any comments?
Cheers,
Christophe