my $oldmenu; ... sub add_edit_popup { ... $obj->bind('<3>', [sub { my ($w, $x, $y) = @_; $menu->post($x, $y); $oldmenu = $menu; }, Ev('X'), Ev('Y'), ]); $mw->bind('', [sub { if ($oldmenu) { $oldmenu->unpost; } undef $oldmenu; } ]); }