Jak ukryć ikonę Spotlight w Yosemite, ale zachować funkcjonalność Spotlight?

62

Używam Spotlight w OS X i od dawna nie lubię jego załącznika do paska menu.

Teraz w Yosemite Spotlight pojawia się jako nakładka na środku ekranu po przywołaniu, podobnie jak inne narzędzia uruchamiające, takie jak Quicksilver lub Alfred. Ale ikona Spotlight nadal utknęła w moim pasku menu, chociaż kliknięcie jej pokazuje teraz całkowicie odłączoną nakładkę.

Tradycyjny sposób wyłączania ikony wyszukiwania ( chmod 600 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Search) również całkowicie wyłącza Spotlight. Chcę zachować funkcjonalność Spotlight, ale zabij (teraz bezużyteczną) ikonę paska menu, ponieważ mogę przywołać Spotlight za pomocą Cmd + Space.

Próbowałem także Bartender, który działa, ale jest zarówno drogi (15 USD, aby usunąć ikonę!), Jak i dziwaczny (uruchomienie zajmuje trochę czasu, więc mój pasek menu przesuwa się do minuty po zalogowaniu)

Jaki jest najlepszy sposób na usunięcie ikony Spotlight?

nneonneo
źródło
Nie testowałem i wydaje się, że to może być trochę przestarzałe, ale pytanie jest takie samo, a odpowiedź jest zaznaczona i zaakceptowana. superuser.com/a/32802/375410
jherran
1
@jherran: Niestety to nie rozwiązuje problemu. Nadal chcę mieć możliwość używania Cmd + Space do uruchomienia nakładki Spotlight.
nneonneo

Odpowiedzi:

36

Mam już tego dość i postanowiłem to naprawić.

Dowiedziałem się, gdzie Spotlight inicjuje element paska stanu i po prostu załatałem rozmiar paska stanu na zero. Wymaga to edycji pliku binarnego Spotlight . (Zauważ, że Search.bundleto tylko mały kod pośredniczący, który jest ładowany, SystemUIServeraby umożliwić Spotlight.appkontrolowanie paska stanu).

Będziesz musiał użyć terminala do wykonania niektórych poleceń.

W przypadku 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

W przypadku 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

cmp -lLinia powinna wydrukować coś jak następuje:

248855   0 102
248856   0 100

Jeśli nic nie drukuje, łatka nie powiodła się. Przetestowałem to na OS X 10.10.3 (Yosemite) i OS X 10.11.5 (El Capitan; SIP wyłączone).

Ta poprawka zastępuje wartość szerokości paska stanu (36,0 lub 0000000000004240 w liczbach szesnastkowych zmiennoprzecinkowych) zerem, tak aby po załadowaniu elementu paska stanu po prostu renderowała szerokość zero, tzn. Jest niewidoczna i nie nie wpływa na układ paska.

Zrzut ekranu przed zrobieniem tego hacka:

przed włamaniem

Zrzut ekranu po zrobieniu tego hacka:

po włamaniu

Ikona menu zniknęła, ale Cmd + Space nadal działa.


Aby przywrócić, wykonaj następujące czynności:

cd /System/Library/CoreServices/Spotlight.app/Contents/MacOS
sudo mv Spotlight.bak Spotlight
sudo killall Spotlight
nneonneo
źródło
Wygląda to naprawdę niesamowicie, ale jeśli mniej znamy się na terminalach, czy możesz dodać instrukcje, jak przywrócić normalną sytuację, jeśli jesteśmy tak skłonni?
user24601
3
Dodano te instrukcje.
nneonneo
1
Po tym świetle reflektorów już się nie zaczyna. $ codesign -f -s - Spotlight Spotlight: replacing existing signature Spotlight: bundle format unrecognized, invalid, or unsuitable
Rnhmjoj
1
Reflektor: Reflektor zastępując istniejący podpis: Format wiązka nierozpoznany, nieważne lub nienadające się w podskładnika: /System/Library/CoreServices/Spotlight.app/Contents/XPCServices/com.apple.metadata.SpotlightNetHelper.xpc
Jarno
2
Nadal obowiązuje dla Sierra, chociaż musiałem tymczasowo wyłączyć Ochronę integralności systemu ( stackoverflow.com/a/32661637/1252653 ), aby dać mi prawa do duplikowania pliku wykonywalnego Spotlight.
tinystride
16

Polecam korzystanie z aplikacji narzędziowej o nazwie Bartender. http://www.macbartender.com

Jest to przydatne narzędzie do zarządzania i zmiany sposobu wyświetlania ikon paska menu. Możesz zostawić je na pasku menu, upuścić w dół na pasek barmana, który sam otwiera się za pomocą małej ikony na pasku menu, ale może przechowywać dowolną z ikon normalnie na pasku menu lub całkowicie ukryć ikonę.

Tutaj możesz zobaczyć zrzut ekranu:

wprowadź opis zdjęcia tutaj

Ali Samii
źródło
6
Powiedziałem, że nie chcę używać Bartender w moim pytaniu, ale i tak dziękuję za wskaźnik.
nneonneo,
5
Nie działa już w najnowszej wersji obu systemów (OSX i barman :-(
Strinder
2
Aktualizacja: Działa, jeśli pójdziesz tą drogą stackoverflow.com/questions/31640732/…
Strinder
Kompatybilny z Sierra?
Daniel Springer,
Jak, u licha, barman tak to ukrywa ...
Daniel Springer,
11

Skończyło się na usunięciu ikony i funkcji wyszukiwania Spotlight, a teraz zamiast tego używam Alfred ; jest szybszy i darmowy (z płatnym rozszerzeniem, którego w większości nie potrzebujesz).

Po usunięciu widocznej aplikacji Spotlight (i ikony) usługi indeksacji nie są zatrzymywane, tylko graficzny interfejs użytkownika jest zatrzymany, tj. Zarówno ikona na górnym pasku menu górnego, jak i okno wyszukiwania, gdy + Space. Dlatego potrzebujesz innej aplikacji, aby uzyskać dostęp do tych indeksów, takiej jak Alfred.

Więc następujące polecenie, które zmienia uprawnienia, aby Searchnie było wykonywalne.

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

jak powiedziano, nie wyłącza całkowicie Spotlight, usuwa jedynie graficzny interfejs użytkownika Spotlight.

Wylogowanie i zalogowanie może być wystarczające, jeśli nie tylko ponowne uruchomienie.


Możesz cofnąć to za pomocą tego polecenia

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

To samo musisz się wylogować lub uruchomić ponownie.

Ta metoda nadal działa z 10.10.3.


Ta metoda prawdopodobnie nie jest dokładnie tym, o co pytano, ale ma tę zaletę, że ogranicza błędy manipulacyjne. Po prostu zmiana uprawnień do plików jest znacznie łatwiejsza niż zmiana pliku binarnego programu. aby nie wyświetlać ikony Spotlight w pliku binarnym Spotlight.

Brice
źródło
4
Zrobiłem to (w Yosemite), ale teraz nie mogę też włączyć reflektora za pomocą skrótu klawiaturowego! Musiałem sudo chmod 755 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Searchi killall SystemUIServerwrócić.
Rahul Thakur
@RahulThakur Tak, o to właśnie chodzi, alfred staje się głównym narzędziem wyszukiwania , ale korzysta z indeksów reflektorów. Również z Alfredem istnieje możliwość uruchomienia zctrl+space
Brice,
1
Okej, ale chcę tylko usunąć ikonę, a nie funkcjonalność. W każdym razie dzięki.
Rahul Thakur
DOBRZE. Barman może więc najlepszą opcją. Ale zdecydowanie możesz spróbować alfred. Zwłaszcza jeśli chodzi o informacje, które Apple wyciekają, gdy używasz reflektora.
Brice
Po prostu słyszę, że to zabiło Spotlight całkowicie dla mnie i musiałem użyć go sudo chmod 755 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Searchi zrestartować, aby to naprawić.
Dillon
4

Prostym i szerszym rozwiązaniem tego problemu jest ukrywanie ikon na pasku menu za pomocą Vanilla , która jest bezpłatnym narzędziem opracowanym przez Matthew Palmera i ma tę samą podstawową funkcjonalność co Bartender, ale w bardziej minimalistycznym pakiecie.

http://matthewpalmer.net/vanilla/

juil
źródło
2

Dozer to kolejna aplikacja, która jest całkowicie darmowa, w przeciwieństwie do barmana lub wanilii.

Xji
źródło