¿Por qué Dropbox obtiene un icono en la barra lateral del Finder?

39

¿Por qué Dropbox obtiene un icono no genérico en la barra lateral de Finder, cuando otros directorios como Google Drive y Sites (nativos en OS X antes de Lion) tienen el mismo nombre genérico?

enter image description here

¿Cómo puedo personalizar los íconos utilizados por las carpetas en la barra lateral? OS X solía mostrar iconos individuales de todas las carpetas allí, no más.

Baumr
fuente

Respuestas:

35

Como ha notado, las versiones recientes de OS X solo muestran iconos de carpetas genéricos en la barra lateral. Entonces, ¿por qué Dropbox recibe un tratamiento especial?

La respuesta corta es que Dropbox utiliza una API no documentada para lograr esto. En términos no técnicos, es un truco especial que se instala con la aplicación Dropbox.


Algunos gente curiosa en StackOverflow Encontré el mecanismo específico usado por Dropbox: good ol 'mach_inject. El mismo paquete proporciona tanto el elemento de la barra de herramientas como el icono de la barra lateral.

Si tienes curiosidad, los archivos de recursos viven aquí (al menos, en mi sistema):

/Library/DropboxHelperTools/Dropbox_u502/DropboxBundle.bundle/Contents/Resources

Claramente, Dropbox hace todo lo posible para integrarse perfectamente en el Finder. Al carecer de un tratamiento similar, otras carpetas comunes solo tienen iconos genéricos en la barra lateral.


Edición 01/10/2015: A partir de Yosemite (10.10), hay una nueva, sancionada API de sincronización del buscador Para la integración, como señalan los doovers en otra respuesta. En El Capitán (10.11), Protección de integridad del sistema no permitirá el viejo enfoque de estilo mach_inject.

jmk
fuente
4
Google debería hacer lo mismo con Drive :)
Baumr
La integración del buscador Dropbox funciona con El Capitán. Tengo los menús contextuales, las insignias y el icono personalizado en la barra lateral. ¿Qué versión del cliente estás usando?
Matteo
@Matteo: Eso es interesante, cuando fui a verificar la versión (v3.10.6), ¡comenzó a funcionar! Te lo aseguro, no funcionó antes. Interesante ...
jmk
1
@Matteo: Ajá, la comprensión de lectura falla por mi parte. Alguien ya ha publicado con la API actualizada a continuación. ¡Gracias por la corrección!
jmk
9

Según la documentación de la Extensión de sincronización del buscador :

También puede usar la API del punto de extensión para agregar un botón de la barra de herramientas a la ventana del Finder o un icono de barra lateral para la carpeta supervisada .

Supongo que esto es lo que Dropbox usa para lograr esto y algunas / todas las demás funciones facilitadas por esta extensión. Por ejemplo, también puede:

  • Registrar un conjunto de carpetas para monitorear.
  • Recibir notificaciones cuando el usuario comienza o detiene la navegación del contenido de una carpeta supervisada. Por ejemplo, la extensión recibe una notificación cuando el usuario abre una carpeta supervisada en el Finder o en un cuadro de diálogo Abrir o Guardar.
  • Agregue, elimine y actualice distintivos y etiquetas en los elementos de una carpeta supervisada.
  • Mostrar un menú contextual cuando el usuario pulsa Control y hace clic en un elemento dentro   una carpeta supervisada.
  • Agrega un botón personalizado a la barra de herramientas del Finder.

Editar:

Como lo menciona Mugen a continuación, El Capitán no permitirá la inyección de código, por lo que FinderSync será la única opción en el futuro. Con FinderSync solo disponible desde 10.10+, la mejor opción sería en caso de que:

if (floor(NSAppKitVersionNumber) < NSAppKitVersionNumber10_10) { ... }
doovers
fuente
Eso parece estar en conflicto con la respuesta mejor calificada, ¿algún comentario?
Baumr
3
@Baumr Solo estoy especulando aquí, pero supongo que la respuesta de jmk probablemente fue correcta en el momento (y puede que aún lo sea), pero que ahora es más probable que Dropbox use la extensión de sincronización 'oficial' Finder desde el lanzamiento de Yosemite. Además, creo que para alguien que intenta lograr la misma funcionalidad en su propia aplicación, esta sería una solución más útil ya que está documentada.
doovers
Parece que tienes razón, ¿alguna forma de confirmar?
Baumr
2
En El-Capitan ya no podremos insertar código, por lo que la opción FinderSync es la única
Mugen
1
@Baumr, ya que la extensión FinderSync solo está disponible en 10.10+, creo que sería mejor en caso de que: if (floor(NSAppKitVersionNumber) < NSAppKitVersionNumber10_10) { ... }
Mugen
2

Instala la última aplicación Xtra Finder desde - http://www.trankynam.com/xtrafinder/

Enciende "Mostrar iconos coloridos en la barra lateral" Se encuentra debajo de un cuadro de texto de "Ancho máximo"

Para otros iconos en la barra lateral

Reemplace los archivos aquí: La carpeta /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ contiene el ICNS gris usado además de los archivos ICNS de 1024x1024 colores [no utilizados]. Cada archivo ICNS debe soportar los siguientes tamaños:

  • 16x16 72 dpi
  • 18x18 72 ppp
  • 32x32 144 y 72 dpi
  • 36x36 144 DPI
  • 64x64 144 DPI

Si ha agregado una carpeta personalizada a la barra lateral, también puede cambiar su icono. Digamos que el nombre de la carpeta se llama "Softwares" Prepare un archivo ICNS con el nombre SidebarSoftwares.icns en el directorio mencionado anteriormente.

Básicamente, el archivo icns debe llamarse SidebarFoldername.icns donde Sidebar permanece constante e ingresa el nombre de la carpeta correspondiente.

Para dropbox

Aplicar el archivo ICNS a / Usuarios / admin / Dropbox /Aplicaciones/Dropbox.app /Aplicaciones/Dropbox.app/Contents/Resources/box.icns (debe reemplazar este archivo por el que desea)

DropBox Finder iconos de la barra lateral

Navegar a /Library/DropboxHelperTools/Dropbox_u502/DropboxBundle.bundle/Contents/Resources

Aquí necesitas reemplazar lo siguiente: toolbar.tiff (32x32 píxeles 72 DPI)

sidebar.tiff (64x64 píxeles 72 DPI)

contextmenu.tiff (32x32 píxeles 72 DPI)

toolbar_large.png (19x19 píxeles 72 DPI)

sidebar_blue.png (16x16 píxeles 72 DPI)

Tech One
fuente
¿El bit acerca de agregar un icono de barra lateral personalizada para una carpeta requiere que la aplicación se instale, o se puede hacer solo? Además, ¿sabe si esto funcionará con Yosemite cuando se lance?
dhruveonmars
1
Acabo de intentar esto para agregar mi propio icono y no funcionó. Luego instalé la aplicación SideEffect que hace que los íconos sean coloridos y que aparezca mi ícono personalizado. Desinstalé la aplicación y mi icono se fue.
Pahnev
1

Dropbox utiliza la técnica de inyección de código del Buscador para personalizar el ícono de la barra lateral (y agrega elementos al menú del botón derecho y agrega el botón a la barra superior del Buscador). Y no hay una buena manera de personalizar el ícono de la barra lateral desde 10.7.

En Yosemite, Apple agregó algunas API para poder personalizar el menú de clic derecho del Finder y el elemento de la barra de herramientas, pero no estoy seguro de la barra lateral.

Nickolay Olshevsky
fuente
Hablando de Yosemite, creo que Dropbox ahora usa un Extensión Finder Sync para integrarme con el Finder ... pero no veo nada obvio en los documentos de esa característica sobre cómo proporcionar un servicio personalizado barra lateral ícono (se admiten los íconos de la barra de herramientas personalizada) ... Por lo tanto, el hack puede estar en su lugar.
Dan J
Claro, eso se llama extensión de sincronización del buscador. Pero no permite icono de barra lateral. Sin embargo, leí la documentación en diagonal, por lo que probablemente me perdí algo.
Nickolay Olshevsky
0

El instalador de Dropbox coloca uno allí y el instalador de Google Drive no lo hace.

Simplemente arrastre una carpeta a la barra lateral y se pegará, no es necesario instalarlo.

Hiltmon
fuente
10
Creo que la pregunta es específicamente sobre el icono.
asmeurer
Sí, esto no responde a la pregunta.
Baumr
2
Le daría a este otro voto de arriba si pudiera. Es solo código y el instalador de Dropbox instala esta característica cuando se ejecuta en segundo plano. Es como tener una fiesta e invitas a dos invitados. Uno deja su tarjeta de visita en su cómoda, el otro no. No es el dueño quien hizo la elección, son los invitados los que se comportaron de manera diferente.
bmike
2
@bmike, la segunda parte de la pregunta fue: "¿Cómo puedo personalizar los íconos utilizados por las carpetas en la barra lateral?"
Baumr
0

Pude obtener el icono de descarga nativo en la barra lateral para una carpeta de descargas movida. El proceso no fue fácil y se describe aquí: https://github.com/w0lfschild/colorfulSidebar_9/issues/1 Se basa en mySIMB y colorfulSidebar. Hace 3 años dejé de configurar el ícono de Descargas nativas. Hoy decidí darle otra oportunidad y eventualmente está funcionando.

Sassan
fuente