Cambia le icone della barra laterale del Finder di Mac OS X.


11

Ho visto molte domande / risposte correlate, ma sembra che non ci sia ancora una soluzione funzionante per questo. Quindi ho riassunto tutte le informazioni correlate che ho trovato e forse possiamo trovare una soluzione ad esso.

Quindi uno dei modi per farlo è come nel plugin SIMBL per icone colorate (google it) e come è fatto in Dropbox - iniettare codice su mach_kernel. Ma questa idea non mi piace con l'iniezione di codice e sembra che ci possa essere un modo più semplice con la modifica delle risorse di sistema.

Quindi tutti i dati per le voci della barra laterale sono archiviati nei preferiti ~ / Library / Preferences / com.apple.sidebarlists.plist (È un plist binario, aprilo con Xcode / PlistEditPro / etc) preferiti -> VolumesList

L'icona per la voce è definita con una coppia di dati: Icon e CustomItemProperties -> com.apple.LSSharedFileList.TemplateSystemSelector

ciò significa che è possibile cambiare Alias ​​in personalizzato per le voci predefinite o aggiungere Icon e CustomItemProperties -> com.apple.LSSharedFileList.TemplateSystemSelector a una voce personalizzata con i dati copiati dalle voci predefinite e funzionerà.

Devi disconnetterti -> accedi per vedere le modifiche.

Ma con ciò puoi solo cambiare l'immagine di entrata che è già nel sistema. Quindi ho guardato più in dettaglio ai campi Icon e CustomItemProperties -> com.apple.LSSharedFileList.TemplateSystemSelector

L'icona del campo è codificata e decodificata in modo esadecimale:

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 Documenti predefinito)

Quindi punta a un normale file di icone di documenti colorati. La modifica dei dati per un altro file .icns (anche valido o da un'altra icona predefinita) rende la voce mostra l'icona della cartella stock predefinita. Ma se lo cambi in un'altra icona predefinita e poi cambi com.apple.LSSharedFileList.TemplateSystemSelector come in quell'icona, allora mostrerà un'altra icona predefinita.

com.apple.LSSharedFileList.TemplateSystemSelector è simile al seguente:

1935819875

(campo Documenti predefinito)

Ciò significa che i dati Icon e il numero com.apple.LSSharedFileList.TemplateSystemSelector sono correlati e la coppia determina l'icona della voce. Non ho ancora capito cosa sia questo numero e cosa significhi, ma per le voci predefinite inizia sempre con 19358 * * . Penso che sia correlato all'intestazione CoreServices.framework LSSharedFileList.h ed è il numero di voce in una sorta di elenco di risorse di sistema.

Qualcuno sa cosa fare dopo? Le sarei grato se mi potessi aiutare.

Ecco un elenco dei dati delle voci predefinite http://www.mediafire.com/view/?l5sqalslbcxj2dl Ti aiuterà se vuoi cambiare le icone della cartella stock nella barra laterale in icone dalle voci predefinite.


non dovresti mai manipolare direttamente le liste di LSSharedFileList. Apple ha pubblicato l'API LSSharedFileList un po 'di tempo fa

Risposte:


7

Questa non è una risposta ma aggiunge alcune informazioni. Il valore associato alla chiave com.apple.LSSharedFileList.TemplateSystemSelector, 1935819875, è una rappresentazione decimale del tipo di file. In esadecimale, è 0x73624463, che sono le lettere ascii 'sbDc'. Questo tipo di file è descritto in /System/Library/CoreServices/CoreTypes.bundle/Contents/Info.plist. Questo è un plist binario che puoi convertire in XML usando plutil -convert xml1 -o Info.plist.xml Info.plist. Guardando nel file Info.plist.xml, puoi vedere un dizionario al livello più alto. All'interno di questo c'è una chiave "CFBundleDocumentTypes" e una matrice di dizionari come valore. In questo array è presente un dizionario che contiene quanto segue:

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

Una coppia chiave / valore interessante in questo dizionario è CFBundleTypeIconFile: SidebarDocumentsFolder.icns. Questo file è disponibile in /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/SidebarDocumentsFolder.icns e contiene le icone utilizzate per le cartelle dei documenti.

Penserei che cambiando il valore com.apple.LSSharedFileList.TemplateSystemSelector su un valore diverso, o aggiornando il dizionario per 'sbDc' per fare riferimento a un diverso file icns ti farebbe strada sulla strada per avere icone personalizzate.


0

Capisco solo la zona in cui questo thread tratta il codice. Non sono un ingegnere o un ragazzo del software, ma l'ho trovato utile.

Cosa ho fatto. Scaricato l'ultimo xtrafinder dal sito Web predefinito e dopo l'installazione nelle preferenze selezionate mostra icone colorate nella barra laterale.

Quindi ho visto questo articolo http://forums.macrumors.com/archive/index.php/t-1609746.html

Qui se cambi l'icona funziona. L'ho provato con Airdrop.

inserisci qui la descrizione dell'immagine


0

Ecco un modo rapido per aggiungere icone alla barra laterale: Scarica l'app gratuita "XtraFinder" https://www.macupdate.com/app/mac/42067/xtrafinder Oltre ad aggiungere finestre di ricerca a schede, nel riquadro delle preferenze è presente una casella di controllo per "Mostra etichette colorate nella barra laterale" Controlla e vengono visualizzate le icone esistenti! Non potrebbe essere più semplice, inoltre ottieni dozzine di altre funzionalità nell'affare. Godere! (Funziona su 10.6.8 e successivi)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.