Ticket #21044: openbrowser.diff

File openbrowser.diff, 1.7 KB (added by ryandesign (Ryan Carsten Schmidt), 15 years ago)
  • files/openbrowser

     
    1111# e.g. a text editor.
    1212#
    1313# usage: openbrowser [ file | url ] [ ... ]
    14 #
    15 # Thanks to John Gruber for coincidentally posting the code I'd been
    16 # seeking for reading the http helper from Internet Config.
    17 # http://daringfireball.net/2009/02/do_shell_script_premature_optimization
    1814
    19 use Mac::InternetConfig;
     15sub GetBrowser {
     16        use Mac::PropertyList qw(parse_plist_file);
     17        my $browser = "com.apple.safari";
     18        my $plist_file = "$ENV{HOME}/Library/Preferences/com.apple.LaunchServices.plist";
     19        $data = parse_plist_file($plist_file);
     20        if ($data) {
     21                for my $handler ($data->{"LSHandlers"}->value()) {
     22                        $handler->{"LSHandlerURLScheme"} || next;
     23                        "http" eq $handler->{"LSHandlerURLScheme"}->value() || next;
     24                        $browser = $handler->{"LSHandlerRoleAll"}->value();
     25                        last;
     26                }
     27        }
     28        return $browser;
     29}
    2030
    21 $browser = +(GetICHelper "http")[1];
    22 @open_args = ("-a", $browser);
     31my $browser = GetBrowser();
     32@open_args = ("-b", $browser);
    2333push @open_args, @ARGV;
    2434
    2535exec "open", @open_args;
  • Portfile

     
    33PortSystem              1.0
    44
    55name                    openbrowser
    6 version                 1.0
     6version                 1.0.1
    77categories              sysutils
    88platforms               macosx
    99maintainers             ryandesign
     
    2020
    2121distfiles
    2222
    23 depends_run             port:p5-mac-carbon
     23depends_run             port:p5-mac-propertylist
    2424
    2525universal_variant       no
    2626