Troels Henriksen athas@sigkill.dk writes:
I'm not really sure why it's necessary, but I'm pretty sure it's
very ugly.
The attached simple patch seems to make everything work properly, and
removes the need for explicit management of keyboard focus in Drei and
Goatee, but because of its simplicity, and my lack of knowledge about
CLX, I'd like a review before I commit it and make a fool out of
myself:
--
\ Troels "Athas"
/\ Henriksen
Index: Backends/CLX/port.lisp
===================================================================
RCS file: /project/mcclim/cvsroot/mcclim/Backends/CLX/port.lisp,v
retrieving revision 1.126
diff -u -r1.126 port.lisp
--- Backends/CLX/port.lisp 24 Dec 2006 14:27:44 -0000 1.126
+++ Backends/CLX/port.lisp 18 Jan 2007 22:34:42 -0000
@@ -1161,7 +1161,7 @@
(defmethod %set-port-keyboard-focus ((port clx-port) focus &key timestamp)
(let ((mirror (sheet-mirror focus)))
(when mirror
- (xlib:set-input-focus (clx-port-display port) mirror :parent timestamp))))
+ (xlib:set-input-focus (clx-port-display port) :pointer-root :parent timestamp))))
(defmethod port-force-output ((port clx-port))
(xlib:display-force-output (clx-port-display port)))