Comment faire pour ouvrir une nouvelle fenêtre Chrome pour les liens externes

10

Comme certaines personnes le savent, le comportement par défaut des liens externes de Google Chrome est assez mauvais. J'utilise des espaces et j'ouvre un lien dans une application en dehors de Google Chrome tout en étant sur un espace différent de la dernière fenêtre de Chrome utilisée, Chrome passe à la dernière fenêtre ciblée.

Ce comportement est tout simplement mauvais.

Je veux changer ce comportement. Sous Windows, cela est possible: comment configurer Chrome pour ouvrir de nouvelles instances de navigateur dans de nouvelles fenêtres plutôt que dans un onglet?

Malheureusement, je ne pense pas que ce soit possible sur OS X Snow Leopard.

J'utilise déjà un outil appelé RCDefaultApps. Il s'agit d'un panneau de contrôle du système où je peux spécifier des applications par défaut pour différents protocoles. Il manque juste la fonctionnalité pour spécifier des arguments de ligne de commande supplémentaires pour l'application par défaut.

Quelqu'un peut-il m'aider là-bas? Tous les hacks (à part la création d'une version personnalisée de Chromium) sont acceptables.

jsadfeew
la source

Réponses:

9

Vous pouvez essayer d'utiliser l'AppleScript trouvé sur cette page .

Je viens de l'essayer et cela fonctionne parfaitement dans Chrome 12.0.742.122.

La configuration est extrêmement simple:

  • télécharger l' archive Bundle
  • double-cliquez dessus pour le déballer
  • double-cliquez sur OpenUrlInNewChromeWindow
  • ouvrez Safari et définissez le nouveau "Navigateur" comme navigateur par défaut dans les Préférences.

nouveau navigateur par défaut

mwidmann
la source
Cela semble introduire un délai (très court) avant d'ouvrir la fenêtre, mais c'est exactement ce que je cherchais. Merci!
jsadfeew
Cet applescript fonctionne à merveille.
Nelson
3

À partir de la réponse de Dave, j'ai constaté qu'avec Chrome 45, l'exécution osascriptn'est plus nécessaire et qu'avec OS X 10.10, le script Apple n'est pas sélectionnable dans les préférences système. Voici comment je l'ai résolu.

Créez un script Apple à l'aide de l'éditeur de script Apple et exportez-le en tant qu'application.

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

Installez l' application RC par défaut .

RCDefaultApp est un volet de préférences Mac OS X 10.2 ou supérieur qui permet à un utilisateur de définir l'application par défaut utilisée pour divers schémas d'URL, extensions de fichier, types de fichier, types MIME et identificateurs de type uniforme

Dans les préférences système, ouvrez le nouvel écran des applications par défaut, accédez à l'onglet URL et définissez le script Apple exporté comme gestionnaire pour http et https .

Michael Schmid
la source
Merci beaucoup. C'est la seule solution qui a fonctionné pour moi, cela me rend dingue depuis des années.
Luke Dubert
2

Je n'ai pas pu le faire fonctionner aussi.

Ce que j'essayais de faire était d'utiliser la commande suivante:

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

Mais cela ouvre un nouveau Chrome qui se ferme instantanément (si Chrome est déjà ouvert). J'avais l'intention d'envelopper la commande ci-dessus dans un script bash, puis de lui laisser des arguments (pour l'URL).

Mais comme la commande ci-dessus n'a pas fonctionné, j'y pense toujours. Jusqu'à présent, je pense que ce n'est pas "possible" sans une certaine modification de Chromium, mais je pourrais oublier quelque chose. Il est tôt et je n'ai pas encore pris de café. ;)

Martin Marconcini
la source
Ouais, j'ai essayé ça aussi. (avec " google.com " au lieu de "Google Chrome.app") Les deux versions ne fonctionnent pas.
jsadfeew
2

Cela fonctionne sur Mavericks:

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

suivi par:

osascript -e 'activate application "Google Chrome"'

Testé en sh, bash et zsh.

Pour une raison quelconque, si j'essaie de les mettre sur la même ligne comme ceci:

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

... la deuxième partie n'est pas terminée. Je suppose que c'est parce qu'il est trop proche de la première commande. Essayez donc ceci:

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

Notez que vous n'avez pas besoin de spécifier la partie http: // à la fin de l'url pour que cela fonctionne, mais si vous le faites, vous devez échapper les deux points (:).

Pour faire de ce script mon navigateur par défaut, j'ai créé un script Apple et je l'ai exporté en tant qu'application, puis j'ai ouvert les préférences de Safari et défini l'application comme mon navigateur par défaut. Voici le code Applescript:

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

Remplacez [mon nom d'utilisateur] par votre nom d'utilisateur réel.

Dave
la source
La raison pour laquelle je préfère cette solution à celle de mwidmann est que celle-ci se fermera après l'ouverture de l'URL, tandis que l'autre semblait devoir rester ouverte pour fonctionner. Cela signifiait que OpenUrlInNewChromeWindow était toujours dans la liste CMD-Tab des applications en cours d'exécution, et chaque fois que j'ouvrais une URL, je devais tabuler deux fois pour revenir à l'application précédente.
Dave
Je peux confirmer que l'utilisation de RCDefaultApp par Michael Schmid fonctionne également sur OSX El Capitan (10.11.1).
Dave
-1

L'option de commande --new-window l'a fait pour moi. ("C: \ Program Files (x86) \ Google \ Chrome \ Application \ chrome.exe" - nouvelle fenêtre https://www.google.com )

user67297
la source
2
Ceci est pour Windows - veuillez modifier pour vous référer à OS X.
grg