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

10

Como algunas personas pueden saber, el comportamiento predeterminado para 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 ventanas nuevas 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.

jsadfeew
fuente

Respuestas:

9

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

Acabo de probarlo y funciona perfectamente bien en Chrome 12.0.742.122.

Es extremadamente fácil de configurar:

  • descargue el archivo Bundle
  • haga doble clic para descomprimirlo
  • haga doble clic en OpenUrlInNewChromeWindow
  • abra Safari y configure el nuevo "Navegador" como el navegador predeterminado en las Preferencias.

nuevo navegador predeterminado

mwidmann
fuente
Esto parece introducir un retraso (muy corto) antes de abrir la ventana, pero es exactamente lo que estaba buscando. ¡Gracias!
jsadfeew
Este applecript funciona de maravilla.
Nelson
3

Comenzando con la respuesta de Dave, descubrí que con Chrome 45, la ejecución osascriptya no es necesaria, 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 .

Michael Schmid
fuente
Muchas gracias. Esta es la única solución que funcionó para mí, esto me ha estado volviendo loco durante años.
Luke Dubert el
2

No he podido hacer que funcione también.

Lo que intentaba 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 dado que el comando anterior no funcionó, todavía estoy pensando en esto. Hasta ahora, creo que no es "posible" sin alguna modificación a Chromium, pero podría pasar por alto algo. Es temprano y todavía no he tomado café. ;)

Martin Marconcini
fuente
Sí, lo intenté también. (con " google.com " en lugar de "Google Chrome.app") Ambas versiones no funcionan.
jsadfeew
2

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. Entonces 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 que este script sea mi navegador predeterminado, creé un applecript y lo exporté como una aplicación y luego abrí las 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.

Dave
fuente
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 parecía necesitar permanecer abierta para funcionar. Esto significaba que OpenUrlInNewChromeWindow siempre estaba en la lista CMD-Tab de aplicaciones en ejecución, y cada vez que abría una URL, tenía que presionar dos veces para volver a la aplicación anterior.
Dave
Puedo confirmar que el uso de RCDefaultApp por Michael Schmid también funciona en OSX El Capitan (10.11.1).
Dave
-1

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 )

usuario67297
fuente
2
Esto es para Windows - edite para referirse a OS X.
grg