Come posso nascondere l'icona Spotlight su Yosemite, ma mantenere la funzionalità Spotlight?


62

Uso Spotlight in OS X e non mi piace da tempo il suo allegato alla barra dei menu.

Ora, in Yosemite, Spotlight si presenta come una sovrapposizione nel mezzo dello schermo quando viene convocato, proprio come altre utility di avvio come Quicksilver o Alfred. Ma l'icona Spotlight è ancora bloccata nella mia barra dei menu, anche se facendo clic su di essa ora viene visualizzato un overlay totalmente distaccato.

Il modo tradizionale di disabilitare l'icona di ricerca ( chmod 600 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Search) disabilita completamente Spotlight. Voglio mantenere la funzionalità Spotlight, ma uccido l'icona della barra dei menu (ora inutile), poiché posso convocare Spotlight con Cmd + Space.

Ho anche provato Bartender, che funziona ma è costoso ($ 15 per rimuovere un'icona!) E stravagante (richiede un po 'di tempo all'avvio, quindi la mia barra dei menu finisce per spostarsi fino a un minuto dopo l'accesso)

Qual è il modo migliore per rimuovere l'icona Spotlight?


Non ho testato e sembra che possa essere un po 'datato, ma la domanda è la stessa e la risposta è contrassegnata e accettata. superuser.com/a/32802/375410
jherran,

1
@jherran: Questo non risolve il problema, sfortunatamente. Voglio ancora essere in grado di utilizzare Cmd + Space per avviare l'overlay Spotlight.
nneonneo,

Risposte:


36

Quindi mi sono stufato di questo e ho deciso di risolverlo nel modo più duro.

Ho scoperto dove Spotlight inizializza l'elemento della barra di stato e ho appena corretto la dimensione della barra di stato su zero. Ciò richiede la modifica del file binario Spotlight . (Nota che Search.bundleè solo il piccolo stub in cui viene caricato SystemUIServerper consentire il Spotlight.appcontrollo della barra di stato).

Dovrai utilizzare il Terminale per eseguire alcuni comandi.

Per 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

Per 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 -lriga dovrebbe stampare qualcosa di simile al seguente:

248855   0 102
248856   0 100

Se non stampa nulla, la patch non è riuscita. Ho provato questo su OS X 10.10.3 (Yosemite) e OS X 10.11.5 (El Capitan; SIP off).

Ciò che questa patch sta facendo è sostituire il valore della larghezza della barra di stato (36.0 o 0000000000004240 in esadecimale in virgola mobile) con zero, in modo che quando l'elemento della barra di stato viene caricato, viene semplicemente visualizzato con una larghezza pari a zero, cioè è invisibile e non non influisce sul layout della barra.

Screenshot prima di fare questo trucco:

prima dell'hacking

Screenshot dopo aver fatto questo trucco:

dopo l'hack

L'icona del menu è sparita ma Cmd + Space continua a funzionare.


Per ripristinare, procedi come segue:

cd /System/Library/CoreServices/Spotlight.app/Contents/MacOS
sudo mv Spotlight.bak Spotlight
sudo killall Spotlight

Sembra davvero fantastico, ma per i meno esperti di Terminale tra di noi, puoi per favore aggiungere istruzioni su come tornare alla normalità se siamo mai così inclini?
user24601,

3
Aggiunte quelle istruzioni.
nneonneo,

1
Dopo questo riflettore non si avvia più. $ codesign -f -s - Spotlight Spotlight: replacing existing signature Spotlight: bundle format unrecognized, invalid, or unsuitable
Rnhmjoj,

1
Spotlight: sostituzione della firma esistente Spotlight: formato bundle non riconosciuto, non valido o non idoneo Nel sottocomponente: /System/Library/CoreServices/Spotlight.app/Contents/XPCServices/com.apple.metadata.SpotlightNetHelper.xpc
Jarno

2
Ancora valido per Sierra, anche se ho dovuto disabilitare temporaneamente la protezione dell'integrità del sistema ( stackoverflow.com/a/32661637/1252653 ) per consentirmi di duplicare l'eseguibile Spotlight.
Tintride

16

Consiglierei di utilizzare l'app di utilità chiamata Bartender. http://www.macbartender.com

Questa è un'utilità utile per gestire e modificare la modalità di visualizzazione delle icone della barra dei menu. Puoi lasciarli nella barra dei menu, farli cadere nella barra del barista che a sua volta si apre tramite una piccola icona nella barra dei menu, ma può contenere qualsiasi icona normalmente nella barra dei menu o nascondere del tutto l'icona.

Puoi vedere uno screenshot qui:

inserisci qui la descrizione dell'immagine


6
Ho detto che non volevo usare Bartender nella mia domanda, ma grazie comunque per il puntatore.
nneonneo,

5
Non funziona più nell'ultima versione di entrambi (OSX e Bartender :-(
Strinder

2
Aggiornamento: Funziona se si va in questo modo stackoverflow.com/questions/31640732/...
Strinder

Compatibile con Sierra?
Daniel Springer,

In che modo il barista lo nasconde così ...
Daniel Springer,

11

Ho finito per rimuovere l'icona e la funzionalità di ricerca Spotlight e ora uso Alfred ; è più veloce ed è gratuito (con l'estensione a pagamento che per lo più non ti serve).

Rimuovendo l'applicazione visibile Spotlight (e l'icona) i servizi di indicizzazione non vengono arrestati, viene interrotta solo l'interfaccia utente grafica, ovvero sia l'icona nella barra superiore del menu in alto che la finestra Cerca quando + Space. Ecco perché è necessaria un'altra applicazione per accedere a questi indici, come Alfred.

Quindi il seguente comando che modifica l'autorizzazione per rendere Searchnon eseguibile.

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

come detto non disabilita completamente Spotlight, rimuove solo un'interfaccia utente grafica di Spotlight.

Disconnettersi e accedere potrebbe essere sufficiente, se non semplicemente riavviare.


Puoi ripristinarlo con questo comando

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

Lo stesso qui devi disconnetterti o riavviare.

Questo metodo funziona ancora con 10.10.3.


Questo metodo probabilmente non è esattamente quello che la domanda è stata posta, ma ha il merito di limitare i tentativi di manipolazione. Basta cambiare i permessi dei file è molto più facile che cambiare il binario di un programma. solo per non mostrare l'icona Spotlight il binario di Spotlight.


4
L'ho fatto (in Yosemite), ma ora non riesco ad attivare i riflettori con la scorciatoia da tastiera! Ho dovuto sudo chmod 755 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Searchsu & killall SystemUIServerdi tornare.
Rahul Thakur,

@RahulThakur Sì, questo è il punto della risposta, Alfredo diventa lo strumento di ricerca principale , ma utilizza gli indici Spotlight. Anche con Alfred c'è un'opzione da lanciare conctrl+space
Brice,

1
Va bene, ma voglio solo rimuovere l'icona e non la funzionalità. Comunque grazie.
Rahul Thakur,

OK. Il barista forse è l'opzione migliore allora. Ma potresti sicuramente provare a provare Alfred. Soprattutto per quanto riguarda le informazioni che Apple perde quando si utilizza Spotlight.
Brice,

Stavo solo dicendo che questo ha ucciso Spotlight completamente per me e ho dovuto usare sudo chmod 755 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Searche riavviare per risolverlo.
Dillon,


2

Dozer è un'altra app per farlo che è completamente gratuita, a differenza di Bartender o Vanilla.

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.