Я видел много связанных вопросов/ответов, но кажется, что для него до сих пор нет рабочего решения. Итак, я суммировал всю связанную информацию, которую я нашел, и, возможно, мы сможем найти для нее решение.
Таким образом, один из способов сделать это, как в плагине SIMBL для цветных значков (погуглите) и как это сделано в Dropbox - вставить код в mach_kernel. Но мне не нравится эта идея с внедрением кода и кажется, что может быть более простой способ с модификацией системных ресурсов.
Таким образом, все данные для записей боковой панели хранятся в ~/Library/Preferences/com.apple.sidebarlists.plist (это двоичный plist, откройте его с помощью Xcode/PlistEditPro/etc) избранное -> VolumesList
значок для входа определяется парой данных: Icon и CustomItemProperties -> com.apple.LSSharedFileList.TemplateSystemSelector
это означает, что можно изменить псевдоним на пользовательский для записей по умолчанию или добавить Icon и CustomItemProperties -> com.apple.LSSharedFileList.TemplateSystemSelector к пользовательской записи с данными, скопированными из записей по умолчанию, и это будет работать.
Вам нужно выйти из системы -> войти, чтобы увидеть изменения.
Но при этом вы можете изменить только изображение входа, которое уже есть в системе. Поэтому я более подробно рассмотрел поля Icon и CustomItemProperties -> com.apple.LSSharedFileList.TemplateSystemSelector
Значок поля закодирован в шестнадцатеричном формате, а в декодированном виде выглядит так:
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���/�€€
(поле Документы по умолчанию)
Таким образом, он указывает на файл с обычными цветными значками документов. Изменение данных для другого файла .icns (даже действительного или из другого значка по умолчанию) приводит к тому, что в записи отображается значок стандартной папки по умолчанию. Но если изменить его на другой значок по умолчанию, а затем изменить com.apple.LSSharedFileList.TemplateSystemSelector, как в этом значке, тогда он покажет другой значок по умолчанию.
com.apple.LSSharedFileList.TemplateSystemSelector выглядит так:
1935819875
(поле Документы по умолчанию)
Это означает, что данные значка и номер com.apple.LSSharedFileList.TemplateSystemSelector связаны, и пара из них определяет значок записи. Я пока не понял, что это за число и что оно означает, но для записей по умолчанию оно всегда начинается с 19358* * . Я думаю, что это связано с заголовком CoreServices.framework LSSharedFileList.h и номером записи в каком-то списке системных ресурсов.
Кто-нибудь знает, что делать дальше? Я был бы признателен, если бы вы могли помочь мне с этим.
Вот список данных записей по умолчанию http://www.mediafire.com/view/?l5sqalslbcxj2dl Это поможет вам, если вы хотите изменить значки стандартных папок на боковой панели на значки записей по умолчанию.
Это не ответ, но он добавляет некоторую информацию. Значение, связанное с ключом com.apple.LSSharedFileList.TemplateSystemSelector, 1935819875, представляет собой десятичное представление типа файла. В шестнадцатеричном формате это 0x73624463, которые представляют собой буквы ascii «sbDc». Этот тип файла описан в /System/Library/CoreServices/CoreTypes.bundle/Contents/Info.plist. Это двоичный plist, который вы можете преобразовать в xml с помощью plutil -convert xml1 -o Info.plist.xml Info.plist
. Заглянув в файл Info.plist.xml, вы увидите словарь на верхнем уровне. Внутри находится ключ "CFBundleDocumentTypes" и массив словарей в качестве его значения. В этом массиве находится словарь, содержащий следующее:
<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. Этот файл можно найти в /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarDocumentsFolder.icns, и он содержит значки, используемые для папок документов.
Я бы подумал, что изменение значения com.apple.LSSharedFileList.TemplateSystemSelector на другое значение или обновление словаря для «sbDc» для ссылки на другой файл icns поможет вам получить пользовательские значки.
Я понимаю только зону, в которой этот поток имеет дело с кодом. Я не инженер или программист, но я нашел это полезным.
Что я сделал. Загрузил последнюю версию xtrafinder на веб-сайте по умолчанию и после установки в настройках выбрал красочные значки на боковой панели.
Потом увидел эту статью http://forums.macrumors.com/archive/index.php/t-1609746.html
Здесь, если вы измените значок, он работает. Пробовал через Airdrop.
Вот быстрый способ добавить значки на боковую панель: Загрузите бесплатное приложение «XtraFinder» https://www.macupdate.com/app/mac/42067/xtrafinder Помимо добавления окон поиска с вкладками, на панели настроек есть флажок, «Показывать цветные метки на боковой панели». Проверьте это, и ваши существующие значки появятся! Что может быть проще, плюс вы получаете десятки других функций в придачу. Наслаждаться! (Работает на 10.6.8 и новее)
пользователь109069