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.