From 468663c98ffd1c19716558750cac01d8cff3d20a Mon Sep 17 00:00:00 2001 From: Philippe Brochard Date: Wed, 21 Nov 2012 21:23:06 +0100 Subject: [PATCH] Remove overlapping heads instead of equal heads --- src/clfswm-internal.lisp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/clfswm-internal.lisp b/src/clfswm-internal.lisp index 8653973..e358998 100644 --- a/src/clfswm-internal.lisp +++ b/src/clfswm-internal.lisp @@ -837,7 +837,17 @@ XINERAMA version 1.1 opcode: 150 (destructuring-bind (w h x y) (parse-xinerama-info line) (push (list x y w h) sizes)))) - (remove-duplicates sizes :test #'equal))))) + (remove-if (lambda (size) + (destructuring-bind (x y w h) size + (dolist (s sizes) + (unless (equal s size) + (destructuring-bind (x1 y1 w1 h1) s + (when (and (>= x x1) + (>= y y1) + (<= (+ x w) (+ x1 w1)) + (<= (+ y h) (+ y1 h1))) + (return t))))))) + sizes))))) ;;'((10 10 500 300) (550 50 400 400) (100 320 400 270)))))) ;;'((10 10 500 580) (540 50 470 500)))))) -- 2.11.4.GIT