Grab Methods
When a window does a grab, it holds all the keyboard and mouse input to itself. That window will not allow any other windows in the application to receive input. There is also a global grab, which means that no applications in the entire system can get input except the one window that has done the global grab. These methods are usually called from a Toplevel widget.
To do a local grab for the widget, use grab
:
$widget->grab;
A local
grab means that you can interact with other windows in the system,
but not with other windows in the application. To do a global grab,
use grabGlobal
:
$widget->grabGlobal;
To
ungrab, call grabRelease
:
$widget->grabRelease;
To find
out which widget has done a grab, call
grabCurrent
:
$who = $widget->grabCurrent;
To find
out the current grab state of a $widget
, call
grabStatus
:
$status = $widget->grabStatus;
The grabStatus
method returns a string that is
"none"
, "local"
, or
"global"
.
To find out all
the windows that are currently under the influence of grab, use
grabs
to get a list back:
@windows = $widget->grabs;
Get Mastering Perl/Tk now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.