[clfswm-cvs] r382 - clfswm/src

Philippe Brochard pbrochard at common-lisp.net
Wed Nov 10 23:29:01 UTC 2010


Author: pbrochard
Date: Wed Nov 10 18:29:00 2010
New Revision: 382

Log:
src/clfswm-util.lisp (mouse-click-to-focus-generic): Do not focus the parent child when the current root is a window.

Modified:
   clfswm/src/clfswm-internal.lisp
   clfswm/src/clfswm-util.lisp

Modified: clfswm/src/clfswm-internal.lisp
==============================================================================
--- clfswm/src/clfswm-internal.lisp	(original)
+++ clfswm/src/clfswm-internal.lisp	Wed Nov 10 18:29:00 2010
@@ -809,7 +809,9 @@
 For window: set current child to window or its parent according to window-parent"
   (let ((new-focus (focus-child-rec child parent))
 	(new-current-child (set-current-child child parent window-parent))
-	(new-root (set-current-root parent)))
+	(new-root (if window-parent
+		      (set-current-root parent)
+		      child)))
     (or new-focus new-current-child new-root)))
 
 

Modified: clfswm/src/clfswm-util.lisp
==============================================================================
--- clfswm/src/clfswm-util.lisp	(original)
+++ clfswm/src/clfswm-util.lisp	Wed Nov 10 18:29:00 2010
@@ -556,7 +556,9 @@
 		(setf parent (find-parent-frame child)))))
 	(when (equal (type-of child) 'frame)
 	  (funcall mouse-fn child parent root-x root-y))
-	(when (and child parent (focus-all-children child parent))
+	(when (and child parent (focus-all-children child parent
+						    (not (and (child-equal-p *current-child* *current-root*)
+							      (xlib:window-p *current-root*)))))
 	  (when (show-all-children *current-root*)
 	    (setf to-replay nil))))
       (if to-replay




More information about the clfswm-cvs mailing list