anchor.diff:         do (progn ;ignore-errors
               (incf icon-pen 20)
               (let ((image (load-image icon)))
  -              (mezzano.gui:bitblt :blend
  -                                  (mezzano.gui:surface-width image) (mezzano.gui:surface-height image)
  +              (gui:bitblt :blend
  +                                  (gui:surface-width image) (gui:surface-height image)
                                     image 0 0
                                     framebuffer 20 icon-pen)
                 (when (eql icon-repr (clicked-icon desktop))
  -                (mezzano.gui:bitset :xor
  -                                    (mezzano.gui:surface-width image) (mezzano.gui:surface-height image)
  +                (gui:bitset :xor
  +                                    (gui:surface-width image) (gui:surface-height image)
                                       #x00FFFFFF
                                       framebuffer
                                       20 icon-pen))
                 (loop
                    with pen = 0
                    for ch across name
  -                 for glyph = (mezzano.gui.font:character-to-glyph font ch)
  -                 for mask = (mezzano.gui.font:glyph-mask glyph)
  +                 for glyph = (font:character-to-glyph font ch)
  +                 for mask = (font:glyph-mask glyph)
                    do
  -                   (mezzano.gui:bitset :blend
  -                                       (mezzano.gui:surface-width mask) (mezzano.gui:surface-height mask)
  -                                       (mezzano.gui:make-colour 1 1 1)
  +                   (gui:bitset :blend
  +                                       (gui:surface-width mask) (gui:surface-height mask)
  +                                       (gui:make-colour 1 1 1)
                                          framebuffer
  -                                       (+ 20 (mezzano.gui:surface-height image) 10 pen (mezzano.gui.font:glyph-xoff glyph))
  -                                       (- (+ icon-pen (truncate (mezzano.gui:surface-width image) 2) (mezzano.gui.font:ascender font))
  -                                          (mezzano.gui.font:glyph-yoff glyph))
  +                                       (+ 20 (gui:surface-height image) 10 pen (font:glyph-xoff glyph))
  +                                       (- (+ icon-pen (truncate (gui:surface-width image) 2) (font:ascender font))
  +                                          (font:glyph-yoff glyph))
                                          mask 0 0)
  -                   (incf pen (mezzano.gui.font:glyph-advance glyph)))
  -              (incf icon-pen (mezzano.gui:surface-height image)))))
  -    (mezzano.gui.compositor:damage-window window 0 0 (mezzano.gui.compositor:width window) (mezzano.gui.compositor:height window))))
  +                   (incf pen (font:glyph-advance glyph)))
  +              (incf icon-pen (gui:surface-height image)))))
  +    (comp:damage-window window 0 0 (comp:width window) (comp:height window))))
   
   (defun desktop-main (desktop)
  -  (let* ((font (mezzano.gui.font:open-font
  -                mezzano.gui.font:*default-font*
  -                (* mezzano.gui.font:*default-font-size* 2)))
  +  (let* ((font (font:open-font
  +                font:*default-font*
  +                (* font:*default-font-size* 2)))
            (fifo (fifo desktop)))
       (setf (font desktop) font)
       ;; Create a zero-size window for listening on system notifications.
  -    (setf (slot-value desktop '%notification-window) (mezzano.gui.compositor:make-window fifo 0 0
  +    (setf (slot-value desktop '%notification-window) (comp:make-window fifo 0 0
                                                                                            :initial-z-order :below-current))
       ;; And a dummy window before we know the screen geometry.
  -    (setf (slot-value desktop '%window) (mezzano.gui.compositor:make-window fifo 0 0
  +    (setf (slot-value desktop '%window) (comp:make-window fifo 0 0
                                                                               :initial-z-order :below-current))
       ;; Subscribe to screen geometry change notifications.
  -    (mezzano.gui.compositor:subscribe-notification (notification-window desktop) :screen-geometry)
  +    (comp:subscribe-notification (notification-window desktop) :screen-geometry)
       (unwind-protect
            (catch 'quitting-time
              (loop
                 (sys.int::log-and-ignore-errors
                  (dispatch-event desktop (mezzano.supervisor:fifo-pop fifo)))))
  -      (mezzano.gui.compositor:close-window notification-window)
  -      (mezzano.gui.compositor:close-window (window desktop)))))
  +      (comp:close-window notification-window)
  +      (comp:close-window (window desktop)))))
   
   (defun spawn (&key (colour #xFF011172) image)
     (let* ((fifo (mezzano.supervisor:make-fifo 50))
  
positive.code:   (let* ((truename (truename path))
           (image (gethash truename *image-cache*)))
      (unless image
        (setf image (mezzano.gui:make-surface-from-array
                     (or (load-jpeg truename)
                        (load-png truename)
                        (error "Unable to load ~S." path))))
  
negative.code:      do (progn ;ignore-errors
            (incf icon-pen 20)
            (let* ((image (load-image icon))
                   (width (gui:surface-width image))
                   (height (gui:surface-height image)))
              (when (and (<= 20 x (1- (+ 20 width)))
                         (<= icon-pen y (1- (+ icon-pen height))))
                (return icon-repr))
              (incf icon-pen (gui:surface-height image))))))
  
  (defmethod dispatch-event (desktop (event comp:mouse-event))
    (when (logbitp 0 (comp:mouse-button-change event))
      (let ((x (comp:mouse-x-position event))
            (y (comp:mouse-y-position event)))
        (cond ((logbitp 0 (comp:mouse-button-state event))
               ;; Mouse down, begin click. Highlight the clicked thing.
               (setf (clicked-icon desktop) (get-icon-at-point desktop x y))
               (when (clicked-icon desktop)
  