Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!cs.utexas.edu!usc!ucla-cs!shemp!yadran From: yadran@sol.cs.ucla.edu (Yadran Eterovic) Newsgroups: comp.windows.x Subject: User-defined events in clx Message-ID: Date: 14 Jul 89 21:06:43 GMT Sender: news@CS.UCLA.EDU Distribution: usa Organization: /u/yadran/.organization Lines: 39 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