On Thu, 3 Mar 2005 20:25:46 +0100, Allan Odgaard allan@macromates.com wrote:
On Mar 3, 2005, at 20:19, Nednieuws wrote:
TextMate already has such a command for Safari, although it just reloads, it doesn't ask. I just extended the command to favor OmniWeb, if that browser is already running.
I envision a configuration option for browser preference (maybe primary and secondary) and Cmd-R/Cmd-Opt-R :).
Well, having it check which of the browsers are running and just use the one which is, is probably desired in 99% of the cases (I have an aversion toward different hot keys and settings).
I guess the script could be smarter and detect when multiple browsers are running. present a dialog where the user could choose, and even make that choice sticky (see the recent get_doc_path.sh script I added to the repository for an example of how to have bundle items manage settings).
On 04.03.2005, at 00:07, Tijs wrote:
I'm a bit new to the OS X platform (already i can't do without textmate!) but shouldn't it be possible to detect the default browser and refresh that. After i picked a different default browser, Firefox in my case, some apps seem to notice and open firefox instead of safari when a browser is needed (netnewswire for instance).
It's not that easy.
From an AppleScript perspective, you can open a web page in the default browser with this command:
open location "http://www.example.com/"
However, opening a web page is the only thing you can instruct the default web browser to do with a simple generic command. Anything more complicated than that and you have to specifically script a particular browser, according to the interfaces made available in its AppleScript dictionary.
Looking at the AppleScript dictionary for Safari, the only way there appears to be to reload a window would be by sending it JavaScript commands, and I can't get that to work right now. Firefox has practically no AppleScript support whatsoever. OmniWeb does appear to have a reload command in its AppleScript dictionary. I haven't checked the other browsers.
Bypassing the AppleScript dictionary, one could instead script the application by telling to directly choose menu commands from the menubar. This requires some system-wide preference to be enabled, and I forget what it's called or where to find it.
In any case, you would have to have code that determines what the current browser is, and then have a special case for each browser you want to support in which you send it the correct AppleScript or menu commands to do a reload.
As you see it is a somewhat involved exercise.