anchor.diff:                                 :width width
                                  :height height
                                  :fifo fifo
  +                               :thread (mezzano.supervisor:current-thread)
                                  :buffer (make-array (list height width)
                                                      :element-type '(unsigned-byte 32)
                                                      :initial-element 0)
  
positive.code:                     (setf *current-keymap* (if (eql *current-keymap* *engb-keymap*)
                                                 *enus-keymap*
                                                 *engb-keymap*))))
                   ;; Otherwise, dispatch to active window.
                   (*active-window*
                    (send-event *active-window*
  
negative.code: (defclass window ()
    ((%x :initarg :x :accessor window-x)
     (%y :initarg :y :accessor window-y)
     (%thread :initarg :thread :accessor window-thread)
     (%fifo :initarg :fifo :reader fifo)
     (%buffer :initarg :buffer :reader window-buffer)
     (%layer :initarg :layer :reader layer)
     (%subscribed-notifications :initarg :notifications :reader subscribed-notifications)
     (%unresponsive :initarg :unresponsive :accessor window-unresponsive)
     (%kind :initarg :kind :reader kind))
    (:default-initargs :layer nil
                       :notifications '()
                       :unresponsive nil
                       :thread nil))
  
  (defgeneric width (thing))
  (defgeneric height (thing))
  