[clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1212-12-g4228289

Philippe Brochard pbrochard at common-lisp.net
Fri Jan 11 22:43:07 UTC 2013


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CLFSWM - A(nother) Common Lisp FullScreen Window Manager".

The branch, master has been updated
       via  42282897b00a750058ea2c2b8f9aad1303e23f25 (commit)
       via  a1e53120e92c16241d88ffc661b41b251598aba3 (commit)
      from  53b3bd4d5badf51a6f69f3fba27b1b21fde7ba85 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 42282897b00a750058ea2c2b8f9aad1303e23f25
Author: Philippe Brochard <pbrochard at common-lisp.net>
Date:   Fri Jan 11 23:42:38 2013 +0100

    Optimize hidden rectangle only for windows types in *show-hide-policy-type* (handle frame case)

diff --git a/src/clfswm-internal.lisp b/src/clfswm-internal.lisp
index 9c28356..1d650c5 100644
--- a/src/clfswm-internal.lisp
+++ b/src/clfswm-internal.lisp
@@ -1226,7 +1226,8 @@ XINERAMA version 1.1 opcode: 150
                           (or in-current-root child-current-root-p)))))
 
                (hidden-child-p (rect)
-                 (when (member (window-type (child-rect-child rect)) *show-hide-policy-type*)
+                 (when (or (frame-p (child-rect-child rect))
+                           (member (window-type (child-rect-child rect)) *show-hide-policy-type*))
                    (dolist (r displayed-child)
                      (when (and (rect-hidden-p r rect)
                                 (or (not (xlib:window-p (child-rect-child r)))

commit a1e53120e92c16241d88ffc661b41b251598aba3
Author: Philippe Brochard <pbrochard at common-lisp.net>
Date:   Fri Jan 11 23:33:58 2013 +0100

    Optimize hidden rectangle only for windows types in *show-hide-policy-type* (:normal by default)

diff --git a/src/clfswm-internal.lisp b/src/clfswm-internal.lisp
index 72240f3..9c28356 100644
--- a/src/clfswm-internal.lisp
+++ b/src/clfswm-internal.lisp
@@ -1226,11 +1226,12 @@ XINERAMA version 1.1 opcode: 150
                           (or in-current-root child-current-root-p)))))
 
                (hidden-child-p (rect)
-                 (dolist (r displayed-child)
-                   (when (and (rect-hidden-p r rect)
-                              (or (not (xlib:window-p (child-rect-child r)))
-                                  (eq (window-type (child-rect-child r)) :normal)))
-                     (return t))))
+                 (when (member (window-type (child-rect-child rect)) *show-hide-policy-type*)
+                   (dolist (r displayed-child)
+                     (when (and (rect-hidden-p r rect)
+                                (or (not (xlib:window-p (child-rect-child r)))
+                                    (eq (window-type (child-rect-child r)) :normal)))
+                       (return t)))))
 
                (select-and-display (child parent selected-p)
                  (multiple-value-bind (nx ny nw nh)
diff --git a/src/package.lisp b/src/package.lisp
index c3c495b..e072287 100644
--- a/src/package.lisp
+++ b/src/package.lisp
@@ -127,6 +127,9 @@ It is particulary useful with CLISP/MIT-CLX.")
 '<': Hide only children less than children above.
 '<=': Hide children less or equal to children above (better for performance on slow machine).")
 
+(defconfig *show-hide-policy-type* '(:normal)
+  nil "Windows types which are optimized by the show hide policy")
+
 (defstruct child-rect child parent selected-p x y w h)
 
 (defstruct root child original current-child x y w h)

-----------------------------------------------------------------------

Summary of changes:
 src/clfswm-internal.lisp |   12 +++++++-----
 src/package.lisp         |    3 +++
 2 files changed, 10 insertions(+), 5 deletions(-)


hooks/post-receive
-- 
CLFSWM - A(nother) Common Lisp FullScreen Window Manager




More information about the clfswm-cvs mailing list