¿Cómo oculto el icono de Spotlight en Yosemite, pero mantengo la funcionalidad de Spotlight?

62

Utilizo Spotlight en OS X, y hace tiempo que no me gusta su adjunto a la barra de menú.

Ahora, en Yosemite, Spotlight aparece como una superposición en el medio de la pantalla cuando se invoca, al igual que otras utilidades de inicio como Quicksilver o Alfred. Pero el ícono de Spotlight todavía está atascado en mi barra de menú, aunque hacer clic en él ahora muestra una superposición totalmente separada.

La forma tradicional de deshabilitar el ícono de búsqueda ( chmod 600 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Search) también deshabilita completamente Spotlight. Quiero mantener la funcionalidad de Spotlight, pero elimino el icono de la barra de menú (ahora inútil), ya que puedo invocar Spotlight con Cmd + Space.

También probé Bartender, que funciona, pero es caro (¡$ 15 para eliminar un ícono!) Y peculiar (tarda un tiempo en iniciarse, por lo que mi barra de menú termina cambiando durante un minuto después de iniciar sesión)

¿Cuál es la mejor manera de eliminar el ícono de Spotlight?

nneonneo
fuente
No lo he probado y parece que puede estar un poco desactualizado, pero la pregunta es la misma y la respuesta está marcada y aceptada. superuser.com/a/32802/375410
jherran
1
@jherran: Eso no resuelve el problema, desafortunadamente. Todavía quiero poder usar Cmd + Espacio para iniciar la superposición de Spotlight.
nneonneo

Respuestas:

36

Así que me cansé de esto y decidí arreglarlo de la manera difícil.

Descubrí dónde Spotlight inicializa el elemento de la barra de estado, y simplemente parcheé el tamaño de la barra de estado a cero. Esto requiere editar el binario de Spotlight . (Tenga en cuenta que Search.bundlees solo el pequeño trozo que se carga SystemUIServerpara permitir Spotlight.appcontrolar la barra de estado).

Tendrás que usar la Terminal para ejecutar algunos comandos.

Para OS X 10.10 (Yosemite):

cd /System/Library/CoreServices/Spotlight.app/Contents/MacOS
sudo cp Spotlight Spotlight.bak
sudo perl -pi -e 's|(\x48\xb8\x00\x00\x00\x00\x00\x00)\x42\x40(\x48\x89\x47\x10\x48\xB8\x00\x00\x00\x00\x00\x00\x36\x40)|$1\x00\x00$2|sg' Spotlight
cmp -l Spotlight Spotlight.bak 
sudo codesign -f -s - Spotlight
sudo killall Spotlight

Para OS X 10.11 (El Capitan):

cd /System/Library/CoreServices/Spotlight.app/Contents/MacOS
sudo cp Spotlight Spotlight.bak
sudo perl -pi -e 's|(\x00\x00\x00\x00\x00\x00\x47\x40\x00\x00\x00\x00\x00\x00)\x42\x40(\x00\x00\x80\x3f\x00\x00\x70\x42)|$1\x00\x00$2|sg' Spotlight
cmp -l Spotlight Spotlight.bak 
sudo codesign -f -s - Spotlight
sudo killall Spotlight

La cmp -llínea debe imprimir algo como lo siguiente:

248855   0 102
248856   0 100

Si no imprime nada, entonces el parche falló. He probado esto en OS X 10.10.3 (Yosemite) y OS X 10.11.5 (El Capitan; SIP desactivado).

Lo que está haciendo este parche es reemplazar el valor de ancho de la barra de estado (36.0 o 0000000000004240 en punto flotante hexadecimal) con cero, de modo que cuando se carga el elemento de la barra de estado simplemente se representa con un ancho de cero, es decir, es invisible y no No afecta el diseño de la barra.

Captura de pantalla antes de hacer este truco:

antes de hackear

Captura de pantalla después de hacer este truco:

después de hackear

El ícono de menú desapareció pero Cmd + Espacio continúa funcionando.


Para revertir, haga lo siguiente:

cd /System/Library/CoreServices/Spotlight.app/Contents/MacOS
sudo mv Spotlight.bak Spotlight
sudo killall Spotlight
nneonneo
fuente
Esto se ve realmente increíble, pero para los menos alfabetizados en terminales entre nosotros, ¿podría agregar instrucciones sobre cómo volver a la normalidad si alguna vez estamos tan dispuestos?
user24601
3
Se agregaron esas instrucciones.
nneonneo
1
Después de que este foco ya no comience. $ codesign -f -s - Spotlight Spotlight: replacing existing signature Spotlight: bundle format unrecognized, invalid, or unsuitable
Rnhmjoj
1
Spotlight: reemplazando la firma existente Spotlight: formato de paquete no reconocido, inválido o inadecuado En el subcomponente: /System/Library/CoreServices/Spotlight.app/Contents/XPCServices/com.apple.metadata.SpotlightNetHelper.xpc
Jarno
2
Todavía es válido para Sierra, aunque tuve que desactivar temporalmente la Protección de integridad del sistema ( stackoverflow.com/a/32661637/1252653 ) para darme derechos para duplicar el ejecutable de Spotlight.
tinystride
16

Recomiendo usar la aplicación de utilidad llamada Bartender. http://www.macbartender.com

Esta es una útil utilidad para administrar y cambiar la forma en que se muestran los iconos de la barra de menú. Puede dejarlos en la barra de menú, dejarlos caer en la barra de barman que se abre a través de un pequeño icono en su barra de menú, pero puede mantener cualquiera de los iconos normalmente en la barra de menú u ocultar el icono por completo.

Puedes ver una captura de pantalla aquí:

ingrese la descripción de la imagen aquí

Ali Samii
fuente
66
Dije que no quería usar Bartender en mi pregunta, pero gracias por el puntero de todos modos.
nneonneo
55
Ya no funciona en la última versión de ambos (OSX y Bartender :-(
Strinder
2
Actualización: funciona si va por este camino stackoverflow.com/questions/31640732/…
Strinder
Compatible con Sierra?
Daniel Springer el
Cómo demonios Bartender lo esconde así ...
Daniel Springer el
11

Terminé eliminando el icono y la funcionalidad de Spotlight Search y ahora uso Alfred en su lugar; es más rápido y es gratis (con una extensión de pago que en su mayoría no necesita).

Al eliminar la aplicación visible de Spotlight (y el ícono), los servicios de indexación no se detienen, solo se detiene la interfaz gráfica de usuario, es decir, tanto el ícono en la barra superior del menú superior como la ventana Buscar cuando + Space. Es por eso que necesita otra aplicación para acceder a estos índices, como Alfred.

Entonces, el siguiente comando que cambia el permiso para hacer Searchno ejecutable.

sudo chmod 600 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Search

como se dijo, no deshabilita completamente Spotlight, solo elimina la interfaz gráfica de usuario de Spotlight.

Cerrar sesión e iniciar sesión puede ser suficiente, si no solo reiniciar.


Puedes revertirlo con este comando

sudo chmod 755 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Search

Lo mismo aquí tienes que cerrar sesión o reiniciar.

Este método todavía funciona con 10.10.3.


Este método probablemente no sea exactamente lo que se hizo la pregunta, pero tiene el mérito de limitar los errores de manipulación. Simplemente cambiar los permisos de los archivos es mucho más fácil que cambiar el binario de un programa. simplemente para no mostrar el icono de Spotlight el binario de Spotlight.

Brice
fuente
44
Hice esto (en Yosemite), ¡pero ahora tampoco puedo activar el foco con el atajo de teclado! Tuve que sudo chmod 755 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Searchy killall SystemUIServerpara volver atrás.
Rahul Thakur
@RahulThakur Sí, ese es el punto de la respuesta, Alfred se convierte en la principal herramienta de búsqueda , pero utiliza índices destacados. También con Alfred hay una opción para lanzarctrl+space
Brice
1
De acuerdo, pero solo quiero eliminar el icono y no la funcionalidad. Gracias de todos modos.
Rahul Thakur
OKAY. Bartender quizás la mejor opción entonces. Pero definitivamente querrás probar Alfred. Especialmente con respecto a la información que Apple está filtrando al usar Spotlight.
Brice
Solo replicó que esto mató a Spotlight por completo para mí y tuve que usarlo sudo chmod 755 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Searchy reiniciarlo para solucionarlo.
Dillon
4

Una solución simple y más amplia para este problema es ocultar iconos en la barra de menú con Vanilla , que es una utilidad gratuita desarrollada por Matthew Palmer y tiene la misma funcionalidad central que Bartender, pero en un paquete más minimalista.

http://matthewpalmer.net/vanilla/

juil
fuente
2

Dozer es otra aplicación para hacer que es completamente gratuita, a diferencia de Bartender o Vanilla.

xji
fuente