Como posso adicionar um novo aplicativo ao menu Abrir com?

52

Como posso adicionar um aplicativo ao menu Abrir com (mostrado após clicar com o botão direito do mouse) para um determinado tipo de arquivo, sem tornar esse arquivo sempre aberto com esse aplicativo?

Nesse caso específico, eu gostaria da opção de abrir um arquivo de localização do site (.URL) com o TextEdit, embora o padrão seja o Safari.

Estou executando o OS 10.7.4.

KatieK
fonte
3
Se o programa puder abri-lo, ele será adicionado a esse menu. Caso contrário, significa que não pode abri-lo.
Anriëtte Myburgh
12
Parece que isso nem sempre é verdade. O TextEdit pode abrir URLs, mas não está no submenu "Abrir com".
KatieK

Respostas:

25
  1. Adicione isso à matriz CFBundleDocumentTypes em /Applications/TextEdit.app/Contents/Info.plist:

    <dict>
        <key>CFBundleTypeExtensions</key>
        <array>
            <string>url</string>
        </array>
    </dict>
    
  2. /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -f /Applications/TextEdit.app/

  3. killall Finder
  4. Altere o aplicativo padrão novamente para o Safari no Finder

Se o aplicativo estiver assinado, a modificação de um Info.plist invalida a assinatura do código . Ele também faz alguns aplicativos como o TextEdit e o WriteRoom travarem no lançamento no 10.8.

Lri
fonte
11
Talvez seja apenas o meu computador, mas isso não funciona para mim. Após seguir este procedimento (na etapa 3), o TextEdit não estará disponível em "Abrir com" para arquivos .URL. Além disso, a modificação do Info.plist parece causar o travamento do TextEdit na 10.7 também.
KatieK
11
Existe uma maneira de tornar isso mais geral? Por exemplo, eu quero o meu editor hexadecimal (atualmente HexFiend) como uma opção para abrir cada tipo de arquivo maldito incluindo aqueles que não têm uma extensão de arquivo ...
Steven Lu
@StevenLu: criei um atalho do Finder no BetterTouchTool para abrir o arquivo atualmente selecionado no HexFiend.
biziclop
11

Tente selecionar o arquivo no Finder e execute Arquivo> Obter informações. A partir daí, você poderá escolher qualquer aplicativo para abri-lo. Depois de abrir esse tipo de arquivo no aplicativo uma vez, ele deve começar a aparecer no menu Abrir com.

EDIT: A resposta acima não funciona. Sugestão alternativa:

Eu me senti mal por minha resposta anterior estar incorreta, então procurei no Google. Encontrei esta dica no Mac OS X Hints:

  • Clique com a tecla Control pressionada (ou clique com o botão direito do mouse) no aplicativo em questão e selecione "Mostrar conteúdo do pacote"
  • Abra a pasta Conteúdo no pacote de aplicativos. Lá você encontrará um arquivo chamado Info.plist. Esta é uma lista de propriedades XML que armazena todos os tipos de informações sobre o aplicativo.
  • Abra o arquivo com seu editor de texto favorito. Eu recomendo o Hydra, mas o TextEdit funcionará perfeitamente.
  • Procure algo parecido com o seguinte:

    <key>CFBundleTypeExtensions</key>
    <array>
        <string>txt</string>
        <string>srt</string>
        <string>suffix1</string>
        <string>suffix2</string>
        …
    

    e assim por diante, com o suficiente, o aplicativo pode abrir contido nas tags. Então você simplesmente exclui [ ou adiciona --newtron ] o sufixo para itens que não deseja [ ou deseja ] que o aplicativo abra.

  • Salve o arquivo e feche-o (ou saia do editor).

newtron
fonte
Isso parece não funcionar. Em "Obter informações", posso "Abrir com" os mesmos aplicativos normais ou escolher "Outros". Se eu escolher "Outro", posso escolher entre todos os aplicativos e marcar ou desmarcar "Sempre abrir com". Mesmo depois de abrir o arquivo uma vez com o TextEditor, ele não aparece como uma opção adicional no submenu "Abrir com".
KatieK
Atire, você está certo. Vou editar a resposta para refletir isso e atualizá-la com uma sugestão alternativa.
newtron
Esta resposta atualizada não funciona sozinha, mesmo após uma reinicialização.
KatieK
Acho que este método trabalhou em leopardo da neve .. superuser.com/questions/222065/...
Ryan Hollingsworth
8

A segunda solução da newtron funcionou para mim, mas somente depois que abri o Terminal e executei o seguinte comando:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user

Depois de reiniciar o sistema, o aplicativo desejado estava no meu menu de contexto "aberto com".

obrigado

Joseph
fonte
Isso também é útil se você deseja limpar a lista e começar de novo. por exemplo, o VMWare Fusion colocou entradas de alguma forma que ficaram órfãs quando a VM correspondente foi excluída. Usando este limpado as entradas incorretas
ferdil
5

Em vez de abrir o arquivo com o menu de contexto, você também pode arrastar qualquer arquivo para qualquer aplicativo desejado enquanto pressiona as teclas + . Isso forçará qualquer aplicativo a tentar, mesmo que ache que não pode fazê-lo. Eu uso isso o tempo todo.

myhd
fonte
3

Você pode adicionar a opção como um serviço com o Automator e, em seguida, acioná-la com uma tecla de atalho do Keyboard Maestro.

  1. Abra Automatore selecione o Servicetipo de documento.
  2. Selecione Files and Foldersno Service receives selectedmenu superior
  3. Procure e selecione a Open Finder Itemsação.
  4. Agora, selecione TextEditnaOpen with:
  5. Salve o serviço com o nome que deseja ver nos menus

Agora você pode encontrar isso por:

  • Clique com o botão direito do mouse no arquivo> Serviços

insira a descrição da imagem aqui

OU

  • Menu Finder> Serviços (com um arquivo selecionado)

insira a descrição da imagem aqui

Mas você não precisa parar por aí!

Em seguida, criei uma macro Keyboard Maestro para que eu possa usar uma tecla de atalho: insira a descrição da imagem aqui

Eu recebi essa ideia deste site: http://www.mactricksandtips.com/2013/05/add-open-with-textedit-or-any-other-app-to-right-click-menu-item.html

kraftydevil
fonte
Esta é uma ótima maneira de fazer isso, muito obrigado !!
Lucas P.
Eu uso o serviço o tempo todo, mas esqueci que fiz uma macro para fazer isso. Nada como redescobrir uma macro!
Kraftydevil 7/11
Eu nunca usei Automator antes (ou sabia o que ele faz), você acabou de abrir um novo mundo em OSX para mim :)
Lucas P.
0

Um acompanhamento da solução da newtron:

Lá você encontrará um arquivo chamado Info.plist. Esta é uma lista de propriedades XML que armazena todos os tipos de informações sobre o aplicativo. Abra o arquivo com seu editor de texto favorito. Eu recomendo o Hydra, mas o TextEdit funcionará perfeitamente.

Salve o arquivo e feche-o (ou saia do editor).

Você não pode salvar o .plist editado se sua conta não tiver as permissões corretas (problema com o qual estou lidando agora - mesmo no status de administrador, você não terá permissões de leitura e gravação em alguns arquivos e pastas .. .). Para salvar as alterações nos arquivos .plist, você precisa conceder ao usuário permissões de leitura + gravação.

Alguns aplicativos padrão do Mac dificultam a execução, e atualmente estou procurando uma solução (será atualizada) para fazer isso com o TextEdit.

Montag
fonte
0

Isso funcionou para mim: clique com o botão direito do mouse no aplicativo e vá para o conteúdo e abra /Applications/*****.app/Contents/Info.plist

Abra o Plist no Xcode como SourceCode e, em seguida, coloque este:

        <dict>
            <key>CFBundleTypeExtensions</key>
            <array>
                <string>jpeg</string>
                <string>jpg</string>
                <string>png</string>
                <string>gif</string>
            </array>
            <key>CFBundleTypeIconFile</key>
            <string>AutomatorApplet.icns</string>
            <key>CFBundleTypeName</key>
            <string>AutomatorApplet.icns</string>
            <key>CFBundleTypeOSTypes</key>
            <array>
                <string>GIFf</string>
                <string>JPEG</string>
                <string>PNGf</string>
            </array>
            <key>CFBundleTypeRole</key>
            <string>Viewer</string>
        </dict>

Eu tinha 'AutomatorApplet.icns' na pasta Recursos.

Xeieshan
fonte
Adicione o que você tentou alcançar adicionando a entrada dict. Como sua resposta está agora, ela não usa o exemplo (.url) fornecido na pergunta.
klanomath
-3

Confira o tech-recipes.com para obter instruções detalhadas. Como apontou @ Anriëtte, o aplicativo deve aparecer no menu Abrir com, se conseguir abrir o arquivo específico.

carmático
fonte
Isso não funciona para mim, porque não quero alterar o aplicativo padrão que abre o arquivo. Eu só quero uma escolha adicional.
KatieK