Monday, November 08, 2010 at 12:06 AM.
system.verbs.builtins.webBrowser.launchMacBrowser
on launchMacBrowser () { <<Changes <<10/31/07; 8:48:46 AM by DW <<A rock-solid 2007 way to launch a Mac browser, subject to user preferences. Hah! if not defined (user.webbrowser.preferredBrowsers) { user.webbrowser.preferredBrowsers = {"safari", "firefox"}}; on isAppRunningNow (appname) { local (ctapps = sys.countApps (), n); for n = 1 to ctapps { local (nthapp = sys.getNthApp (n)); if string.lower (nthapp) contains string.lower (appname) { <<msg (nthapp) return (true)}}; return (false)}; bundle { //if any browsers are running now, don't bother launching local (appname); for appname in user.webbrowser.preferredBrowsers { if isAppRunningNow (appname) { return (true)}}}; bundle { //try to find an app in the Applications folder and launch it local (appname, f, fname); local (appsfolder = file.getspecialfolderpath ("", "Applications", false)); for appname in user.webbrowser.preferredBrowsers { fileloop (f in appsfolder) { fname = file.filefrompath (f); if string.lower (fname) contains string.lower (appname) { <<msg (f) launch.application (f); return (true)}}}}; return (false)}; bundle { //test code launchMacBrowser ()}
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.