+
+(defclass proximity-event (timed-event)
+ ((device
+ :allocation :alien
+ :accessor event-device
+ :initarg :device
+ :type device))
+ (:metaclass event-class))
+
+(defclass proximity-in-event (proximity-event)
+ ()
+ (:metaclass event-class)
+ (:type :proximity-in))
+
+(defclass proximity-out-event (proximity-event)
+ ()
+ (:metaclass event-class)
+ (:type :proximity-out))
+
+(defclass window-state-event (event)
+ ((change-mask
+ :allocation :alien
+ :accessor event-change-mask
+ :initarg :change-mask
+ :type window-state)
+ (new-window-state
+ :allocation :alien
+ :accessor event-new-window-state
+ :initarg :new-window-state
+ :type window-state))
+ (:metaclass event-class)
+ (:type :window-state))
+
+(defclass owner-change-event (event)
+ ()
+ (:metaclass event-class)
+ (:type :owner-change))
+