anchor.diff:      :initarg :name
       :type string))
     (:metaclass event-class)
  -  (:type :setting))
  +  (:event-type :setting))
   
   (defclass proximity-event (timed-event)
     ((device
  
positive.code:       :allocation :alien
        :accessor event-send-event
        :initarg :send-event
        :type (boolean 8)))
      (:metaclass event-class)))
  
  
  (defmethod initialize-instance ((event event) &rest initargs)
    (declare (ignore initargs))
    (call-next-method)
    (setf (slot-value event '%type) (event-class-type (class-of event))))
  
  
  (defclass timed-event (event)
    ((time
  
negative.code:     :initarg :height
      :type int))
    (:metaclass event-class)
    (:event-type :configure))
  
  (defclass map-event (event)
    ()
    (:metaclass event-class)
    (:event-type :map))
  
  (defclass unmap-event (event)
    ()
    (:metaclass event-class)
    (:event-type :unmap))
  
  (defclass property-notify-event (event)
    ()
    (:metaclass event-class)
    (:event-type :property-notify))
  
  (defclass selection-clear-event (event)
    ()
    (:metaclass event-class)
    (:event-type :selection-clear))
  
  (defclass selection-request-event (event)
    ()
    (:metaclass event-class)
    (:event-type :selection-request))
  
  (defclass selection-notify-event (event)
    ()
    (:metaclass event-class)
    (:event-type :selection-notify))
  
  (defclass dnd-event (event)
    ((context
  