[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