anchor.diff:                   (dolist (char keys)
                      (send-event char))))
                 ((= kind +resize+)
  -               (let ((width (gethash "width" value))
  -                     (height (gethash "height" value)))
  -                 (setf *display-width* width)
  -                 (setf *display-height* height)
  -                 (send-event :resize)))
  +               (resize value)
  +               (send-event :resize))
                 (t
                  (error "unexpected kind: ~D" kind))))
       (error (e)
  
positive.code:           (jsonrpc/transport/interface:transport-connection
             (jsonrpc/class:jsonrpc-transport *server*))))
      (jsonrpc:notify *server* method argument)))
  
  (defmethod lem::interface-invoke ((implementation (eql :jsonrpc)) function)
    (let ((ready nil))
  
negative.code:                      (loop :until ready))))
      (setf *server* (jsonrpc:make-server))
      (jsonrpc:expose *server* "ready"
                      (lambda (params)
                        (resize params)
                        (setf ready t)
                        (params "width" *display-width*
                                "height" *display-height*)))
      (jsonrpc:expose *server* "input" 'input-callback)
      ;(dbg "server-listen")
      (jsonrpc:server-listen *server* :mode :stdio)))
  
  (defmethod lem::interface-display-background-mode ((implementation (eql :jsonrpc)))
  