I am running Firefox v10.0.1 with OS X Lion v10.7.3
From the Apple dock, you can right-click on Firefox icon and choose NEW and a new Firefox window will open.
From terminal, I have tried
open -n /Applications/Firefox.app
but it says (assuming Firefox is already open)
A copy of Firefox is already open. Only one copy of Firefox can be open at a time.
How can you open a New Window in Firefox from the Terminal's command line?
Best Answer
You need to use AppleScript for this. The ideal solution would be to use a built-in function from Firefox, but it doesn't offer one – its AppleScript dictionary is very limited. So we have to emulate keyboard shortcuts.
Open up your
~/.bash_profile
and add the following shell function:This will call
osascript
, which executes AppleScript commands, then activate Firefox, and then emulate a ⌘N keypress – but only if it's already running. If not, Firefox will just be opened, so you don't get two new windows. Also, you can exchange"n"
to"t"
to get new tabs, obviously.Save the
~/.bash_profile
file and entersource ~/.bash_profile
to reload it. Then, just call the following function whenever you need a new Firefox window:Of course, feel free to change the function's name.
If you want to be able to pass an URL argument from the command line, see this answer: How to open a new Firefox window with URL argument.
~/.bash_profile
is where all your custom functions should reside. If the file doesn't exist, you can just create it.Shell functions are more powerful than aliases, as for example they allow you to use arguments too. You could theoretically pass the URL of the new window too, and then tell Firefox to open it with the
OpenURL
orGet URL
command – but I haven't tried them.Regarding the syntax used: The
<<-EOF
is a here document, making it easier to pass multi-line input toosascript
. The input will be parsed until theEOF
marker appears again.