Otra pregunta sobre el icono de la barra lateral personalizada (System Info.plist Question)

5

He examinado casi todas las búsquedas en Google que pude pensar y obtuve lo que creo que parece estar cerca de una respuesta sobre cómo configurar íconos personalizados en la barra lateral SIN tener que recurrir a la piratería mach_inject de Dropbox, pero tengo una Algunas preguntas y estoy perplejo. Mi pregunta principal es: ¿Puede establecer un 'tipo' en una carpeta? El motivo es preguntar porque al entrar en /System/Library/CoreServices/CoreTypes.bundle/Contents hay un archivo Info.plist. Este archivo muestra las asociaciones de iconos para las carpetas del sistema. Antes de profundizar en los iconos de la barra lateral, en primer lugar, me gustaría saber cómo están asociados los iconos 'regulares' a las carpetas del sistema. Usaré la carpeta 'Documentos' como ejemplo. Puedo ver en Tipos de documentos en este archivo Info.plist, el ítem 155 es para la carpeta Documentos y explica que el ícono que debe estar asociado a la carpeta Documentos debe ser DocumentsFolderIcon.icns. También indica que el 'Tipo de SO del documento' es un tipo de 4 caracteres, llamado 'docs'.

EsseguroasumirquesicreéunaNuevacarpeta,dealgunamanerapodríaeditarunatributoextendidooalgúntipodemetadatosquedeclarenqueminuevacarpetaesdeltipo'docs',loqueharáqueelFindermuestreelDocumentsFolderIcon.¿Porqué?¿Cómopuedomodificarmicarpeta'tipo'deesamanera?

Además,enelmismoarchivoInfo.plist,explicalosiconosdelabarralateral.EldiccionarioparaelElemento10(eliconodelabarralateralDocumentos)explicaqueeltipodesistemaoperativodeldocumentode'sbDc'mostraráelSidebarDocumentsFolder.icns.Nuevamente,conmicarpetareciéncreada,¿puedoeditardealgunamaneraunatributoometadatosparaindicarqueeltipodebarralateraldeberíaser'sbDc'enlugardel'sbFd'predeterminado(queesparaelíconoCarpetagenérica)?

Ser capaz de modificar esos atributos en mi nueva carpeta de esa manera me puede proporcionar una prueba de concepto para obtener iconos de barra lateral personalizados sin necesidad de trucos de mach_inject, y me permite crear nuevas carpetas que actúen como si fueran Las carpetas generadas por el sistema con sus propios iconos de barra lateral personalizada y todo.

(Sé que hay OTRO archivo en / Biblioteca / Preferencias llamado com.apple.sidebarlists.plist, pero estoy confundido, porque para la definición de la carpeta Documentos, indica un número decimal para com.apple.LSSharedFileList.TemplateSystemSelector que, cuando se convierte a hexadecimal, luego a ASCII, deletrea "sbDt" y NO "sbDc", que figura en el archivo Info.plist del sistema como Tipo de barra lateral de Documentos) --EDIT-- En realidad, lo modifiqué para intentar hacer un cambio para ver qué pasa; el número decimal que se estableció originalmente para Documentos por defecto es, de hecho, 1.935.819.875, lo que se traduce como 'sbDc' en ASCII. (La siguiente captura de pantalla tiene mi cambio en ella).

Entonces, solo para recapitular, ¿cómo puedo modificar los atributos, metadatos, o como se llame, en una carpeta recién creada para declararla de tipo 'docs' en lugar de 'fldr, fold, utif o aexf' para que en lugar del icono genérico de la carpeta, muestra el icono de la carpeta Documentos?

Una vez más, sé que esto ha sido golpeado hasta la muerte, siento que estoy tan cerca de poder establecer iconos personalizados e iconos de barra lateral sin tener que recurrir a inyecciones de código ...

Gracias de antemano!

- Solo una nota adicional sobre los iconos personalizados 'regulares' (no los iconos de la barra lateral): sé cómo configurar un icono personalizado para una carpeta usando métodos convencionales, pero cuando selecciona una imagen usando vista previa y luego 'Obtener información' en su carpeta y pegue su imagen en la esquina superior izquierda para configurar el ícono, el tamaño en el disco para su carpeta cambia ... que es no cómo las carpetas del sistema tienen sus íconos configurados. Las carpetas del sistema deben asociar sus iconos con ese tipo de 4 caracteres de alguna manera y estoy tratando de hacer lo mismo con mi propia carpeta personalizada .--

UPDATE

La respuesta de Tobias (ver su respuesta a continuación) parece estar en el camino correcto, pero por mi vida no puedo encontrar qué archivo conecta un camino a un ícono. He intentado buscar en todos los archivos de mi computadora la cadena '/ Sites' usando Terminal. Si crea una carpeta de 'Sitios' en su carpeta de 'inicio', obtendrá un ícono especial con un logotipo de Safari, pero si crea una carpeta de 'Sitios' en su escritorio, obtendrá un ícono de carpeta genérico . Así que la discriminación en el camino definitivamente está en marcha, ¡gracias Tobias! Por alguna razón, 'Sitios' es especial y sobrante de versiones anteriores de OS X que creo o destinado a desarrolladores web (aunque, curiosamente, no tiene un icono especial de barra lateral, aún tiene un icono de carpeta genérico en la barra lateral). ¿Alguien podría explicar cómo y por qué la carpeta de Sitios es tan especial? Énfasis en el cómo , lol.

    
pregunta Nick J 22.11.2013 - 11:17

2 respuestas

3

Si simplemente intenta cambiar el ícono predeterminado a otra cosa, aquí es una respuesta que proporcioné un post anterior. Lo he usado para personalizar varios íconos en la barra lateral del Finder.

    
respondido por el Dave 22.11.2013 - 15:05
2

Usted asume que debe haber una propiedad en el archivo / carpeta para su tratamiento especial de iconos.

Al usar la Terminal y ls -l@e se muestran todas las claves de atributos extendidos y la Lista de control de acceso (ACL) asociada con el archivo / carpeta. Lo único especial de las carpetas especiales es que la ACL establece 0: group:everyone deny delete . Una copia con cp -a , que conserva todo, incluidas las claves de atributos extendidos y la ACL, no conserva el icono especial.

Por lo tanto, no hay propiedades en el archivo / carpeta.

En su lugar, Finder trata estas carpetas de manera diferente, todas ellas mismas.

Lo hace simplemente por discriminación de caminos. Use sudo mv para verificar esto.

Notas adicionales

  • La localización del nombre se realiza mediante un archivo .localized dentro de la carpeta.
  • Los iconos personalizados dan como resultado un atributo

    com.apple.FinderInfo      32
    

    en la carpeta y el archivo especial

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

    dentro de la carpeta.

Siguiente paso: busque algo que conecte las rutas con su tipo de sistema operativo de documentos. Esperemos que sea un .plist o algo accesible.

    
respondido por el Tobias Simon 07.03.2014 - 13:07

Lea otras preguntas en las etiquetas