source files: xgtm.[ch], term/*.trm, gtplot.h
(GT-BLOCKING-QUEUE-READ) (GT-NONBLOCKING-QUEUE-READ) (SEND <gtm:terminal> :BLOCKING-QUEUE-READ) (SEND <gtm:terminal> :NONBLOCKING-QUEUE-READ)
Return an event from the input queue. The NONBLOCKING fn and message immediately return NIL if the input queue is empty. The BLOCKING fn and message wait until an event is available, always returning a non-NIL value. The BLOCKING and NONBLOCKING fns and msgs are otherwise identical.
The return value currently will have one of the following forms:
(:REDRAW) ;; Host window manager requests screen redraw. (:KEYBOARD-CHAR c) ;; User has typed character c. (:DOWNCLICK i j) ;; User depressed mouse button at pixel i,j. (:UPCLICK i j) ;; User released mouse button at pixel i,j.
Return value 'c' will be a char, return values 'i' and 'j' will be fixnums relative to the lower-left corner of the window. Code should be written to ignore lists starting with other keywords (rather than crashing, say), to allow future expansion.