Изменить значки боковой панели Mac OS X Finder

11

Я видел много связанных вопросов / ответов, но кажется, что до сих пор нет работающего решения. Итак, я суммировал всю связанную информацию, которую нашел, и, возможно, мы сможем найти решение.

Таким образом, один из способов сделать это - как в плагине SIMBL для цветных значков (google it), и как это сделано в 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

Поле Icon имеет шестнадцатеричное кодирование и декодирование, это выглядит так:

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

(поле Документы по умолчанию)

Это означает, что данные Icon и номер com.apple.LSSharedFileList.TemplateSystemSelector связаны между собой, и пара из них определяет значок входа. Я еще не понял, что это за число и что оно означает, но для записей по умолчанию оно всегда начинается с 19358 * * . Я думаю, что он связан с заголовком CoreServices.framework LSSharedFileList.h и номером записи в каком-то списке системных ресурсов.

Кто-нибудь знает, что делать дальше? Буду признателен, если вы поможете мне с этим.

Вот список данных записей по умолчанию http://www.mediafire.com/view/?l5sqalslbcxj2dl. Это поможет вам, если вы хотите изменить значки вашей стоковой папки на боковой панели на значки из записей по умолчанию.

user1855732
источник
Вы никогда не должны манипулировать списками LSSharedFileList напрямую. Apple недавно опубликовала LSSharedFileList API

Ответы:

7

Это не ответ, но он добавляет некоторую информацию. Значение, связанное с ключом com.apple.LSSharedFileList.TemplateSystemSelector, 1935819875, является десятичным представлением типа файла. В шестнадцатеричном формате это 0x73624463, которые являются символами ascii 'sbDc'. Этот тип файла описан в /System/Library/CoreServices/CoreTypes.bundle/Contents/Info.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 поможет вам получить пользовательские значки.

user43882
источник
0

Я только понимаю зону, в которой этот поток имеет дело с кодом. Я не инженер или программист, но я нашел это полезным.

Что я сделал. Скачал последнюю версию xtrafinder на веб-сайте по умолчанию и после установки в выбранных настройках отобразил красочные иконки на боковой панели.

Затем увидел эту статью http://forums.macrumors.com/archive/index.php/t-1609746.html

Здесь, если вы измените значок, он работает. Я попробовал это с Airdrop.

введите описание изображения здесь

Tech One
источник
0

Вот быстрый способ добавить значки на боковую панель: Загрузите бесплатное приложение «XtraFinder» https://www.macupdate.com/app/mac/42067/xtrafinder. Помимо добавления окон с вкладками в окне настроек, на панели настроек установлен флажок «Показывать красочные ярлыки на боковой панели» Отметьте это, и ваши существующие значки появятся! Не может быть проще, плюс вы получаете десятки других функций в сделке. Наслаждайтесь! (Работает на 10.6.8 и новее)

Джеймс Джордано
источник