NAME

       Tk_Grab,  Tk_Ungrab - manipulate grab state in an applica­
       tion


SYNOPSIS

       #include <tk.h>

       int
       Tk_Grab(interp, tkwin, grabGlobal)

       void
       Tk_Ungrab(tkwin)



ARGUMENTS

       Tcl_Interp   *interp            (in)      Interpreter   to
                                                 use   for  error
                                                 reporting

       Tk_Window    tkwin              (in)      Window on  whose
                                                 behalf       the
                                                 pointer is to be
                                                 grabbed       or
                                                 released

       int          grabGlobal         (in)      Boolean indicat­
                                                 ing  whether the
                                                 grab  is  global
                                                 or   application
                                                 local
_________________________________________________________________



DESCRIPTION

       These functions are used to set or  release  a  global  or
       application  local grab.  When a grab is set on a particu­
       lar window in a Tk application, mouse and keyboard  events
       can  only  be received by that window and its descendants.
       Mouse and keyboard events for  windows  outside  the  tree
       rooted  at tkwin will be redirected to tkwin.  If the grab
       is global, then all mouse and keyboard events for  windows
       outside  the tree rooted at tkwin (even those intended for
       windows in  other  applications)  will  be  redirected  to
       tkwin.   If  the grab is application local, only mouse and
       keyboard events intended for a  windows  within  the  same
       application (but outside the tree rooted at tkwin) will be
       redirected.


       Tk_Grab sets a grab on a particular window.  Tkwin  speci­
       fies  the  window  on  whose  behalf  the pointer is to be
       the grab should  be  global.   Normally,  Tk_Grab  returns
       TCL_OK;  if  an  error  occurs and the grab cannot be set,
       TCL_ERROR is returned and an  error  message  is  left  if
       interp's  result.   Once this call completes successfully,
       no window outside the tree rooted at  tkwin  will  receive
       pointer- or keyboard-related events until the next call to
       Tk_Ungrab.  If a previous grab was in  effect  within  the
       application, then it is replaced with a new one.


       Tcl_Ungrab  releases  a grab on the mouse pointer and key­
       board, if there is one set on the window given  by  tkwin.
       Once  a grab is released, pointer and keyboard events will
       start being delivered to other windows again.



KEYWORDS

       grab, window