J'ai parcouru à peu près toutes les recherches Google auxquelles je pouvais penser et j'ai obtenu ce qui me semble être proche d'une réponse sur la façon de définir des icônes personnalisées dans la barre latérale SANS avoir à recourir au piratage mach_inject de Dropbox, mais j'ai quelques questions et je suis bloqué. Ma question principale est la suivante : est-il possible de définir un "type" pour un dossier ? La raison de cette question est que lorsque vous allez dans /System/Library/CoreServices/CoreTypes.bundle/Contents, il y a un fichier Info.plist. Ce fichier indique les associations d'icônes pour les dossiers du système. Avant d'aborder les icônes de la barre latérale, j'aimerais d'abord savoir comment les icônes "normales" sont associées aux dossiers système. Je vais prendre le dossier "Documents" comme exemple. Dans le fichier Info.plist, sous Types de documents, l'élément 155 concerne le dossier Documents et explique que l'icône à associer au dossier Documents doit être DocumentsFolderIcon.icns. Il indique également que le "Type de système d'exploitation du document" est un type à 4 caractères, nommé "docs".
Peut-on supposer que si je créais un nouveau dossier, je pourrais modifier d'une manière ou d'une autre un attribut étendu ou une sorte de métadonnées qui déclarerait que mon nouveau dossier est de type "docs", ce qui amènerait le Finder à afficher l'icône DocumentsFolderIcon.icns pour ce dossier ? Comment puis-je modifier le "type" de mon dossier de cette manière ?
En outre, dans le même fichier Info.plist, il explique les icônes de la barre latérale. Le dictionnaire de l'élément 10 (l'icône de la barre latérale des documents) explique que le type d'OS du document "sbDc" affichera le dossier SidebarDocumentsFolder.icns. Encore une fois, avec mon dossier nouvellement créé, puis-je modifier un attribut ou des métadonnées pour indiquer que le type de barre latérale doit être "sbDc" au lieu du "sbFd" par défaut (qui correspond à l'icône de dossier générique).
Pouvoir modifier ces attributs sur mon nouveau dossier de cette manière peut me fournir une preuve de concept pour obtenir des icônes de barre latérale personnalisées sans avoir recours à des astuces mach_inject, et me permettre de créer de nouveaux dossiers qui se comportent comme s'ils étaient des dossiers générés par le système avec leurs propres icônes de barre latérale personnalisées et tout le reste.
(Je sais qu'il y a un AUTRE fichier dans /Library/Preferences nommé com.apple.sidebarlists.plist, mais je suis confus, parce que pour la définition du dossier Documents, il indique un nombre décimal pour com.apple.LSSharedFileList.TemplateSystemSelector qui, lorsqu'il est converti en hex, puis en ASCII, donne 'sbDt' et NON 'sbDc' qui est listé dans le fichier Info. plist comme type de barre latérale Documents) --EDIT-- En fait, j'ai modifié cela pour essayer de faire un changement et voir ce qui se passe ; le nombre décimal qui est initialement défini pour Documents par défaut est en fait 1,935,819,875, ce qui se traduit par 'sbDc' en ASCII. (La capture d'écran suivante comporte ma modification).
Donc, pour résumer, comment puis-je modifier les attributs, les métadonnées, ou quel que soit leur nom, d'un dossier nouvellement créé pour le déclarer de type 'docs' au lieu de type 'fldr, fold, utif, ou aexf' afin qu'au lieu de l'icône de dossier générique, il affiche l'icône de dossier Documents ?
Encore une fois, je sais que cette question a été battue à mort, mais j'ai l'impression d'être si près de pouvoir définir des icônes personnalisées et des icônes de barre latérale sans avoir à recourir à des injections de code...
Merci d'avance !
--Une remarque supplémentaire concernant les icônes personnalisées "normales" (pas les icônes de la barre latérale) : Je sais comment définir une icône personnalisée pour un dossier en utilisant les méthodes conventionnelles, mais lorsque vous sélectionnez une image en utilisant la prévisualisation et ensuite "Obtenir des informations" sur votre dossier et collez votre image dans le coin supérieur gauche pour définir l'icône, la taille sur le disque pour votre dossier change... ce qui est... no comment les icônes des dossiers du système sont définies. Les dossiers système doivent associer leurs icônes à ce type de 4 caractères d'une manière ou d'une autre et j'essaie de faire de même avec mon propre dossier personnalisé
UPDATE
La réponse de Tobias (voir sa réponse ci-dessous) semble être sur la bonne voie, mais je ne parviens pas à trouver quel fichier relie un chemin à une icône. J'ai essayé de rechercher la chaîne '/Sites' dans tous les fichiers de mon ordinateur à l'aide du terminal. Si vous créez un dossier 'Sites' dans votre dossier 'home', il obtiendra une icône spéciale avec un logo Safari, mais si vous créez un dossier 'Sites' sur votre bureau, par exemple, il obtiendra une icône de dossier générique. Il y a donc bien une discrimination de chemin, merci Tobias ! Pour une raison ou une autre, le dossier " Sites " est spécial, un vestige d'anciennes versions d'OS X, je crois, ou destiné aux développeurs web (bien que, curieusement, il n'obtienne pas d'icône spéciale dans la barre latérale, mais une icône de dossier générique dans la barre latérale). Quelqu'un peut-il expliquer comment et pourquoi le dossier Sites est si spécial ? L'accent est mis sur le comment lol.