Tk_Grab - manipulate grab state in an application
#include <tk.h> int Tk_Grab(interp, tkwin, grabGlobal) void Tk_Ungrab(tkwin)
Tk_Grab(3tk)                 Tk Library Procedures                Tk_Grab(3tk)
______________________________________________________________________________
NAME
       Tk_Grab, Tk_Ungrab - manipulate grab state in an application
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  indicating   whether
                                                 the  grab is global or appli-
                                                 cation local
______________________________________________________________________________
DESCRIPTION
       These functions are used to set or  release  a  global  or  application
       local grab.  When a grab is set on a particular window in a Tk applica-
       tion, 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 appli-
       cation (but outside the tree rooted at tkwin) will be redirected.
       Tk_Grab sets a grab on a particular window.  Tkwin specifies the window
       on whose behalf the pointer is to  be  grabbed.   GrabGlobal  indicates
       whether  the  grab should be global or application local; if it is non-
       zero, it means 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.
       Tk_Ungrab releases a grab on the mouse pointer and keyboard,  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
ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:
       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | runtime/tk-8     |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+
NOTES
       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.
       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source        was        downloaded        from         https://source-
       forge.net/projects/tcl/files/Tcl/8.6.7/tk8.6.7-src.tar.gz/download.
       Further information about this software can be found on the open source
       community website at https://www.tcl.tk/.
Tk                                                                Tk_Grab(3tk)