11 votes

Changer les icônes de la barre latérale Mac OS X Finder

J'ai vu beaucoup de questions/réponses liées mais il semble qu'il n'y a toujours pas de solution fonctionnelle pour cela. J'ai donc résumé toutes les informations pertinentes que j'ai trouvées et peut-être pourrons-nous trouver une solution.

Donc, l'une des façons de le faire est comme dans le plugin SIMBL pour les icônes colorées (cherchez sur Google) et comme c'est fait dans Dropbox - injecter du code dans mach_kernel. Mais je n'aime pas cette idée d'injection de code et il semble qu'il puisse y avoir une manière plus simple avec la modification des ressources système.

Toutes les données pour les entrées de la barre latérale sont stockées dans ~/Library/Preferences/com.apple.sidebarlists.plist (c'est un fichier plist binaire, ouvrez-le avec Xcode/PlistEditPro/etc) favoris -> VolumesList

L'icône de l'entrée est définie avec une paire de données : Icône et CustomItemProperties -> com.apple.LSSharedFileList.TemplateSystemSelector

cela signifie qu'il est possible de changer l'Alias en personnalisé pour les entrées par défaut, ou d'ajouter Icône et CustomItemProperties -> com.apple.LSSharedFileList.TemplateSystemSelector à une entrée personnalisée avec des données copiées des entrées par défaut et cela fonctionnera.

Vous devez vous déconnecter -> vous reconnecter pour voir les changements.

Mais avec cela, vous ne pouvez changer que l'image de l'entrée qui est déjà dans le système. Donc, j'ai examiné de manière plus détaillée les champs Icône et CustomItemProperties -> com.apple.LSSharedFileList.TemplateSystemSelector

Le champ Icône est encodé en hexadécimal et décodé ça ressemble à ça :

ImgR4FBIL(H+€\CW     €€€€€DC^~^{@ToolbarDocumentsFolderIcon.icnsMacHD_System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ToolbarDocumentsFolderIcon.icns/€€

(champ Documents par défaut)

Donc cela pointe vers un fichier normal d'icônes de documents en couleur. Changer les données pour un autre fichier .icns (même valide ou issu d'une autre icône par défaut) fait que l'entrée montre l'icône de dossier par défaut. Mais si vous le changez pour une autre icône par défaut et puis changez com.apple.LSSharedFileList.TemplateSystemSelector comme dans cette icône, alors cela affichera cette autre icône par défaut.

com.apple.LSSharedFileList.TemplateSystemSelector ressemble à ceci :

1935819875

(champ Documents par défaut)

Cela signifie que les données d'icône et le nombre de com.apple.LSSharedFileList.TemplateSystemSelector sont liés et la paire d'entre eux détermine l'icône de l'entrée. Je n'ai pas encore compris quel est ce nombre et ce qu'il signifie, mais pour les entrées par défaut il commence toujours par 19358**. Je pense que cela est lié à l'en-tête de CoreServices.framework LSSharedFileList.h et c'est le numéro de l'entrée dans une sorte de liste de ressources système.

Est-ce que quelqu'un sait quoi faire ensuite? Je vous serais reconnaissant si vous pouviez m'aider avec ça.

Voici la liste des données d'entrées par défaut http://www.mediafire.com/view/?l5sqalslbcxj2dl Cela vous aidera si vous souhaitez changer les icônes de dossiers par défaut dans la barre latérale en icônes issues des entrées par défaut.

0 votes

Tu ne devrais jamais manipuler directement les plists LSSharedFileList. Apple a publié l'API LSSharedFileList il y a un certain temps.

8voto

George Newton Points 101

Ceci n'est pas une réponse mais cela ajoute des informations. La valeur associée à la clé com.apple.LSSharedFileList.TemplateSystemSelector, 1935819875, est une représentation décimale du type de fichier. En hexadécimal, il est 0x73624463, qui sont les lettres ascii 'sbDc'. Ce type de fichier est décrit dans /System/Library/CoreServices/CoreTypes.bundle/Contents/Info.plist. Il s'agit d'un fichier plist binaire que vous pouvez convertir en xml en utilisant plutil -convert xml1 -o Info.plist.xml Info.plist. En regardant le fichier Info.plist.xml, vous pouvez voir un dictionnaire au niveau supérieur. À l'intérieur de celui-ci se trouve une clé "CFBundleDocumentTypes" et un tableau de dictionnaires comme valeur. Dans ce tableau se trouve un dictionnaire qui contient ce qui suit :

    CFBundleTypeIconFile
    SidebarDocumentsFolder.icns
    CFBundleTypeName
    Icone de dossier de documents latéral
    CFBundleTypeOSTypes

        sbDc

    CFBundleTypeRole
    Aucun
    LSTypeIsPackage

    NSPersistentStoreTypeKey
    Binaire

Une paire clé/valeur intéressante dans ce dictionnaire est CFBundleTypeIconFile: SidebarDocumentsFolder.icns. Ce fichier peut être trouvé à /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarDocumentsFolder.icns et il contient les icônes utilisées pour les dossiers de documents.

Je pense que changer la valeur com.apple.LSSharedFileList.TemplateSystemSelector pour une valeur différente, ou mettre à jour le dictionnaire pour 'sbDc' pour se référer à un fichier icns différent vous permettrait d'avoir des icônes personnalisées.

0voto

Tech One Points 21

Je comprends seulement la zone dans laquelle ce fil de discussion traite du code. Je ne suis pas un ingénieur ou un informaticien, mais j'ai trouvé cela utile.

Ce que j'ai fait. J'ai téléchargé le dernier xtrafinder sur le site web par défaut et après l'avoir installé dans les préférences, j'ai sélectionné l'option d'affichage d'icônes colorées dans la barre latérale.

Ensuite, j'ai vu cet article http://forums.macrumors.com/archive/index.php/t-1609746.html

Ici, si vous changez l'icône cela fonctionne. Je l'ai essayé avec Airdrop.

entrez la description de l'image ici

0voto

James Giordano Points 1

Voici un moyen rapide d'ajouter des icônes à la barre latérale : Téléchargez l'application gratuite "XtraFinder" https://www.macupdate.com/app/mac/42067/xtrafinder En plus d'ajouter des fenêtres de recherche par onglet, il y a une case à cocher dans le panneau de préférences pour "Afficher des étiquettes colorées dans la barre latérale" Cochez-la et vos icônes existantes apparaîtront ! Rien de plus simple, en plus vous obtenez des dizaines d'autres fonctionnalités en prime. Profitez-en ! (Fonctionne sur 10.6.8 et plus récent)

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X