anchor.diff:    (make-translation-transformation (xlib:drawable-x mirror)
                                      (xlib:drawable-y mirror)))
   
  +
  +
   (defmethod port-set-sheet-region ((port clx-port) (graft graft) region)
     (declare (ignore region))
     nil)
   
  -(defmethod port-set-sheet-region ((port clx-port) (sheet mirrored-sheet-mixin) region)
  -  (let ((mirror (sheet-direct-mirror sheet)))
  -    (multiple-value-bind (x1 y1 x2 y2) (bounding-rectangle* region)
  -      (setf (xlib:drawable-width mirror) (round (- x2 x1))
  -	    (xlib:drawable-height mirror) (round (- y2 y1))))))
  -
   (defmethod port-set-sheet-transformation ((port clx-port) (graft graft) transformation)
     (declare (ignore transformation))
     nil)
   
  +#+NIL
   (defmethod port-set-sheet-transformation ((port clx-port) (pane application-pane) transformation)
     (declare (ignore transformation))
     nil)
   
  +#+NIL
   (defmethod port-set-sheet-transformation ((port clx-port) (pane interactor-pane) transformation)
     (declare (ignore transformation))
     nil)
   
   (defmethod port-set-sheet-transformation ((port clx-port) (sheet mirrored-sheet-mixin) transformation)
     (let ((mirror (sheet-direct-mirror sheet)))
  -    (multiple-value-bind (x y) (transform-position transformation 0 0)
  -      (setf (xlib:drawable-x mirror) (round x)
  -	    (xlib:drawable-y mirror) (round y)))))
  +    (multiple-value-bind (tr rg) (invent-sheet-mirror-transformation-and-region sheet)
  +      (multiple-value-bind (x y) (transform-position tr 0 0)
  +        (multiple-value-bind (x1 y1 x2 y2) (bounding-rectangle* rg)
  +          (setf (xlib:drawable-x mirror) (round x)
  +                (xlib:drawable-y mirror) (round y))
  +          (setf (xlib:drawable-width mirror)  (clamp 1 (round x2) #xFFFF)
  +                (xlib:drawable-height mirror) (clamp 1 (round y2) #xFFFF))
  +          ;;(xlib:clear-area mirror :exposures-p t)
  +          (invalidate-cached-transformations sheet)
  +          )))))
  +
  +(defmethod port-set-sheet-region ((port clx-port) (sheet mirrored-sheet-mixin) region)
  +  (let ((mirror (sheet-direct-mirror sheet)))
  +    (multiple-value-bind (tr rg) (invent-sheet-mirror-transformation-and-region sheet)
  +      (multiple-value-bind (x1 y1 x2 y2) (bounding-rectangle* rg)
  +        (setf x2 (round x2))
  +        (setf y2 (round y2))
  +        (cond ((or (<= x2 0) (<= y2 0))
  +               ;; XXX
  +               ;; now X does not allow for a zero width/height window,
  +               ;; we should unmap instead ...
  +               ;; Nevertheless we simply clamp
  +               ))
  +        (setf (xlib:drawable-width mirror)  (clamp x2 1 #xFFFF)
  +              (xlib:drawable-height mirror) (clamp y2 1 #xFFFF))))))
   
   (defmethod destroy-port :before ((port clx-port))
     (xlib:close-display (clx-port-display port)))
  
positive.code: 	 (make-instance 'pointer-motion-event :pointer 0 :button code :x x :y y
  			:sheet sheet :modifier-state state :timestamp time))
  	((:exposure :display)
  	 (make-instance 'window-repaint-event
             :sheet sheet
             :region (make-rectangle* x y (+ x width) (+ y height))))
  	(t
  	 nil)))))
  
  
negative.code: 
  ;; Top-level-sheet
  
  ;; this is evil.
  (defmethod compute-extremum :after ((pane top-level-sheet-pane))
    (with-slots (space-requirement) pane
      (setf (xlib:wm-normal-hints (sheet-direct-mirror pane))
  