Hello, I tried several ways to disable MacPerl's menus at runtime which were already discussed in this list.
With the following script I'm partially successful. File|New and File|Open is disabled. I cannot deactivate Print and Save. Edit is disabled completely. The "MacPerl" Window menu item is enabled. I guess I could look into the MacPerl source but have no time at the moment. Any thoughts appreciated, Axel. #!perl -w use strict; use Mac::Menus; use Mac::Events; my $macperl_menus = { # Apple # 128 # File # 1 - New # 2 - Open # 12 - Stop Script 129 => [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], # Edit 130 => [ 0 ], # Window 131 => [ 0 ], # Script 132 => [ 0 ], # Editor 133 => [ 0 ], }; print "disabling ...\n"; for my $m ( keys %$macperl_menus ) { my $menu = GetMenuHandle $m; if( $menu ) { if( $macperl_menus->{$m}->[0] == 0 ) { DisableItem $menu; DisableItem $menu, 0; } else { for my $i ( @{$macperl_menus->{$m}} ) { DisableItem $menu, $i; } } } } DrawMenuBar; pause( 10 ); print "enabling ...\n"; for my $m ( keys %$macperl_menus ) { my $menu = GetMenuHandle $m; if( $menu ) { if( $macperl_menus->{$m}->[0] == 0 ) { EnableItem $menu; EnableItem $menu, 0 } else { for my $i ( @{$macperl_menus->{$m}} ) { EnableItem $menu, $i; } } } } DrawMenuBar; print "done.\n"; exit; sub pause { my ($time) = @_; my $start = time; WaitNextEvent until time > ($start + $time); } __END__