[clfswm-cvs] r402 - in clfswm: . src

Philippe Brochard pbrochard at common-lisp.net
Tue Feb 8 22:35:03 UTC 2011


Author: pbrochard
Date: Tue Feb  8 17:35:03 2011
New Revision: 402

Log:
src/clfswm.lisp (main-mode): Raise or not unmanaged windows following request in *never-managed-window-list*.

Modified:
   clfswm/ChangeLog
   clfswm/src/clfswm-corner.lisp
   clfswm/src/clfswm-internal.lisp
   clfswm/src/clfswm-util.lisp
   clfswm/src/clfswm.lisp
   clfswm/src/config.lisp

Modified: clfswm/ChangeLog
==============================================================================
--- clfswm/ChangeLog	(original)
+++ clfswm/ChangeLog	Tue Feb  8 17:35:03 2011
@@ -1,3 +1,8 @@
+2011-02-08  Philippe Brochard  <pbrochard at common-lisp.net>
+
+	* src/clfswm.lisp (main-mode): Raise or not unmanaged windows
+	following request in *never-managed-window-list*.
+
 2011-02-05  Philippe Brochard  <pbrochard at common-lisp.net>
 
 	* *: **** Release 1102 ****

Modified: clfswm/src/clfswm-corner.lisp
==============================================================================
--- clfswm/src/clfswm-corner.lisp	(original)
+++ clfswm/src/clfswm-corner.lisp	Tue Feb  8 17:35:03 2011
@@ -91,7 +91,8 @@
     (do-shell cmd)
     (setf win (wait-window-in-query-tree wait-test))
     (hide-window win))
-  (cond ((window-hidden-p win) (unhide-window win)
+  (cond ((window-hidden-p win)
+	 (unhide-window win)
 	 (when focus-p
 	   (focus-window win))
 	 (raise-window win))

Modified: clfswm/src/clfswm-internal.lisp
==============================================================================
--- clfswm/src/clfswm-internal.lisp	(original)
+++ clfswm/src/clfswm-internal.lisp	Tue Feb  8 17:35:03 2011
@@ -157,12 +157,9 @@
 
 (defun never-managed-window-p (window)
   (dolist (type *never-managed-window-list*)
-    (destructuring-bind (test predicate result) type
+    (destructuring-bind (test predicate result raise) type
       (when (funcall test (funcall predicate window) result)
-	(return t)))))
-    ;;(when (string-equal (funcall (first type) window) (second type))
-    ;;  (return t))))
-
+	(return (values t raise))))))
 
 
 (defgeneric child-name (child))

Modified: clfswm/src/clfswm-util.lisp
==============================================================================
--- clfswm/src/clfswm-util.lisp	(original)
+++ clfswm/src/clfswm-util.lisp	Tue Feb  8 17:35:03 2011
@@ -1464,7 +1464,7 @@
     (defun close-notify-window ()
       (erase-timer :refresh-notify-window)
       (setf *never-managed-window-list*
-	    (remove (list #'equal #'is-notify-window-p t) *never-managed-window-list* :test #'equal))
+	    (remove (list #'equal #'is-notify-window-p t t) *never-managed-window-list* :test #'equal))
       (when gc
 	(xlib:free-gcontext gc))
       (when window
@@ -1502,7 +1502,7 @@
 					 :line-style :solid))
 	  (when (frame-p *current-child*)
 	    (setf current-child *current-child*)
-	    (push (list #'equal #'is-notify-window-p t) *never-managed-window-list*))
+	    (push (list #'equal #'is-notify-window-p t t) *never-managed-window-list*))
 	  (map-window window)
 	  (refresh-notify-window)
 	  (xlib:display-finish-output *display*))))))

Modified: clfswm/src/clfswm.lisp
==============================================================================
--- clfswm/src/clfswm.lisp	(original)
+++ clfswm/src/clfswm.lisp	Tue Feb  8 17:35:03 2011
@@ -84,7 +84,11 @@
     (process-new-window window)
     (map-window window)
     (unless (null-size-window-p window)
-      (show-all-children))))
+      (multiple-value-bind (never-managed raise)
+	  (never-managed-window-p window)
+	(unless (and never-managed raise)
+	  (show-all-children))))))
+
 
 (define-handler main-mode :unmap-notify (send-event-p event-window window)
   (unless (and (not send-event-p)

Modified: clfswm/src/config.lisp
==============================================================================
--- clfswm/src/config.lisp	(original)
+++ clfswm/src/config.lisp	Tue Feb  8 17:35:03 2011
@@ -47,11 +47,11 @@
 
 ;;; CONFIG - Never managed window list
 (defparameter *never-managed-window-list*
-  '((string-equal xlib:get-wm-class "ROX-Pinboard")
-    (string-equal  xlib:get-wm-class "xvkbd")
-    (string-equal xlib:wm-name "clfswm-terminal"))
+  '((string-equal xlib:get-wm-class "ROX-Pinboard" nil)
+    (string-equal  xlib:get-wm-class "xvkbd" t)
+    (string-equal xlib:wm-name "clfswm-terminal" t))
   "Config(): CLFSWM will never manage windows of this type.
-A list of (predicate-function-on-window expected-string)")
+A list of (predicate-function-on-window expected-string raise-p)")
 
 
 (defparameter *hide-unmanaged-window* t




More information about the clfswm-cvs mailing list