anchor.diff:     activate
      deactivate
      resize
  -   accepts-pointer-events?
      x
      y
      width
  
positive.code: 			   (fourth mods))
    surface)
  
  #|
  (defmethod activate ((surface xdg-surface) time)
    (let ((array (foreign-alloc '(:struct wl_array))))
      (wl-array-init array)
      (setf (mem-aref (wl-array-add array 4) :int32) 4)
      (xdg-surface-send-configure (->xdg-surface surface) 0 0 array time)
      (wl-array-release array)
      (foreign-free array)))
  |#
  
  (defmethod deactivate ((surface (eql nil)))
    )
  
  
negative.code: (defmethod keyboard-send-leave ((surface isurface))
    (when (and (client surface) (keyboard (client surface)))
      (wl-keyboard-send-leave (->resource (keyboard (client surface))) 0 (->resource (wl-surface surface)))))
  