There's some kind of grab problem associated with the menu-button routines.
Below is some sample code that displays the problem.  Normally, pressing
any key in the window will print to stdout "key pressed".  However, if I
select the "File" button and then cancel the selection by clicking outside
the button, the <Any-Key> binding no longer works.  If I move the mouse
outside the window and renter, the binding works again.
Albert
P.S.  Once I'm in this grab "override" mode, I can also cause that 'catch'
bug I mentioned in a previous mail message.  Although not too scientific,
but rapid typing on the alphanumeric keys will eventually create that catch
bug.  It fails inside the Tk:traverse-within-menu routine, attempting to
call "(catch...(set! char2 (string-lower (string (string-ref label index)))))"
with index=-1.
--------------------------------------------------
(require "Tk-classes")
  
(define (setup)
  (let* ((menubar `(("File"
                     ("Edit" ,(lambda () (format #t "Editting\n")))
                     ("Save" ,(lambda () (format #t "Saving\n")))
                     ("Quit" ,bye))))
         (f (make <Frame>))
         (mb (make-menubar f menubar)))
    (pack mb)
    (pack f  :padx 20 :pady 20)
    (bind *root* "<Any-Key>" (lambda () (format #t "key pressed\n")))
; also fails with add-binding
;    (add-binding *root* "<t>"
;		 (lambda () (format #t "key-t pressed\n")) #f)
    ))
(setup)
-- 
Albert L. M. Ting * mail:alt_at_vlibs.com * phone:408-487-5327 * fax:408-453-3500
VLSI Libraries Incorporated, 2077 Gateway Place, Suite 300, San Jose, CA 95110
Received on Tue Oct 22 1996 - 21:30:58 CEST