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

Philippe Brochard pbrochard at common-lisp.net
Fri May 6 20:46:09 UTC 2011


Author: pbrochard
Date: Fri May  6 16:46:09 2011
New Revision: 452

Log:
src/clfswm-internal.lisp (fixe-real-size): Takes care of border size.

Modified:
   clfswm/ChangeLog
   clfswm/src/clfswm-internal.lisp
   clfswm/src/clfswm-layout.lisp

Modified: clfswm/ChangeLog
==============================================================================
--- clfswm/ChangeLog	(original)
+++ clfswm/ChangeLog	Fri May  6 16:46:09 2011
@@ -1,5 +1,8 @@
 2011-05-06  Philippe Brochard  <pbrochard at common-lisp.net>
 
+	* src/clfswm-internal.lisp (fixe-real-size): Takes care of border
+	size.
+
 	* src/clfswm-layout.lisp (update-layout-managed-children): Fix a
 	bug by using the parent frame instead of the current child.
 

Modified: clfswm/src/clfswm-internal.lisp
==============================================================================
--- clfswm/src/clfswm-internal.lisp	(original)
+++ clfswm/src/clfswm-internal.lisp	Fri May  6 16:46:09 2011
@@ -289,6 +289,39 @@
 (defun middle-child-y (child)
   (+ (child-y child) (/ (child-height child) 2)))
 
+(declaim (inline adj-border-xy adj-border-wh))
+(defgeneric adj-border-xy (value child))
+(defgeneric adj-border-wh (value child))
+
+(defmethod adj-border-xy (v (child xlib:window))
+  (+ v (xlib:drawable-border-width child)))
+
+(defmethod adj-border-xy (v (child frame))
+  (+ v (xlib:drawable-border-width (frame-window child))))
+
+(defmethod adj-border-wh (v (child xlib:window))
+  (- v (* (xlib:drawable-border-width child) 2)))
+
+(defmethod adj-border-wh (v (child frame))
+  (- v (* (xlib:drawable-border-width (frame-window child)) 2)))
+
+
+(declaim (inline anti-adj-border-xy anti-adj-border-wh))
+(defgeneric anti-adj-border-xy (value child))
+(defgeneric anti-adj-border-wh (value child))
+
+(defmethod anti-adj-border-xy (v (child xlib:window))
+  (- v (xlib:drawable-border-width child)))
+
+(defmethod anti-adj-border-xy (v (child frame))
+  (- v (xlib:drawable-border-width (frame-window child))))
+
+(defmethod anti-adj-border-wh (v (child xlib:window))
+  (+ v (* (xlib:drawable-border-width child) 2)))
+
+(defmethod anti-adj-border-wh (v (child frame))
+  (+ v (* (xlib:drawable-border-width (frame-window child)) 2)))
+
 
 
 
@@ -444,15 +477,14 @@
 	    h (h-px->fl prh parent))
       (xlib:display-finish-output *display*))))
 
-(warn "fixe-real-size: adjust border here")
 (defun fixe-real-size (frame parent)
   "Fixe real (pixel) coordinates in float coordinates"
   (when (frame-p frame)
     (with-slots (x y w h rx ry rw rh) frame
       (setf x (x-px->fl rx parent)
 	    y (y-px->fl ry parent)
-	    w (w-px->fl rw parent)
-	    h (h-px->fl rh parent)))))
+	    w (w-px->fl (anti-adj-border-wh rw parent) parent)
+	    h (h-px->fl (anti-adj-border-wh rh parent) parent)))))
 
 (defun fixe-real-size-current-child ()
   "Fixe real (pixel) coordinates in float coordinates for children in the current child"

Modified: clfswm/src/clfswm-layout.lisp
==============================================================================
--- clfswm/src/clfswm-layout.lisp	(original)
+++ clfswm/src/clfswm-layout.lisp	Fri May  6 16:46:09 2011
@@ -126,39 +126,6 @@
 			  '(("s" fast-layout-switch)
 			    ("p" push-in-fast-layout-list)))
 
-(declaim (inline adj-border-xy adj-border-wh))
-(defgeneric adj-border-xy (value child))
-(defgeneric adj-border-wh (value child))
-
-(defmethod adj-border-xy (v (child xlib:window))
-  (+ v (xlib:drawable-border-width child)))
-
-(defmethod adj-border-xy (v (child frame))
-  (+ v (xlib:drawable-border-width (frame-window child))))
-
-(defmethod adj-border-wh (v (child xlib:window))
-  (- v (* (xlib:drawable-border-width child) 2)))
-
-(defmethod adj-border-wh (v (child frame))
-  (- v (* (xlib:drawable-border-width (frame-window child)) 2)))
-
-
-(declaim (inline anti-adj-border-xy anti-adj-border-wh))
-(defgeneric anti-adj-border-xy (value child))
-(defgeneric anti-adj-border-wh (value child))
-
-(defmethod anti-adj-border-xy (v (child xlib:window))
-  (- v (xlib:drawable-border-width child)))
-
-(defmethod anti-adj-border-xy (v (child frame))
-  (- v (xlib:drawable-border-width (frame-window child))))
-
-(defmethod anti-adj-border-wh (v (child xlib:window))
-  (+ v (* (xlib:drawable-border-width child) 2)))
-
-(defmethod anti-adj-border-wh (v (child frame))
-  (+ v (* (xlib:drawable-border-width (frame-window child)) 2)))
-
 
 ;;; No layout
 (defgeneric no-layout (child parent)




More information about the clfswm-cvs mailing list