Ancora un'altra icona personalizzata della barra laterale Domanda (Informazioni su System.plist)

5

Ho esaminato quasi tutte le ricerche di Google a cui potevo pensare e ho ottenuto quello che sembra essere vicino a una risposta su come impostare icone personalizzate nella barra laterale SENZA dover ricorrere all'hackery mach_inject di Dropbox, ma ho una alcune domande e sono perplesso. La mia domanda principale è: puoi impostare un 'tipo' in una cartella? Il motivo è chiedere perché quando si va in /System/Library/CoreServices/CoreTypes.bundle/Contents c'è un file Info.plist. Questo file mostra associazioni di icone per le cartelle di sistema. Prima di entrare nelle icone della barra laterale, però, vorrei sapere in primo luogo come le icone "normali" sono associate alle cartelle di sistema. Userò la cartella "Documenti" come esempio. Riesco a vedere in Tipi di documento in questo file Info.plist, l'articolo 155 è per la cartella Documenti e spiega che l'icona che dovrebbe essere associata alla cartella Documenti deve essere DocumentsFolderIcon.icns. Indica inoltre che il "Tipo di documento OS" è un tipo di 4 caratteri, denominato "docs".

Èlecitoritenerecheseavessicreatounanuovacartella,potreiinqualchemodomodificareunattributoestesoounasortadimetadatichedichiaranochelamianuovacartellasiaditipo"docs" che farà sì che Finder visualizzi DocumentFolderIcon. ghiaccioli per questo? Come posso modificare la mia cartella 'tipo' in quel modo?

Inoltre, nello stesso file Info.plist, spiega le icone della barra laterale. Il dizionario per l'elemento 10 (l'icona della barra laterale Documenti) spiega che il tipo di documento OS di "sbDc" visualizzerà SidebarDocumentsFolder.icns. Di nuovo, con la mia cartella appena creata, posso in qualche modo modificare un attributo o metadati per indicare che il tipo della barra laterale dovrebbe essere 'sbDc' invece del predefinito 'sbFd' (che è per l'icona della cartella generica).

Essereingradodimodificarequegliattributinellamianuovacartellainquestomodopuòfornirmiunaprovadiconcettoperottenereiconepersonalizzatedellabarralateralesenzarichiederetrucchimach_injectemiconsentediessereingradodicrearenuovecartellechefunzionanocomesefosserocartellegeneratedalsistemaconleproprieiconedellabarralateralepersonalizzateetuttoilresto.

(Sochec'èunaltrofilein/Library/Preferenceschiamatocom.apple.sidebarlists.plist,masonoconfuso,perchéperladefinizionedellacartellaDocumenti,indicaunnumerodecimalepercom.apple.LSSharedFileList.TemplateSystemSelectorche,unavoltaconvertitoinesadecimale,quindiinASCII,componi"sbDt" e NON "sbDc" che è elencato nel file Info.plist di sistema come tipo di barra laterale Documenti) --EDIT-- In realtà, l'ho modificato nel tentativo di fai un cambiamento per vedere cosa succede; il numero decimale originariamente impostato per Documenti di default è in effetti 1.935.819.875, che si traduce in "sbDc" in ASCII. (Il seguente screenshot ha la mia modifica in esso.)

Quindi,perricapitolare,comepossomodificaregliattributi,imetadatioqualunquecosavengachiamata,suunacartellaappenacreataperdichiararloditipo"docs" invece di digitare "fldr, fold, utif o aexf" in modo che invece dell'icona della cartella generica, visualizza l'icona della cartella Documenti?

Ancora una volta, so che questo è stato picchiato a morte, mi sento come se fossi così vicino a essere in grado di impostare icone personalizzate e icone della barra laterale senza dover ricorrere a iniezioni di codice ...

Grazie in anticipo!

- Solo una nota in più sulle icone personalizzate "normali" (non sulle icone della barra laterale): so come impostare un'icona personalizzata per una cartella usando metodi convenzionali, ma quando selezioni un'immagine usando l'anteprima e poi "Ottieni informazioni" sulla cartella e incollare l'immagine nell'angolo in alto a sinistra per impostare l'icona, la dimensione sul disco per le modifiche della cartella ... che è non come le cartelle di sistema hanno le loro icone impostate. Le cartelle di sistema devono associare le loro icone con quel tipo di 4 caratteri in qualche modo e sto cercando di fare lo stesso con la mia cartella personalizzata .--

UPDATE

La risposta di Tobias (vedi la sua risposta sotto) sembra essere sulla strada giusta, ma non posso per la vita di me trovare quale file collega un percorso a un'icona. Ho provato a cercare ogni file sul mio computer per la stringa "/ Sites" usando Terminal. Se crei una cartella "Sites" nella tua cartella "home", verrà visualizzata un'icona speciale con un logo Safari, ma se crei una cartella "Sites", ad esempio, sul desktop, verrà visualizzata un'icona di cartella generica . Quindi la discriminazione sul percorso sta andando decisamente avanti, grazie a Tobias! Per qualche motivo 'Sites' è speciale e avanzato dalle versioni precedenti di OS X credo o inteso per gli sviluppatori web (anche se, curiosamente, non ha una speciale icona della sidebar, ottiene comunque un'icona di cartella generica nella sidebar). Qualcuno potrebbe spiegare come e perché la cartella Sites è così speciale? Enfasi su come , lol.

    
posta Nick J 22.11.2013 - 11:17
fonte

2 risposte

3

Se stai semplicemente cercando di cambiare l'icona predefinita in qualcos'altro, qui è una risposta che ho fornito per un post precedente. Ho usato questo per personalizzare diverse icone nella barra laterale del Finder.

    
risposta data 22.11.2013 - 15:05
fonte
2

Si presume, che ci deve essere una proprietà sul file / cartella per il trattamento speciale delle icone.

L'uso del terminale e ls -l@e mostra tutte le chiavi di attributo estese e l'elenco di controllo di accesso (ACL) associato al file / alla cartella. L'unica cosa speciale delle cartelle speciali è che l'ACL indica 0: group:everyone deny delete . Una copia con cp -a , che conserva tutto, comprese le chiavi degli attributi estesi e l'ACL, non mantiene l'icona speciale.

Quindi non esiste alcuna proprietà sul file / cartella.

Al contrario, Finder tratta queste cartelle in modo completamente diverso da solo.

Lo fa semplicemente per discriminazione di percorsi. Usa sudo mv per verificare questo.

Note aggiuntive

  • La localizzazione del nome è effettuata da un file .localized all'interno della cartella.
  • Le icone personalizzate danno un attributo

    com.apple.FinderInfo      32
    

    nella cartella e nel file speciale

    -rw-r--r--@  1 <user> <group> 0 <dd> <mmm> <yyyy> Icon?
        com.apple.FinderInfo         32 
        com.apple.ResourceFork   202364 
    

    all'interno della cartella.

Passaggio successivo: cercare qualcosa che colleghi i percorsi al loro tipo di documento OS. Speriamo che sia un .plist facilmente accessibile o qualcosa del genere.

    
risposta data 07.03.2014 - 13:07
fonte

Leggi altre domande sui tag