anchor.diff:           (destructuring-bind (icon name fn) icon-repr
              (declare (ignore fn icon))
              (when (not (gethash name cache))
  -             (setf (gethash name cache) (rasterize-string name font colour)))))
  +             (setf (gethash name cache) (rasterize-string name font colour geometry-only)))))
       cache))
   
   (defparameter *icon-vertical-space* 20)
  
positive.code:     ;; Either the desktop window or the notification window was closed. Exit.
      (throw 'quit nil)))
  
  (defun rasterize-string (string font colour)
    (let* ((width (font:string-display-width string font))
           (result (gui:make-surface width (font:line-height font))))
      (font:draw-string string font result 0 (font:ascender font) colour)
      result))
  
  (defun build-text-cache (icons font colour)
    (let ((cache (make-hash-table :test 'equal)))
      (loop
         for icon-repr in icons
         when (consp icon-repr)
  
negative.code:          (desktop-height (comp:height window))
           (framebuffer (comp:window-buffer window))
           (font (font desktop))
           (text-cache (build-text-cache *icons* font)))
      (gui:bitset :set
                  desktop-width desktop-height
                  (colour desktop)
  