#!/usr/bin/perl # menuhack: Modifies the tasks menu to insert XMLterm as a menu item # Execute in the mozilla "package" directory # # NOTE: ** This is temporary hack until the chrome registry becomes # available. Do not use it if you build mozilla yourself, as it # messes up the important "tasksOverlay.xul" file. # (Unless you know what you are doing, of course, in which case # you may execute it in your "mozilla/dist/bin" directory.) # Usage: menuhack use Cwd; # Locate taskOverlay.xul file my $dir = cwd(); ($dir =~ m%.*/(package|dist/bin)%) or die "menuhack: Please execute in the package or dist/bin directory\n"; chdir "chrome/global/content/default" or die "menuhack: Directory chrome/global/content/default not found\n"; my $menufile = "tasksOverlay.xul"; # Insert XMLterm menu item into file open INFILE, "<$menufile" or die "menuhack: Unable to read $menufile\n"; open OUTFILE, ">$menufile.new" or die "menuhack: Unable to create $menufile.new\n"; while () { print OUTFILE unless m/XMLterm/; if (s%(.*)"&editorCmd.label;"(.*)"toEditor\(\);"%$1"XMLterm" $2"window.open('chrome://xmlterm/content/xmlterm.xul','_blank','chrome,dialog=no,resizable');"%) { print OUTFILE; } } close INFILE; close OUTFILE; rename $menufile, "$menufile.bak"; rename "$menufile.new", $menufile; print "Modified tasksOverlay.xul to display XMLterm item\n";