Como fazer o Chrome abrir uma nova janela para links externos

10

Como algumas pessoas devem saber, o comportamento padrão dos links externos do Google Chrome é bastante ruim. Estou usando o Spaces e abro um link em algum aplicativo fora do Google Chrome enquanto estou em um espaço diferente do que a última janela usada do Chrome resulta no Chrome alternando para a última janela focada.

Esse comportamento é apenas ruim.

Eu quero mudar esse comportamento. No Windows, isso é possível: como você pode configurar o Chrome para abrir novas instâncias do navegador em novas janelas e não em uma guia?

Infelizmente, acho que isso não é possível no OS X Snow Leopard.

Eu já estou usando uma ferramenta chamada RCDefaultApps. Este é um painel de controle do sistema onde posso especificar aplicativos padrão para diferentes protocolos. Falta apenas o recurso para especificar argumentos de linha de comando adicionais para o aplicativo padrão.

Alguém pode me ajudar lá? Todos os hacks (além de criar uma compilação personalizada do Chromium) são aceitáveis.

jsadfeew
fonte

Respostas:

9

Você pode tentar usar o AppleScript encontrado nesta página .

Acabei de experimentar e funciona perfeitamente no Chrome 12.0.742.122.

É extremamente fácil de configurar:

  • faça o download do arquivo do pacote
  • clique duas vezes para descompactá-lo
  • clique duas vezes em OpenUrlInNewChromeWindow
  • abra o Safari e defina o novo "Navegador" como o navegador padrão nas Preferências.

novo navegador padrão

mwidmann
fonte
Isso parece introduzir um atraso (muito curto) antes de abrir a janela, mas é exatamente o que eu estava procurando. Obrigado!
Jsadfeew 02/08
Este AppleScript funciona maravilhosamente.
Nelson Nelson
3

Começando pela resposta de Dave, descobri que no Chrome 45, a execução osascriptnão é mais necessária e que no OS X 10.10, o Apple Script não é selecionável nas preferências do sistema. Aqui está como eu resolvi isso.

Crie um Apple Script usando o editor Apple Script e exporte-o como um aplicativo.

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

Instale o aplicativo padrão do RC .

RCDefaultApp é um painel de preferências do Mac OS X 10.2 ou superior que permite ao usuário definir o aplicativo padrão usado para vários esquemas de URL, extensões de arquivo, tipos de arquivo, tipos MIME e identificadores uniformes de tipo

Nas preferências do sistema, abra a nova tela de aplicativos padrão, vá para a guia URL e defina o script Apple exportado como manipulador para http e https .

Michael Schmid
fonte
Muito obrigado. Esta é a única solução que funcionou para mim, isso me deixa louco há anos.
precisa saber é o seguinte
2

Também não fui capaz de fazê-lo funcionar.

O que eu estava tentando fazer era usar o seguinte comando:

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

Mas isso abre um novo Chrome que fecha instantaneamente (se o Chrome já estiver aberto). Eu estava pensando em incluir o comando acima em um script bash e depois deixá-lo com argumentos (para a URL).

Mas como o comando acima falhou, ainda estou pensando nisso. Até agora, acredito que não é "possível" sem algumas modificações no Chromium, mas posso estar ignorando alguma coisa. É cedo e eu ainda não tomei café. ;)

Martin Marconcini
fonte
Sim, eu tentei isso também. (com " google.com " em vez de "Google Chrome.app") Ambas as versões não funcionam.
Jsadfeew #
2

Isso funciona no Mavericks:

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

Seguido por:

osascript -e 'activate application "Google Chrome"'

Testado em sh, bash e zsh.

Por alguma razão, se eu tentar colocá-los na mesma linha da seguinte forma:

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

... a segunda parte não está completa. Suponho que seja porque está muito próximo do primeiro comando. Então tente o seguinte:

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

Observe que você não precisa especificar a parte http: // da URL no final para que ela funcione, mas, se o fizer, precisará escapar dos dois pontos (:).

Para tornar esse script meu navegador padrão, criei um AppleScript e exportei-o como um aplicativo, abri o Safari Preferences e defina o aplicativo como meu navegador padrão. Aqui está o código da Applescript:

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

Substitua [myusername] pelo seu nome de usuário real.

Dave
fonte
O motivo pelo qual prefiro essa solução à de mwidmann é que ela será fechada após a abertura do URL, enquanto a outra parecia precisar permanecer aberta para funcionar. Isso significava que o OpenUrlInNewChromeWindow estava sempre na lista de aplicativos em execução do CMD-Tab e toda vez que eu abria um URL, era necessário tabular duas vezes para voltar ao aplicativo anterior.
Dave
Posso confirmar que o uso do RCDefaultApp por Michael Schmid também funciona no OSX El Capitan (10.11.1).
Dave
-1

A opção de comando --new-window fez isso por mim. ("C: \ Arquivos de programas (x86) \ Google \ Chrome \ Application \ chrome.exe" - nova janela https://www.google.com )

user67297
fonte
2
Isto é para Windows - edite para se referir ao OS X.
grg