4

I'm currently using this simple command to open web sites from the command line:

open http://example.com

but when I open two, even doing

open http://example.com http://example.org

they open in separate Safari windows. How can I open them in the same window as two tabs without changing Safari's settings in any way?

2
  • I just set my safari setting to open new link in same windows and don't have your problem, I think this way is more easier than other
    – Am1rr3zA
    Nov 8, 2009 at 19:36
  • Agreed, it's definitely easier to change the Safari preference. I'd also imagine that you want similar behavior when clicking on links, too. Nov 8, 2009 at 23:55

2 Answers 2

5

Here's how to change Safari's general settings to open new URLs in new tabs: Make Safari open new links in existing windows as a tab, rather than a new window

I don't know if there's a way to do it by specifying an option at the command line.

EDIT: If you'd rather not change your Safari preferences for some reason but still want to be able to open new URLs in tabs from the command line, you could create an AppleScript like this:

-- ~/Library/Scripts/newtab.scpt (or whatever name you'd like)
-- _argv will be the URLs given at the command line
on run _argv
    try
        tell application "Safari" to activate

        --repeat for each URL
        repeat with _i from 1 to length of _argv
            -- Copy URL to clipboard
            tell application "Safari" to set the clipboard to item _i of _argv

            -- Tell Safari to open a new tab, paste the URL, and "hit" Return
            tell application "System Events"
                tell process "Safari"
                    tell menu bar 1 to click menu item "New Tab" of menu "File" of menu bar item "File"
                    tell menu bar 1 to click menu item "Open Location…" of menu "File" of menu bar item "File"
                    tell menu bar 1 to click menu item "Paste" of menu "Edit" of menu bar item "Edit"
                    key code 36
                end tell
            end tell
        end repeat
    end try
end run

and define an alias (or shell function, or shell script, or whatever) like this:

alias openurl="osascript ${HOME}/Library/Scripts/newtab.scpt"

and then use it like this:

openurl superuser.com stackoverflow.com serverfault.com

It's kind of ugly, but it should get the job done. I think. Unless you're really smitten with open.

1
  • 1
    I can confirm, I have that option activated and when doing open http://www.google.com http://www.google.fr it opens the site in one window. Nov 8, 2009 at 12:40
1

Lawrence link is the answer :

Select the option to open in new tabs from Preferences -> General

AND

The most important part :

defaults write com.apple.Safari TargetedClicksCreateTabs -bool true

With both options, when I try open http://example.com http://example.org they both open in the same window in two different tabs.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .