49 votes

Comment définir une icône pour un type de fichier sur Mac ?

Comment définir une icône pour certains types de fichiers ? entier système ?

Par exemple, j'ai des fichiers texte qui se terminent par l'extension .scala et je veux associer une icône à ces fichiers dans tout le système et pour tout nouveau fichier créé avec cette extension.

Merci.

47voto

Daniel Beck Points 105590

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 ):

alt text

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é) :

alt text

Ensuite, c'est le fichier image lui-même qui constitue sa prévisualisation :

alt text

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.

1voto

daporterfizzle Points 11

Vous devez remplacer le fichier ICNS dans le programme qui est assigné comme programme par défaut pour le type de fichier spécifique.

1 - Créez une image pour l'icône souhaitée, puis enregistrez-la au format png (le format png supporte la transparence).

2 - Convertissez le fichier png en un fichier de type icns (FastIcns est excellent et gratuit).

3 - Faites un clic CMD ou un clic droit sur l'application qui est définie comme l'application par défaut pour le type de fichier spécifique, puis sélectionnez afficher le contenu du paquet.

4 - Cherchez le fichier icns que l'application désigne comme l'icône du type de fichier spécifique, il se trouve probablement dans un dossier appelé Ressources.

5 - Nommez le fichier icns que vous avez créé, exactement le même nom de fichier que celui que vous voulez remplacer.

6 - Copiez et collez, ou glissez-déposez le nouveau fichier icns que vous avez créé dans le dossier où se trouve celui que vous voulez remplacer, et choisissez remplacer lorsque l'option vous est proposée.

7 - Vous avez terminé ! Toutes les icônes de ce type de fichier ont été remplacées par la nouvelle icône souhaitée.

0voto

Nils Points 2605

Je procède toujours de la manière suivante : je trouve un fichier portant cette extension, je clique avec le bouton droit de la souris sur "Obtenir des informations" ou je commande "i", ce qui permet d'afficher le panneau d'information. En haut, vous voyez l'icône qui est actuellement utilisée pour l'image. Vous pouvez faire glisser un fichier image sur cette icône pour la modifier, ou si vous avez copié l'image, vous pouvez cliquer sur l'image que vous voulez modifier et la coller pour la changer.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X