Como definir um ícone para alguns tipos de arquivo em todo o sistema?
Por exemplo, tenho arquivos de texto que terminam com a extensão .scala e desejo associar um ícone a esses arquivos em todo o sistema e a qualquer arquivo recém-criado dessa extensão.
Obrigado.
macos
mac
osx-snow-leopard
Quíron
fonte
fonte
Respostas:
Ícones para tipos de arquivo são manipulados pelo Launch Services (o serviço que determina, entre outras coisas, qual aplicativo manipula um tipo de arquivo). O ícone do arquivo é sempre fornecido pelo aplicativo que gerencia a abertura de um arquivo por padrão. Dessa forma, por exemplo, a Visualização fornece ícones PDF por padrão e ícones PNG, mas se você alterar todos os arquivos PNG para abrir usando o Pixelmator, esses arquivos obterão um ícone no estilo Pixelmator posteriormente.
O que você precisa fazer é adicionar sua definição de tipo de arquivo ao aplicativo que a abre por padrão ou criar seu próprio aplicativo "fictício" para o tipo de arquivo .
Como exemplo, meu sistema ainda não conhece
.scala
e queroTextMate
lidar com isso.Primeiro, mostro o conteúdo do pacote
TextMate.app
, navegoContents/
e abroInfo.plist
, com um editor de texto ouProperty List Editor
parte das ferramentas de desenvolvedor da Apple.O TextMate usa um formato incomum para
Info.plist
(geralmente é binário ou XML), cujo trecho se parece com isso:A chave dos pais
CFBundleDocumentTypes
é o que queremos. O primeiro elemento filho dele, entre chaves, contém uma definição de tipo de arquivo, completa com nome (para a coluna de tipo de arquivo no Finder), extensões de arquivo e o nome do arquivo de ícone (ADA
paraTextMate.app/Contents/Resources/ADA.icns
).Para dar suporte
.scala
, precisamos adicionar um elemento irmão semelhante ao acima, sob o mesmo elemento paiCFBundleDocumentTypes
:Por uma questão de simplicidade, estou usando o mesmo arquivo de ícone, mas podemos criar um nós mesmos, copiá-lo
TextMate.app/Contents/Resources/SCALA.icns
e consultá-lo comoSCALA
emInfo.plist
.Agora, feche o TextMate, se estiver em execução, mova o aplicativo
TextMate.app
para uma pasta diferente e abra-o novamente. Feche e mova-o para trás, depois abra-o novamente. Isso é feito para que o Launch Services capte as alteraçõesInfo.plist
que acabamos de executar.O resultado é semelhante a este (lembre-se, reutilizamos o ícone TextMate Ada para
.scala
):Se você não deseja associar um aplicativo a abrir
.scala
arquivos (não consegue imaginar o porquê, mas há uma maneira de fazer isso): Altere as adições ao arquivo para o seguinte:Agora, o aplicativo declara o tipo de arquivo, mas informa ao sistema que ele não sabe como manipulá-lo (a Apple fornece o exemplo do Finder que declara os tipos de fonte, embora não possa abri-los).
* Observe que qualquer atribuição permanente de aplicativo ao tipo de arquivo substitui o ícone, provavelmente do tipo "documento desconhecido".
Se você já possui um aplicativo associado
.scala
e deseja alterar o ícone do arquivo sem alterar o aplicativo associado:Abra o aplicativo
Info.plist
, procure a entrada do tipo de arquivoCFBundleDocumentTypes
e obtenha oCFBundleTypeIconFile
. Modifique este arquivo.../Contents/Resources/
e ele deve ser refletido no Finder logo depois.Informações sobre bônus:
Como alterar o ícone de um único documento ou pasta para um arquivo de imagem
Suponha que você tenha uma imagem na
~/Desktop/test.png
qual deseja usar um ícone (é a captura de tela usada acima para ilustrar a.scala
alteração do ícone / TextMate / Ada.Abra
/Applications/Utilities/Terminal.app
e digite:Isso mudará o
test.png
ícone do arquivo para sua imagem. Desde que eu gosto de recursão, vamos tentar o seguinte:Antes, o
png
ícone de visualização simples (a visualização da imagem está desativada):Depois, o próprio arquivo de imagem é sua visualização:
Agora podemos abrir a caixa de diálogo Obter informações do arquivo , clicar no ícone de documento futuro desejado no canto superior esquerdo,
Cmd-C
para copiá-lo, abrir a caixa de diálogo Obter informações do arquivo de documento , clicar no ícone de documento atual indesejado no canto superior esquerdo eCmd-V
colar o ícone que queremos.Como alternativa, você pode abrir o arquivo de imagem que deseja usar como ícone na Visualização,
Cmd-A
para selecionar tudo,Cmd-C
para copiar a imagem para a área de transferência. Em seguida, abra a caixa de diálogo Obter informações do documento de destino , selecione o ícone para alterar no canto superior esquerdo eCmd-V
cole a imagem sobre ele.fonte
codesign --verify --verbose /Applications/TextMate.app
ou algo parecido. Se invalidado, não faça isso para aplicativos que precisam de exceções no firewall ou precisam de chaveiro. Não tenho certeza do que mais poderia dar errado ao mexer na assinatura. (+1 para detalhes!)touch
do nível raiz do pacote para atualizar sua data de modificação. Em seguida, no Finder, desmarque e selecione novamente o aplicativo / pacote configurável / pacote e, quando perceber que a data da modificação é posterior à das informações armazenadas em cache no banco de dados dos Serviços de Ativação, o registrará novamente, reconhecendo assim quaisquer alterações. você fez.TextMate.app: code object is not signed
e não quero passar por isso novamente. Eu suspeito que é um problema real, eu não pensei nisso. Editar : Pensando bem, os atalhos de teclado personalizados também são armazenadosInfo.plist
. Portanto, isso pode não ser realmente um problema, se não for. O único problema pode ser a adição de um arquivo de ícone adicional ao pacote de aplicativos.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 (o png suporta a transparência).
2 - Converta o arquivo png em um tipo de arquivo icns (o FastIcns é ótimo e gratuito).
3 - Clique no CMD ou clique com o botão direito do mouse no aplicativo definido como o aplicativo padrão para o tipo de arquivo específico e selecione mostrar o conteúdo do pacote.
4 - Procure o arquivo icns que o aplicativo está designando como ícone para o tipo de arquivo específico, provavelmente estará em uma pasta chamada Recursos.
5 - Nomeie o arquivo icns que você criou, exatamente o mesmo nome de arquivo que você deseja substituir.
6 - Copie e cole, ou arraste e solte o novo arquivo icns que você criou na pasta onde está o arquivo que você deseja substituir e escolha substituir quando tiver a opção.
7 - Você terminou! Todos os ícones desse tipo de arquivo foram substituídos pelo novo ícone desejado.
fonte
O modo como sempre procuro 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. Na parte superior, veja o ícone atualmente usado para a imagem. Você pode arrastar um arquivo de imagem para aquele para alterá-lo ou, se você copiou a imagem, pode clicar na imagem que deseja alterar e colar para alterá-la.
fonte