Force Chrome to open new pages in new window, not tab? (when opened from a program)

48

14

Whenever I click a link from something like outlook or a program opens a web page (not when I click a link from within chrome). It opens up in Chrome since it is my default browser but if I already have a page open it will open in a new tab on that same window. I can't tell you how many times I forget about this and close the window out, accidentally losing the other tab too. Ofcourse, I can open a new chrome window and find it under recently closed tabs but I would really just prefer if they opened in their own window so I can prevent this.

JD Isaacks

Posted 2010-07-22T13:32:50.797

Reputation: 7 224

Answers

28

Problem

For Linux, if you have multiple VNC servers, this same problem will occur.
That is,

$ google-chrome
Created new window in existing browser session

And no google chrome window will appear in the current X VNC session (a new tab will appear in the X session with the first instance of google-chrome).

Solution

A simple workaround is to run

$ google-chrome "--user-data-dir=${HOME}/.google-chrome/session${DISPLAY}"

This sets a unique user directory based on the X VNC instance in use. The user directory will be created as needed. The new google-chrome process will display within the current X VNC session.

Tested using Google Chrome version 22 on Ubuntu 12.04.

JamesThomasMoon1979

Posted 2010-07-22T13:32:50.797

Reputation: 479

2google-chrome --new-window did it for me. – Nikana Reklawyks – 2017-01-23T03:06:49.177

Thanks @NikanaReklawyks . Looks like --new-window was in the source as of 2013 so I may have missed that. It was a long time ago.

– JamesThomasMoon1979 – 2019-01-09T00:51:21.240

6This is one of the most important bodies of text on the internet. I salute you. – Jonathan Feinberg – 2013-11-22T16:11:19.757

13

There doesn't appear to be a user-friendly option to change this inside Chrome (presumably because most people prefer the new tab).

However, you can change this manually by editing the command specified in your Windows registry used to open an http url.

To do this, open regedit and:

  1. Go to HKEY_CLASSES_ROOT\http\shell\open\command
  2. You should see one key, named (Default). Double click this to get an editing popup.
  3. At the end of the Value data: field you should see the text -- "%1". Change this to --new-window "%1".

That will instruct Windows to open all http links in a new window of Chrome instead of a new tab.

Presumably, the same general idea is true for Mac and Linux, but I don't know offhand where they store the command to open urls.

Cerin

Posted 2010-07-22T13:32:50.797

Reputation: 6 081

@Qtax: You could lock down permissions on the key to prevent it from being changed. If Chrome doesn't like that, you could also use a scheduled task to periodically set it. – rkagerer – 2014-07-21T11:06:57.797

I did this (had to spend about 10 minutes finding EVERY place chrome exists in the registry) and had it all fixed, and then the next day it went back to the default behavior. – Eli – 2015-01-27T01:09:55.030

When I double click default the pop has a field called Value Data it is empty. Should I just add --new-window or --new-window "%1" Also I am using Win7 if it matters. – JD Isaacks – 2010-07-22T14:39:47.083

I tested that on Windows XP, and that key is where the default browser command is stored. Not sure if Windows 7 is the same, or you just don't have a default browser selected.

The whole value should look something like: "C:\Documents and Settings\yourusername\Local Settings\Application Data\Google\Chrome\Application\chrome.exe" --new-window "%1" – Cerin – 2010-07-22T16:42:32.860

1Note, if you search the registry for any other keys containing "chrome.exe", and find one with a value containing " -- %1", then adding my change should work. – Cerin – 2010-07-23T13:42:35.913

4

Note that in Windows 10, it's slightly different. This answer informs us that the default browser is pointed from here: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Shell\Associations\URLAssociations\(http|https)\UserChoice

So for Chrome, it says: ProdId=ChromeHTML

From there you can find ChromeHTML here: HKEY_CLASSES_ROOT\ChromeHTML

Under that you can find the shell/open/command, so the full path is: HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command

– Trinition – 2018-02-27T12:53:10.967

2To apply @Trinition's solution without going through the Registry Editor, you can store the following content as 'WebLinks.reg' and execute it. Please verify that the file contains your correct Chrome installation directory. Also, add some newlines in between ;)

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command] @="\"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe\" --new-window \"%1\"" – Igor Akkerman – 2018-12-16T00:18:42.127

Worked like a charm: start chrome.exe --new-window – Connor Albright – 2013-04-26T20:01:17.793

3Is there any good way to "prevent" Chrome from overriding these changes every update? (Which happens relatively frequently.) – Qtax – 2013-08-15T11:03:41.777

9

Mike Hardy posted a solution for Mac OS X. I'm using it in 10.7 Lion and it works fine.

The solution involves a small AppleScript application:

on open location theURL
    tell application "/Applications/Google Chrome.app"
        make new window
        activate
        set URL of active tab of first window to theURL
    end tell
end open location

Setting this application as your default browser will cause external program links to open in a new window in Chrome.

sffc

Posted 2010-07-22T13:32:50.797

Reputation: 327

How / where am I supposed to save this AppleScript application in 10.9.5 Mavericks? I saved the above in [My User] / Library / Application Scripts as an "application", but it did not appear as a browser under Safari's default browser preference. Also, I downloaded the applescript bundle from Mike Hardy's solution, and unzipped it in the same folder. That added the script to the list of browsers, and I chose it, but when I then clicked on a link from an external application, the link did not open.

– Mike Eng – 2015-03-18T21:06:05.813

7

You can use the "New Tab, New Window" extension for this. They way it works is moving the newly created tab quickly to a new window. So there is a bit of redrawing, but it does work pretty well (for me at least).

Note, as @John mentions below, this extension makes the default behavior for all new tabs (even ones created from inside Chrome).

studgeek

Posted 2010-07-22T13:32:50.797

Reputation: 1 805

4this extension is not good... it always opens a new window, even when command-clicking from within chrome itself – John Bachir – 2013-03-15T06:42:33.040

1I actually think that is a good thing (I hate tabs :), but I agree given the question I needed to make that clearer in my answer. I've updated it. – studgeek – 2013-04-11T20:40:48.783

7

In case any Linux users are wondering the same thing, I did this by copying /usr/share/applications/chromium.desktop to ~/.local/share/applications and then editing it as follows:

--- /usr/share/applications/chromium.desktop    2012-08-10 17:02:01.000000000 +0100
+++ /home/sam/.local/share/applications/chromium.desktop    2012-08-23  10:33:21.987359591 +0100
@@ -128,7 +128,7 @@
 Comment[zh_CN]=访问互联网
 Comment[zh_HK]=連線到網際網路
 Comment[zh_TW]=連線到網際網路
-Exec=/usr/bin/chromium %U
+Exec=/usr/bin/chromium --new-window %U
 Terminal=false
 X-MultipleArgs=false
 Type=Application

If you're using the Debian chromium package, and you don't mind setting this as the default for all users on the system, you can instead edit /etc/chromium/default and add --new-window to the CHROMIUM_FLAGS variable.

Sam Morris

Posted 2010-07-22T13:32:50.797

Reputation: 598

Thanks -- I was so tired of being switched to another desktop when I click on the Chrome launcher! I'll just add that you can simply edit the properties for the launcher icon to add in the --new-window option, if you're just looking to change the behavior of the launcher icon. Why isn't the option is documented in the man page??? – AmigoNico – 2014-01-30T14:48:41.183

7

Updated for Windows 7 pro x64 , following Cerin above -

Go to HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command

You should see one key, named (Default). Double click this to get an editing pop-up.

Change the key value from :

["C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -- "%1"]

to

["C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --new-window "%1"]

Philip

Posted 2010-07-22T13:32:50.797

Reputation: 71

Just confirmed this works on Windows 10 in January 2017. – Nelson – 2017-01-29T16:06:20.900

2

the answer by Cerin above is the good one but there is an edit needed: the proposed key to change is not specific to Chrome and varies according to the logged-in user. this is the working solution:

  1. Go to HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command
  2. You should see one key, named (Default). Double click this to get an editing popup.
  3. Change the key value into "C:\Program Files\Google\Chrome\Application\chrome.exe" --new-window "%1".

Michael Bahig

Posted 2010-07-22T13:32:50.797

Reputation: 121

Hi, thanks, this works great. However, either after restarting pc or updating chrome (not sure which) it is set back. Does not bother since I do not do any of those two much too often, but do you have a way to avoid this? The only thing that comes to my mind would create a registry file which would be run on startup. – Ev0oD – 2017-03-30T12:49:30.227

Hi, i am not a regular user of Chrome so I didn't do heavy testing on this solution. However there is a post in the Chrome product forum that suggests you need to change all registry occurencens of chrome to have the new-window switch. find out more there: https://productforums.google.com/forum/#%21msg/chrome/V8blictbYuI/LjN0mAb0AwAJ

– Michael Bahig – 2017-03-31T13:14:02.217

1

This command line option should work for you

chrome --new-window 

Tech Support

Posted 2010-07-22T13:32:50.797

Reputation: 21

This does not answer the "when clicking links in other programs" question per se, but it does answer my particular query, and is the accepted answer of a duplicate question. – Nikana Reklawyks – 2017-01-23T03:05:41.203