File: menuhack

package info (click to toggle)
iceweasel 2.0.0.19-0etch1
  • links: PTS
  • area: main
  • in suites: etch
  • size: 298,784 kB
  • ctags: 317,912
  • sloc: cpp: 1,796,902; ansic: 987,677; xml: 109,036; makefile: 47,777; asm: 35,201; perl: 26,983; sh: 20,879; cs: 6,232; java: 5,513; python: 3,249; pascal: 459; lex: 306; php: 244; csh: 132; objc: 97; yacc: 79; ada: 49; awk: 14; sql: 4; sed: 4
file content (42 lines) | stat: -rwxr-xr-x 1,461 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/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 (<INFILE>) {
    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";