Alterar os ícones da barra lateral do Mac OS X Finder

11

Eu já vi muitas perguntas / respostas relacionadas, mas parece que ainda não existe uma solução para isso. Então, resumi todas as informações relacionadas que encontrei e talvez possamos encontrar uma solução para elas.

Então, uma das maneiras de fazê-lo é como no plugin do SIMBL para ícones coloridos (google it) e como é feito no Dropbox - injete código no mach_kernel. Mas não gosto dessa idéia com injeção de código e parece que pode haver uma maneira mais simples de modificar os recursos do sistema.

Portanto, todos os dados das entradas da barra lateral são armazenados em ~ / Library / Preferences / com.apple.sidebarlists.plist (é uma lista binária, abra-a com o Xcode / PlistEditPro / etc) favourites -> VolumesList

o ícone para entrada é definido com um par de dados: Icon e CustomItemProperties -> com.apple.LSSharedFileList.TemplateSystemSelector

isso significa que é possível alterar Alias ​​para customizado para entradas padrão ou adicionar Icon e CustomItemProperties -> com.apple.LSSharedFileList.TemplateSystemSelector para entrada customizada com dados copiados das entradas padrão e ele funcionará.

Você precisa fazer logoff -> fazer login para ver as alterações.

Mas com isso você só pode alterar a imagem da entrada que já está no sistema. Então, olhei mais detalhadamente para os campos Icon e CustomItemProperties -> com.apple.LSSharedFileList.TemplateSystemSelector

O ícone do campo é codificado em hexadecimal e decodificado, assim:

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���/�€€

(campo Documentos padrão)

Por isso, está apontando para o arquivo de ícones de documentos coloridos e normais. A alteração de dados para outro arquivo .icns (mesmo válido ou de outro ícone padrão) faz com que a entrada mostre o ícone padrão da pasta de ações. Mas se alterá-lo para outro ícone padrão e depois alterar com.apple.LSSharedFileList.TemplateSystemSelector como nesse ícone, ele mostrará esse outro ícone padrão.

com.apple.LSSharedFileList.TemplateSystemSelector tem esta aparência:

1935819875

(campo Documentos padrão)

Isso significa que os dados do ícone e o número com.apple.LSSharedFileList.TemplateSystemSelector estão relacionados e um par deles determina o ícone da entrada. Ainda não entendi qual é esse número e o que isso significa, mas, para entradas padrão, ele sempre começa com 19358 * * . Eu acho que está relacionado ao cabeçalho LSSharedFileList.h do CoreServices.framework e o número de entradas em algum tipo de lista de recursos do sistema.

Alguém sabe o que fazer a seguir? Ficaria muito grato se você pudesse me ajudar com isso.

Aqui está uma lista dos dados das entradas padrão http://www.mediafire.com/view/?l5sqalslbcxj2dl Isso ajudará você se você quiser alterar os ícones da pasta de ações na barra lateral para os ícones das entradas padrão.

user1855732
fonte
você nunca deve manipular as listas LSSharedFileList diretamente. A Apple publicou a API LSSharedFileList há algum tempo

Respostas:

7

Esta não é uma resposta, mas adiciona algumas informações. O valor associado à chave com.apple.LSSharedFileList.TemplateSystemSelector, 1935819875, é uma representação decimal do tipo de arquivo. Em hexadecimal, é 0x73624463, que são as letras ascii 'sbDc'. Esse tipo de arquivo é descrito em /System/Library/CoreServices/CoreTypes.bundle/Contents/Info.plist. Esta é uma lista binária que você pode converter para xml usando plutil -convert xml1 -o Info.plist.xml Info.plist. Procurando no arquivo Info.plist.xml, você pode ver um dicionário no nível superior. Dentro disso, há uma chave "CFBundleDocumentTypes" e uma matriz de dicionários como valor. Nesta matriz, há um dicionário que contém o seguinte:

<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>

Um par de chave / valor interessante neste dicionário é CFBundleTypeIconFile: SidebarDocumentsFolder.icns. Esse arquivo pode ser encontrado em /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarDocumentsFolder.icns e contém os ícones usados ​​para pastas de documentos.

Eu acho que alterar o valor com.apple.LSSharedFileList.TemplateSystemSelector para um valor diferente ou atualizar o dicionário para 'sbDc' para se referir a um arquivo icns diferente ajudariam você a ter ícones personalizados.

user43882
fonte
0

Eu só entendo a zona em que esse segmento lida com o código. Não sou um engenheiro ou software, mas achei isso útil.

O que eu fiz. Baixou o xtrafinder mais recente no site padrão e, após a instalação nas preferências selecionadas, mostra ícones coloridos na barra lateral.

Em seguida, vi este artigo http://forums.macrumors.com/archive/index.php/t-1609746.html

Aqui, se você alterar o ícone, ele funciona. Eu tentei com o Airdrop.

insira a descrição da imagem aqui

Tech One
fonte
0

Aqui está uma maneira rápida de adicionar ícones à barra lateral: Faça o download do aplicativo gratuito “XtraFinder” https://www.macupdate.com/app/mac/42067/xtrafinder Além de adicionar janelas localizadoras com guias, há uma caixa de seleção no painel de preferências para “Mostrar etiquetas coloridas na barra lateral” Verifique e seus ícones existentes aparecerão! Não poderia ser mais simples, além de obter dezenas de outros recursos na barganha. Desfrutar! (Funciona em 10.6.8 e mais recente)

James Giordano
fonte