Í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.scala
arquivos(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.