mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-08-26 21:47:04 +00:00
68 lines
2.2 KiB
Plaintext
68 lines
2.2 KiB
Plaintext
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
<plist version="1.0">
|
|
<dict>
|
|
<key>beforeRunningCommand</key>
|
|
<string>nop</string>
|
|
<key>command</key>
|
|
<string>#!/usr/bin/env ruby -wKU
|
|
#
|
|
# Open Document in Running Browser(s)
|
|
# v3 - November 22, 2007
|
|
#
|
|
# Now supports multiple running versions of a single browser along
|
|
# with a range of new/old browsers. Bring back support for Firefox.
|
|
#
|
|
# Options: Set TM_PROJECT_SITEURL in your TM Project Window Info Button
|
|
# in the following form: "http://example.com/"
|
|
|
|
require "#{ENV['TM_SUPPORT_PATH']}/lib/escape.rb"
|
|
|
|
if ENV['TM_PROJECT_SITEURL']
|
|
url = "#{ENV['TM_PROJECT_SITEURL']}" + ENV['TM_FILEPATH'].sub(/^#{Regexp.escape(ENV['TM_PROJECT_DIRECTORY'])}\//, '')
|
|
else
|
|
url = "file://#{ENV['TM_PROJECT_DIRECTORY']}/index.html"
|
|
end
|
|
|
|
proclist = `ps -x -o command`
|
|
active = []
|
|
os = `defaults read /System/Library/CoreServices/SystemVersion ProductVersion`
|
|
|
|
browsers = %w[ Safari OmniWeb Camino Shiira firefox-bin Xyle\ scope Opera Internet\ Explorer flock-bin iCab Sunrise seamonkey-bin navigator-bin ].join('|')
|
|
|
|
# Build paths to each active browser
|
|
#
|
|
# Notes:
|
|
# - 'WebKit' look ahead is to rule it out so we can use the working
|
|
# rule below.
|
|
# - 'LaunchCFMApp' portion is so iCab works.
|
|
active = proclist.scan(%r{^(?:/.*LaunchCFMApp )?(/.*\.app)(?=/Contents/MacOS/(?:#{browsers})\b(?!\s-WebKit))})
|
|
|
|
# Special check for WebKit as it appears as Safari
|
|
# Note: Only supports one running instance of WebKit, picked at random.
|
|
if proclist =~ %r{/Contents/MacOS/Safari.*-WebKit(DeveloperExtras|ScriptDebuggerEnabled)}
|
|
active << "WebKit"
|
|
end
|
|
|
|
# TODO: Change when Leopard Only
|
|
# On Leopard use the -g option to open in background.
|
|
if os =~ /^10\.(5|6)/
|
|
active.each {|p| `open -g -a #{e_sh(p)} #{e_sh(url)}` }
|
|
else
|
|
active.each {|p| `open -a #{e_sh(p)} #{e_sh(url)}` }
|
|
end</string>
|
|
<key>input</key>
|
|
<string>none</string>
|
|
<key>keyEquivalent</key>
|
|
<string>@R</string>
|
|
<key>name</key>
|
|
<string>Run in Browsers</string>
|
|
<key>output</key>
|
|
<string>discard</string>
|
|
<key>scope</key>
|
|
<string>source.js.objj</string>
|
|
<key>uuid</key>
|
|
<string>36FD3695-1051-401E-8536-89FB9CEEEAB4</string>
|
|
</dict>
|
|
</plist>
|