...
use Tk;
...
{
my $mw = MainWindow->new();
...
configure_option_database($mw);
...
build_menu_bar($mw);
...
}
####
sub configure_option_database {
my ($mw) = @_;
...
$mw->optionAdd(q{*cursor}, q{}, $priority);
...
$mw->optionAdd(q{*Menu.cursor}, q{}, $priority);
...
}
####
sub build_menu_bar {
my ($parent) = @_;
my $mb = $parent->Menu(
-type => q{menubar},
...
);
$mb->bind(ref $mb, q{}, \&menu_button_down);
$parent->configure(-menu => $mb);
$mb->configure(-cursor => q{});
...
}
####
# A modified version of Tk::Menu::ButtonDown()
sub menu_button_down {
...
$Tk::cursor = $menu->cget('-cursor');
# START: Modification of Tk::Menu::ButtonDown()
#$menu->configure(-cursor => 'arrow');
my $menu_cursor = $Tk::cursor
// $menu->optionGet(q{cursor}, ref $menu)
// q{};
$menu->configure(-cursor => $menu_cursor);
# END: Modification of Tk::Menu::ButtonDown()
...
}