Les icônes des types de fichiers sont gérées par les services de lancement (le service détermine, entre autres, quelle application 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 par défaut des icônes PDF et des icônes PNG, mais si vous modifiez l’ouverture de tous les fichiers PNG à l’aide de Pixelmator, ces fichiers obtiendront ensuite une icône de style Pixelmator.
Ce que vous devez faire est d’ ajouter votre définition de type de fichier à l’application qui l’ouvre par défaut ou de créer votre propre application «fictive» pour le type de fichier .
Par exemple, mon système ne sait pas encore .scalaet je veux TextMatele gérer.
Tout d’abord, je montre le contenu du paquetTextMate.app , naviguez Contents/et ouvrez Info.plist, soit avec un éditeur de texte, soit avec Property List Editorles outils de développement d’Apple.
TextMate utilise un format inhabituel Info.plist(généralement binaire ou XML), dont voici un extrait:
CFBundleDocumentTypes = (
{ CFBundleTypeName = "ADA source";
CFBundleTypeExtensions = (adb, ads);
CFBundleTypeIconFile = ADA;
},
La clé parent CFBundleDocumentTypesest ce que nous voulons. Le premier élément enfant de celui-ci, placé entre accolades, contient une définition de type de fichier, ainsi que son nom (pour la colonne de type de fichier dans le Finder), ses extensions et le nom du fichier icône ( ADApour TextMate.app/Contents/Resources/ADA.icns).
Pour prendre en charge .scala, nous devons ajouter un élément frère similaire à celui ci-dessus, sous le même élément parent CFBundleDocumentTypes:
CFBundleDocumentTypes = (
{ CFBundleTypeName = "ADA source";
CFBundleTypeExtensions = (adb, ads);
CFBundleTypeIconFile = ADA;
},
{ CFBundleTypeName = "Scala source";
CFBundleTypeExtensions = (scala);
CFBundleTypeIconFile = ADA;
},
Par souci 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.icnset le référencer comme SCALAdans Info.plist.
Fermez maintenant TextMate, déplacez l’application TextMate.appdans un autre dossier et ouvrez-la à nouveau. Fermez-le et replacez-le, puis ouvrez-le à nouveau. Ceci est fait afin que Launch Services prenne en compte les modifications que Info.plistnous venons d’ apporter .
Les regards de résultat comme celui - ci (rappelez - vous, nous resservir l'icône TextMate Ada pour .scala):

Si vous ne souhaitez pas associer une application pour ouvrir des .scalafichiers (vous ne pouvez pas imaginer pourquoi, mais il existe un moyen de le faire): Modifiez les ajouts au fichier comme suit:
{ CFBundleTypeName = "Scala source";
CFBundleTypeExtensions = (scala);
CFBundleTypeIconFile = ADA;
CFBundleTypeRole = "None";
},
Désormais, l’application déclare le type de fichier, mais indique au système qu’elle ne sait pas le gérer (Apple donne l’exemple du Finder qui déclare les types de police, bien qu’il ne puisse pas les ouvrir lui-même).
* Notez que toute affectation d'application permanente au type de fichier remplace l'icône, probablement du type "document inconnu".
Si vous avez déjà une application associée à .scalaet souhaitez simplement changer l'icône du fichier sans changer l'application associée:
Ouvrez l’application Info.plist, recherchez l’entrée du type de fichier CFBundleDocumentTypeset récupérez le CFBundleTypeIconFile. Modifiez ce fichier .../Contents/Resources/et il devrait apparaître dans le Finder peu de temps après.
Informations sur le bonus:
Comment changer l'icône d'un document ou d'un dossier en un fichier image
Supposons que vous ayez une image pour ~/Desktop/test.pnglaquelle vous souhaitez utiliser une icône (c'est la capture d'écran utilisée ci-dessus pour illustrer le .scalachangement d'icône / TextMate / Ada.
Ouvrir /Applications/Utilities/Terminal.appet entrer:
sips -i ~/Desktop/test.png
Cela changera l' test.pngicône du fichier en son image. Puisque j'apprécie la récursivité, essayons ceci:
Avant, l' pngicône Aperçu simple (l'aperçu de l'image est désactivé):

Après, le fichier image lui-même est son aperçu:

Maintenant , nous pouvons ouvrir le fichier est Get Info dialogue, cliquez sur le choix, l' icône du futur document en haut à gauche, Cmd-Cde le copier, ouvrez le fichier de document Obtenir des informations de dialogue, cliquez sur l'icône actuelle indésirable, document en haut à gauche, et Cmd-Vpour coller le icône que nous voulons.
Vous pouvez également ouvrir le fichier image que vous souhaitez utiliser comme icône dans Aperçu, Cmd-Apour tout sélectionner, Cmd-Cpour copier l'image dans le Presse-papiers. Ouvrez ensuite la boîte de dialogue Obtenir des informations du document cible , sélectionnez l'icône à modifier en haut à gauche et Cmd-Vcollez l'image dessus.