[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