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

11

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

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

Ainsi, 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 une liste binaire, ouvrez-la avec Xcode / PlistEditPro / etc) dans les favoris -> VolumesList

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

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

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

Mais avec cela, vous ne pouvez changer que l'image d'entrée qui est déjà dans le système. J'ai donc regardé plus en détail les champs Icon et CustomItemProperties -> com.apple.LSSharedFileList.TemplateSystemSelector

L'icône de champ est encodée en hexadécimal et décodée:

ImgR��4����FBIL��(����������������ћЊщ��H+�����ю≤�€\��ћCW����     €ю��������€€€€���ю≤�юD�юC�з�^~�^{��@��T�o�o�l�b�a�r�D�o�c�u�m�e�n�t�s�F�o�l�d�e�r�I�c�o�n�.�i�c�n�s����M�a�c�H�D��_System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ToolbarDocumentsFolderIcon.icns���/�€€

(champ Documents par défaut)

Il pointe donc vers un fichier d'icônes de documents normaux et colorés. La modification des données d'un autre fichier .icns (même valide ou à partir d'une autre icône par défaut) fait apparaître l'entrée par défaut l'icône du dossier de stock. Mais si vous le changez en une autre icône par défaut , puis changez com.apple.LSSharedFileList.TemplateSystemSelector comme dans cette icône, il montrera qu'une autre icône par défaut.

com.apple.LSSharedFileList.TemplateSystemSelector ressemble à ceci:

1935819875

(champ Documents par défaut)

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

Quelqu'un sait-il quoi faire ensuite? Je vous serais reconnaissant de bien vouloir m'aider.

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 votre dossier de stock dans la barre latérale en icônes des entrées par défaut.

user1855732
la source
vous ne devez jamais manipuler directement les listes LSSharedFileList. Apple a publié l'API LSSharedFileList il y a un certain temps

Réponses:

7

Ce 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, c'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'une liste binaire que vous pouvez convertir en XML en utilisant plutil -convert xml1 -o Info.plist.xml Info.plist. En regardant dans le fichier Info.plist.xml, vous pouvez voir un dictionnaire au niveau supérieur. A l'intérieur, il y a une clé "CFBundleDocumentTypes" et un tableau de dictionnaires comme valeur. Dans ce tableau se trouve un dictionnaire qui contient les éléments suivants:

<dict>
    <key>CFBundleTypeIconFile</key>
    <string>SidebarDocumentsFolder.icns</string>
    <key>CFBundleTypeName</key>
    <string>Sidebar Documents Folder Icon</string>
    <key>CFBundleTypeOSTypes</key>
    <array>
        <string>sbDc</string>
    </array>
    <key>CFBundleTypeRole</key>
    <string>None</string>
    <key>LSTypeIsPackage</key>
    <false/>
    <key>NSPersistentStoreTypeKey</key>
    <string>Binary</string>
</dict>

CFBundleTypeIconFile: SidebarDocumentsFolder.icns est une paire clé / valeur intéressante dans ce dictionnaire. Ce fichier se trouve dans /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 en une valeur différente, ou mettre à jour le dictionnaire pour que 'sbDc' se réfère à un fichier icns différent vous aiderait à avoir des icônes personnalisées.

user43882
la source
0

Je comprends uniquement la zone dans laquelle ce fil traite le code. Je ne suis pas un ingénieur ou un logiciel, mais j'ai trouvé cela utile.

Ce que j'ai fait. Téléchargez le dernier xtrafinder sur le site Web par défaut et après l'installation dans les préférences sélectionnées, affichez des 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

Tech One
la source
0

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 Outre l'ajout de fenêtres de recherche à onglets, une case à cocher dans le volet des préférences permet de "Afficher les étiquettes colorées dans la barre latérale" Vérifiez-le et vos icônes existantes s'affichent! Cela ne pourrait pas être plus simple, et vous obtenez des dizaines d'autres fonctionnalités dans la bonne affaire. Prendre plaisir! (Fonctionne sur 10.6.8 et plus récent)

James Giordano
la source