yadran@sol.cs.ucla.edu (Yadran Eterovic) (07/15/89)
We have defined our own events using:
(define-extension tool-events :events (list :test-event))
(declare-event :test-event
(string datum))
We have put them in the event queue managed by clx using:
(queue-event *DISPLAY* :test-event :datum "this is a test" :append-p t)
But when we attempt to retrieve the events using process-event it
hangs:
(defun test-event()
(with-event-queue (*DISPLAY*)
(catch 'found-event
(loop
(print "process-event -- ")
(process-event *DISPLAY*
:timeout 0
:handler #'(lambda (event-key &key datum)
(print event-key datum)
(finish-output)
(if (equal event-key :test-event)
(throw 'found-event nil)))
:discard-p t)))))
So now we ask:
* Has anybody done something like this before?
* What pitfalls should we look for in defining our own events?
* Any suggestions?
Yadran Eterovic, yadran@cs.ucla.edu