Cómo hacer que Chrome abra una nueva ventana para enlaces externos

Como algunas personas sabrán, el comportamiento predeterminado de los enlaces externos de Google Chrome es bastante malo. Estoy usando espacios, y al abrir un enlace en alguna aplicación fuera de Google Chrome mientras estoy en un espacio diferente al de la última ventana utilizada de Chrome, Chrome cambia a la última ventana enfocada.

Este comportamiento es simplemente malo.

Quiero cambiar este comportamiento. En Windows, esto es posible: ¿Cómo puede configurar Chrome para abrir nuevas instancias del navegador en nuevas ventanas en lugar de en una pestaña?

Lamentablemente, no creo que esto sea posible en OS X Snow Leopard.

Ya estoy usando una herramienta llamada RCDefaultApps. Este es un panel de control del sistema donde puedo especificar aplicaciones predeterminadas para diferentes protocolos. Simplemente carece de la función para especificar argumentos de línea de comando adicionales para la aplicación predeterminada.

¿Alguien puede ayudarme allí? Todos los hacks (aparte de crear una compilación personalizada de Chromium) son aceptables.

Respuestas (6)

Puede intentar usar el AppleScript que se encuentra en esta página .

Lo acabo de probar y funciona perfectamente en Chrome 12.0.742.122.

Es extremadamente fácil de configurar:

  • descargar el archivo del paquete
  • haga doble clic para descomprimirlo
  • haga doble clic enOpenUrlInNewChromeWindow
  • abra Safari y configure el nuevo "Navegador" como el navegador predeterminado en las Preferencias.

nuevo navegador predeterminado

Esto parece introducir un retraso (muy breve) antes de abrir la ventana, pero es exactamente lo que estaba buscando. ¡Gracias!
Este applescript funciona maravillosamente.

Comenzando con la respuesta de Dave, descubrí que con Chrome 45, osascriptya no es necesario ejecutar, y que con OS X 10.10, Apple Script no se puede seleccionar en las preferencias del sistema. Así es como lo resolví.

Cree un Apple Script con el editor de Apple Script y expórtelo como una aplicación.

on open location theURL
   do shell script "/usr/bin/open '/Applications/Google Chrome.app' --new --args --new-window " & theURL
end open location

Instale la aplicación predeterminada de RC .

RCDefaultApp es un panel de preferencias de Mac OS X 10.2 o superior que permite al usuario configurar la aplicación predeterminada utilizada para varios esquemas de URL, extensiones de archivo, tipos de archivo, tipos MIME e identificadores de tipo uniforme

En las preferencias del sistema, abra la nueva pantalla de aplicaciones predeterminadas, vaya a la pestaña URL y configure el script de Apple exportado como controlador para http y https .

Muchas gracias. Esta es la única solución que funcionó para mí, esto me ha estado volviendo loco durante años.
Creo que RCDefaultApp ya no existe. Su sucesor aparentemente es Lord-Kamina/SwiftDefaultApps . Tome e instale el panel de preferencias, SwiftDefaultApps.prefpane, de la versión actual. Luego asigne su aplicación AppleScript para que sea el navegador predeterminado. Esto funcionó para mí.
Gracias. ¿Es posible deshabilitar la nueva ventana si, por ejemplo, mantiene presionada la Shifttecla?

Yo tampoco he podido hacerlo funcionar.

Lo que estaba tratando de hacer era usar el siguiente comando:

open Google\ Chrome.app/ --new --args new-window www.google.com

Pero eso abre un nuevo Chrome que se cierra instantáneamente (si Chrome ya está abierto). Estaba planeando envolver el comando anterior dentro de un script bash y luego dejar que tenga argumentos (para la URL).

Pero como el comando anterior no funcionó, todavía estoy pensando en esto. Hasta ahora, creo que no es "posible" sin alguna modificación en Chromium, pero podría estar pasando por alto algo. Es temprano y todavía no he tomado café. ;)

Sí, yo también probé eso. (con " google.com " en lugar de "Google Chrome.app") Ambas versiones no funcionan.

Esto funciona en Mavericks:

open /Applications/Google\ Chrome.app --new --args --new-window https\://www.google.ca

seguido por:

osascript -e 'activate application "Google Chrome"'

Probado en sh, bash y zsh.

Por alguna razón, si trato de ponerlos en la misma línea así:

/usr/bin/open /Applications/Google\ Chrome.app --new --args --new-window www.google.ca; /usr/bin/osascript -e 'activate application "Google Chrome"'

...la segunda parte no se completa. Supongo que es porque está demasiado cerca del primer comando. Así que prueba esto:

/usr/bin/open /Applications/Google\ Chrome.app --new --args --new-window www.google.ca; sleep 1; /usr/bin/osascript -e 'activate application "Google Chrome"'

Tenga en cuenta que no necesita especificar la parte http:// de la URL al final para que funcione, pero si lo hace, debe escapar de los dos puntos (:).

Para hacer de este script mi ​​navegador predeterminado, creé un applescript y lo exporté como una aplicación y luego abrí Preferencias de Safari y configuré la aplicación como mi navegador predeterminado. Aquí está el código Applescript:

on open location theURL
  do shell script "/Users/[myusername]/bin/openUrlInNewChromeWindow.sh " & theURL
end open location

Reemplace [myusername] con su nombre de usuario real.

La razón por la que prefiero esta solución a la de mwidmann es que esta se cerrará después de abrir la URL, mientras que la otra parece necesitar permanecer abierta para poder funcionar. Esto significaba que OpenUrlInNewChromeWindow siempre estaba en la lista de aplicaciones en ejecución de CMD-Tab, y cada vez que abría una URL, tenía que tabular dos veces para volver a la aplicación anterior.
Puedo confirmar que el uso de RCDefaultApp por Michael Schmid también funciona en OSX El Capitan (10.11.1).

Adición de seguridad a las otras respuestas [1]

Se debe citar la URL por razones de seguridad y porque puede contener caracteres especiales que deben escaparse cuando se usan como una cadena en bash (por ejemplo, '&' y '$').

De lo contrario, la URL abierta podría ser incorrecta y una URL creada con fines malintencionados podría incluso ejecutar un comando arbitrario en su máquina . Probado en macOS Catalina (10.15) y versiones anteriores.

Para ponerlo todo junto, el script actualizado debería verse así:

on open location theURL
    do shell script ("open -a 'Google Chrome' --new --args --new-window " & "'" & theURL & "'")
end open location

O si prefiere sus comandos con la ruta completa (como en el caso de Michael):

on open location theURL
   do shell script "/usr/bin/open '/Applications/Google Chrome.app' --new --args --new-window " & "'" & theURL & "'"
end open location

La parte importante en ambos scripts son las comillas alrededor de la URL al final de la línea central.

[1]: Habría comentado la respuesta de los demás pero no tengo la reputación requerida, así que hice una nueva respuesta.

La opción de comando --new-window lo hizo por mí. ("C:\Archivos de programa (x86)\Google\Chrome\Application\chrome.exe" --ventana nueva https://www.google.com )

Esto es para Windows; edite para referirse a OS X.