Les icônes des types de fichiers sont gérées par les services de lancement (le service déterminant, entre autres, l'application qui gère un type de fichier). L'icône du fichier est toujours fournie par l'application qui gère l'ouverture d'un fichier par défaut. Ainsi, par exemple, Aperçu fournit des icônes PDF par défaut et des icônes PNG, mais si vous modifiez tous les fichiers PNG pour les ouvrir à l'aide de Pixelmator, ces fichiers recevront par la suite une icône de type Pixelmator.
Ce qu'il faut faire, c'est ajouter la définition de votre type de fichier à l'application qui l'ouvre par défaut, ou créer votre propre application "factice" pour ce type de fichier .
À titre d'exemple, mon système ne connaît pas encore l'existence de .scala
et je veux TextMate
pour le gérer.
Premièrement, je Afficher le contenu du paquet de TextMate.app
, naviguez jusqu'à Contents/
et ouvrir Info.plist
soit à l'aide d'un éditeur de texte, soit à l'aide de Property List Editor
qui fait partie des outils de développement d'Apple.
TextMate utilise un format inhabituel pour les Info.plist
(il s'agit généralement d'un format binaire ou XML), dont voici un extrait :
CFBundleDocumentTypes = (
{ CFBundleTypeName = "ADA source";
CFBundleTypeExtensions = (adb, ads);
CFBundleTypeIconFile = ADA;
},
La clé parentale CFBundleDocumentTypes
est ce que nous voulons. Le premier élément enfant, entre accolades, contient une définition du type de fichier, avec le nom (pour la colonne du type de fichier dans le Finder), les extensions de fichier et le nom du fichier icône ( ADA
para TextMate.app/Contents/Resources/ADA.icns
).
Soutenir .scala
Pour ce faire, nous devons ajouter un élément frère similaire à l'élément précédent, sous le même élément parent CFBundleDocumentTypes
:
CFBundleDocumentTypes = (
{ CFBundleTypeName = "ADA source";
CFBundleTypeExtensions = (adb, ads);
CFBundleTypeIconFile = ADA;
},
{ CFBundleTypeName = "Scala source";
CFBundleTypeExtensions = (scala);
CFBundleTypeIconFile = ADA;
},
Pour des raisons de simplicité, j'utilise le même fichier d'icônes, mais nous pouvons en créer un nous-mêmes, le copier dans TextMate.app/Contents/Resources/SCALA.icns
et le désigner comme SCALA
en Info.plist
.
Maintenant, fermez TextMate s'il est en cours d'exécution, déplacez l'application TextMate.app
dans un autre dossier, puis ouvrez-le à nouveau. Fermez-le, déplacez-le à nouveau, puis ouvrez-le à nouveau. Cette opération a pour but de permettre aux services de lancement de prendre en compte les modifications apportées au fichier Info.plist
que nous venons de réaliser.
Le résultat ressemble à ceci (rappelez-vous que nous avons réutilisé l'icône TextMate Ada pour .scala
):
Si vous ne voulez pas associer une application à ouvrir .scala
(je ne vois pas pourquoi, mais il y a un moyen de le faire) : Remplacer les ajouts au fichier par ce qui suit :
{ CFBundleTypeName = "Scala source";
CFBundleTypeExtensions = (scala);
CFBundleTypeIconFile = ADA;
CFBundleTypeRole = "None";
},
Maintenant, l'application déclare le type de fichier, mais indique au système qu'elle ne sait pas comment le gérer (Apple donne l'exemple du Finder qui déclare les types de polices, bien qu'il ne puisse pas les ouvrir lui-même).
*Notez que toute affectation permanente d'une application au type de fichier remplace l'icône, probablement pour le type "document inconnu".
Si vous avez déjà une application associée à .scala
et que vous souhaitez simplement modifier l'icône du fichier sans changer l'application associée :
Ouverture de l'application Info.plist
Rechercher l'entrée du type de fichier dans CFBundleDocumentTypes
et d'obtenir le CFBundleTypeIconFile
. Modifiez ce fichier dans .../Contents/Resources/
et cela devrait se refléter dans le Finder peu de temps après.
Informations complémentaires :
Comment changer l'icône d'un document ou d'un dossier en un fichier image ?
Supposons que vous ayez une image ~/Desktop/test.png
que vous voulez utiliser comme icône (c'est la capture d'écran utilisée ci-dessus pour illustrer la fonction .scala
/TextMate/Ada changement d'icône.
Ouvrir /Applications/Utilities/Terminal.app
et entrez :
sips -i ~/Desktop/test.png
Cela modifiera le test.png
l'icône du fichier à son image. Puisque j'aime la récursivité, essayons ceci :
Auparavant, l'aperçu simple png
(l'aperçu de l'image est désactivé) :
Ensuite, c'est le fichier image lui-même qui constitue sa prévisualisation :
Nous pouvons maintenant ouvrir le fichier Obtenir des informations cliquez sur l'icône du futur document souhaité en haut à gauche, Cmd-C
pour le copier, ouvrez la section Obtenir des informations cliquez sur l'icône du document courant indésirable en haut à gauche, et Cmd-V
pour coller l'icône souhaitée.
Vous pouvez également ouvrir le fichier image que vous souhaitez utiliser comme icône dans l'aperçu, Cmd-A
pour tout sélectionner, Cmd-C
pour copier l'image dans le presse-papiers. Ouvrez ensuite la fenêtre Obtenir des informations sélectionnez l'icône à modifier en haut à gauche, et Cmd-V
pour coller l'image par-dessus.