Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: grab failed: another application has grab

25 views
Skip to first unread message

Samson Patrick Awili-Jandara

unread,
Oct 9, 2022, 4:18:46 AM10/9/22
to
On Tuesday, 2 June 1998 at 17:00:00 UTC+10, Peter Bielesch wrote:
> I have a problem with the grab command
> as used e.g. in Tk::Dialog
> ( Version Tk400.200 and Tk400.202 )
> When a toplevel window tries to get grab while
> the user presses <Button1> with the mouse cursor
> on the frame of another window the following error occurs:
> Tk::Error: grab failed: another application has grab at grabexample.pl
> line 23.
> Tk callback for grab
> [\&main::__ANON__,{}]
> Tk callback for .button
> (command bound to event) at
> /usr/local/perl5/lib/site_perl/auto/Tk/Error.al line 13.
>
> I have tried to analyse the error but I lost focus
> in the X11 stuff at
> ./pTk/mTk/tkGrab.c : Tk_Grab()
> The error is the same on HP, SCO and Linux
> How can I avoid this situation. I cannot use
> the returncode of the grab command, cause it
> returns just an empty string.
> Peter
>
> My example:
> - pressed 'pressme'
> - pressed frame of 'pressme'
> - wait 3 seconds
> - error occurs
> #!/usr/local/bin/perl5
> use Tk;
> my $top = MainWindow->new;
> my $win = $top->Toplevel;
> $win->Button(
> -text=>'pressyou',
> -command => [
> sub {
> $_[0]->withdraw;
> $_[0]->grabRelease;
> },$win
> ]
> )->pack;
> $win->withdraw;
> $top->Button(
> -text=>'pressme',
> -command => [
> sub {
> sleep(3); # Simulate delayed Popup
> $_[0]->Popup;
> $_[0]->grab;
> },$win
> ]
> )->pack;
> MainLoop;

Hi Peter,

I hope the new millennium is treating you well. I hope you are alive as well. Tk for some reason does not allow grabbing windows not mapped to the screen. don't prematurely set these grabs and you won't have this problem.

- Samson
0 new messages