Como definir um ícone para um tipo de arquivo no Mac?

38

Como definir um ícone para alguns tipos de arquivos que o sistema inteiro ?

Por exemplo, tenho arquivos de texto que terminam com extensão .scala e quero associar um ícone para esses arquivos por todo o sistema e por qualquer arquivo recém-criado dessa extensão.

Obrigado.

    
por Chiron 20.08.2010 / 15:32

3 respostas

38

Ícones para tipos de arquivo são tratados pelo Launch Services (o serviço que determina, entre outras coisas, qual aplicativo lida com um tipo de arquivo). O ícone do arquivo é sempre fornecido pelo aplicativo, abrindo um arquivo por padrão. Desta forma, e. A visualização fornece ícones de PDF por padrão e ícones PNG, mas se você alterar todos os arquivos PNG para abrir usando o Pixelmator, esses arquivos receberão um ícone do estilo Pixelmator posteriormente.

O que você precisa fazer é adicionar sua definição de tipo de arquivo ao aplicativo que o abre por padrão ou criar seu próprio aplicativo "fictício" para o tipo de arquivo .

Por exemplo, meu sistema ainda não sabe sobre .scala e quero que TextMate cuide disso.

Primeiro, Mostrar conteúdo do pacote de TextMate.app , navegue até Contents/ e abra Info.plist , com um editor de texto ou Property List Editor , parte das ferramentas de desenvolvedor da Apple. / p>

O TextMate usa um formato incomum para Info.plist (geralmente é binário ou XML), um trecho que se parece com isso:

CFBundleDocumentTypes = (
    {   CFBundleTypeName = "ADA source";
        CFBundleTypeExtensions = (adb, ads); 
        CFBundleTypeIconFile = ADA; 
    },

A chave pai CFBundleDocumentTypes é o que queremos. O primeiro elemento filho dele, entre chaves, contém uma definição de tipo de arquivo, completa com nome (para coluna de tipo de arquivo no Finder), extensões de arquivo e o nome do arquivo de ícone ( ADA for TextMate.app/Contents/Resources/ADA.icns ).

Para suportar .scala , precisamos adicionar um elemento semelhante ao acima, sob o mesmo elemento pai CFBundleDocumentTypes :

CFBundleDocumentTypes = (
    {   CFBundleTypeName = "ADA source";
        CFBundleTypeExtensions = (adb, ads); 
        CFBundleTypeIconFile = ADA; 
    },
    {   CFBundleTypeName = "Scala source";
        CFBundleTypeExtensions = (scala); 
        CFBundleTypeIconFile = ADA; 
    },

Para simplificar, estou usando o mesmo arquivo de ícone, mas podemos criá-lo, copiá-lo para TextMate.app/Contents/Resources/SCALA.icns e referir-se a ele como SCALA in Info.plist .

Agora, feche o TextMate se ele estiver em execução, mova o aplicativo TextMate.app para uma pasta diferente e abra-o novamente. Feche-o e mova-o de volta, depois abra-o novamente. Isso é feito para que o Launch Services capte as alterações para Info.plist que acabamos de executar.

O resultado é assim (lembre-se de que reutilizamos o ícone TextMate Ada para .scala ):

Sevocênãoquiserassociarumaplicativoparaabrir.scalaarquivos(nãopodeimaginaroporquê,masháumamaneiradefazerisso):Altereasadiçõesaoarquivoparaoseguinte:

{CFBundleTypeName="Scala source";
        CFBundleTypeExtensions = (scala); 
        CFBundleTypeIconFile = ADA; 
        CFBundleTypeRole = "None";
    },

Agora, o aplicativo declara o tipo de arquivo, mas informa ao sistema que não sabe como lidar com ele (a Apple dá o exemplo do Finder declarando tipos de fontes, embora não possa abri-las em si).

* Observe que qualquer atribuição de aplicativo permanente ao tipo de arquivo substitui o ícone, provavelmente, pelo tipo "documento desconhecido".

Se você já tiver um aplicativo associado a .scala e quiser apenas alterar o ícone do arquivo sem alterar o aplicativo associado:

Abra o Info.plist do aplicativo, procure a entrada do tipo de arquivo em CFBundleDocumentTypes e obtenha o CFBundleTypeIconFile . Modifique este arquivo em .../Contents/Resources/ e ele deverá ser refletido no Finder logo em seguida.

Informação do bônus:

Como alterar o ícone de um único documento ou pasta para um arquivo de imagem

Suponha que você tenha uma imagem ~/Desktop/test.png que deseja usar em um ícone (é a captura de tela usada acima para ilustrar a alteração do ícone .scala / TextMate / Ada.

Abra /Applications/Utilities/Terminal.app e digite:

sips -i ~/Desktop/test.png

Isso alterará o ícone do arquivo test.png para sua imagem. Desde que eu gosto de recursão, vamos tentar isso:

Antes, o ícone Visualizar png simples (a visualização da imagem é desativada):

Depois,opróprioarquivodeimageméavisualização:

Agora podemos abrir a caixa de diálogo Obter Informações , clicar no ícone do documento futuro desejado no canto superior esquerdo, Cmd-C para copiá-lo, abrir o arquivo de documento Obter Informações diálogo, clique no ícone do documento atual indesejado no canto superior esquerdo e em Cmd-V para colar o ícone desejado.

Como alternativa, você pode abrir o arquivo de imagem que deseja usar como ícone na visualização, Cmd-A para selecionar todos, Cmd-C para copiar a imagem para a área de transferência. Em seguida, abra a caixa de diálogo Obter Informações , selecione o ícone para alterar no canto superior esquerdo e Cmd-V para colar a imagem sobre ela.

    
por 24.12.2010 / 22:24
1

Você precisa substituir o arquivo ICNS dentro do programa designado como o programa padrão para o tipo de arquivo específico.

1 - Crie uma imagem para o ícone desejado e salve como um tipo de arquivo png (png suporta transparência).

2 - Converta o arquivo png para um tipo de arquivo icns (o FastIcns é muito bom e gratuito).

3 - Clique no CMD ou clique com o botão direito do mouse no aplicativo que está definido como o aplicativo padrão para o tipo de arquivo específico e, em seguida, selecione Mostrar conteúdo do pacote.

4 - Procure o arquivo icns que o aplicativo está designando como o ícone para o tipo de arquivo específico, ele provavelmente estará em uma pasta chamada Recursos.

5 - Nomeie o arquivo icns que você criou, exatamente o mesmo nome do arquivo que você deseja substituir.

6 - Copie e cole ou arraste e solte o novo arquivo icns que você criou na pasta onde está localizado o que deseja substituir, e escolha substituir quando for dada a opção.

7 - está feito! Todos os ícones desse tipo de arquivo foram substituídos pelo novo ícone desejado.

    
por 06.07.2012 / 16:16
0

A maneira como sempre faço isso é encontrar um arquivo com essa extensão, clique com o botão direito do mouse em »Obter Informações, ou Command-i, e isso abrirá o Painel de Informações. No topo, veja o ícone que é usado atualmente para a imagem. Você pode arrastar um arquivo de imagem para aquele para alterá-lo, ou se você copiou a imagem, você pode clicar na imagem que deseja alterar e fazer uma colagem para alterá-la.

    
por 20.08.2010 / 18:06