Як приховати піктограму Spotlight на Yosemite, але зберегти функціонал Spotlight?


62

Я використовую Spotlight в OS X, і мені давно не подобається його приєднання до панелі меню.

Тепер, в Yosemite, прожектор відображається як накладка в середині екрану при виклику, як і інші утиліти запуску, такі як Quicksilver або Альфред. Але піктограма Spotlight все ще застрягла в моєму меню, хоча натискання на неї тепер демонструє цілком відокремлений наклад.

Традиційний спосіб відключення значка пошуку ( chmod 600 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Search) також повністю вимикає Spotlight. Я хочу зберегти функціонал Spotlight, але вбити (зараз марний) значок menubar, оскільки я можу викликати Spotlight за допомогою Cmd + Space.

Я також спробував Bartender, який працює, але є і дорогим (15 доларів для видалення піктограми!), І химерним (для запуску потрібен певний час, тому мій рядок меню закінчується зміною протягом хвилини після входу)

Який найкращий спосіб видалити значок Spotlight?


Не пройшов тестування і, здається, може бути трохи застарілим, але питання те саме, а відповідь помічена та прийнята. superuser.com/a/32802/375410
jherran

1
@jherran: На жаль, це не вирішує проблему. Я все ще хочу використовувати Cmd + Space, щоб запустити накладку Spotlight.
nneonneo

Відповіді:


36

Тож я набридла цим і вирішила виправити це важким шляхом.

Я з’ясував, де Spotlight ініціалізує елемент рядка стану, і я просто перев’язав розмір рядка стану до нуля. Для цього потрібно редагувати двійковий прожектор . (Зверніть увагу, що Search.bundleце лише маленька заглушка, яку завантажується, SystemUIServerщоб дозволити Spotlight.appкерувати рядком стану).

Вам потрібно буде використовувати Термінал для виконання деяких команд.

Для ОС 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

Для ОС 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 -lрядку має бути надруковано щось на зразок наступного:

248855   0 102
248856   0 100

Якщо він нічого не виводить, то патч не вдався. Я перевірив це на OS X 10.10.3 (Yosemite) та OS X 10.11.5 (El Capitan; SIP вимкнено).

Що цей патч робить, це замінити значення ширини рядка стану (36,0 або 0000000000004240 у шестигранному знаку з плаваючою комою) на нуль, так що при завантаженні елемента рядка стану він просто виводиться з нульовою шириною, тобто він невидимий і не робить не впливатиме на макет смуги.

Знімок екрана перед цим злому:

перед зламом

Знімок екрана після цього злому:

після злому

Піктограма меню відсутня, але Cmd + Space продовжує працювати.


Щоб повернути назад, виконайте наступне:

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

Це виглядає насправді приголомшливо, але для менш грамотних терміналів серед нас можна додати інструкції, як повернутись до нормального стану, якщо ми коли-небудь так схильні?
user24601

3
Додано ці інструкції.
nneonneo

1
Після цього прожектор більше не запускається. $ codesign -f -s - Spotlight Spotlight: replacing existing signature Spotlight: bundle format unrecognized, invalid, or unsuitable
Rnhmjoj

1
Прожектор: заміна наявної підписи Прожектор: формат групи нерозпізнаний, недійсний або непридатний У підкомпоненті: /System/Library/CoreServices/Spotlight.app/Contents/XPCServices/com.apple.metadata.SpotlightNetHelper.xpc
Jarno,

2
Досі діє для Sierra, хоча мені довелося тимчасово відключити захист цілісності системи ( stackoverflow.com/a/32661637/1252653 ), щоб надати мені права дублювати виконуваний файл Spotlight.
tinystride

16

Я б рекомендував використовувати утилітний додаток Bartender. http://www.macbartender.com

Це зручна утиліта для управління та зміни способу відображення піктограм рядка меню. Ви можете залишити їх у рядку меню, якщо вони впали в барменний бар, який сам відкривається за допомогою невеликої піктограми в панелі меню, але може вмістити будь-яку з піктограм, як правило, в панелі меню, або приховати її повністю.

Скріншот можна побачити тут:

введіть тут опис зображення


6
Я сказав, що не хотів використовувати Бармена в своєму питанні, але все-таки дякую за вказівник.
nneonneo

5
Більше не працює в останній версії обох (OSX та Bartender :-(
Strinder

2
Оновлення: Працює , якщо йти по цьому шляху stackoverflow.com/questions/31640732 / ...
Strinder

Сумісний із Сьєрра?
Даніель Спрінгер

Як у світі бармен сховає це так ...
Даніель Спрінгер

11

Я в кінцевому підсумку видалив піктограму та функцію пошуку прожекторів, і тепер замість цього використовую Альфреда ; це швидше і безкоштовно (із розширенням оплати, яке вам в основному не потрібно).

Видалення видимої програми Spotlight (та піктограми) послуги індексації не зупиняються, зупиняється лише графічний інтерфейс користувача, тобто як значок у верхній панелі верхнього меню, так і вікно пошуку, коли + Space. Ось чому вам потрібна інша програма для доступу до цих індексів, наприклад, Альфред.

Отже наступна команда, яка змінює дозвіл зробити Searchне виконуваним.

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

як сказано, він не повністю відключає прожектор, він лише видаляє графічний інтерфейс користувача Spotlight.

Вихід із системи та вхід можуть бути достатніми, якщо не просто перезавантажити.


Ви можете повернути його за допомогою цієї команди

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

Тут же ви повинні вийти або перезапустити.

Цей метод все ще працює з 10.10.3.


Цей метод, мабуть, не точно задається питанням, але він має право обмежувати маніпуляції гвинтами. Просто зміна дозволів на файли набагато простіше, ніж зміна двійкового файла програми. щоб просто не показувати піктограму прожектора бінарне Прожектор.


4
Я робив це (в Йосеміті), але тепер не можу запускати прожектор і за допомогою комбінації клавіш! Мені довелося sudo chmod 755 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Search& killall SystemUIServerповернути назад.
Рахул Тхакур

@RahulThakur Так, саме в цьому полягає відповідь, Альфред стає головним інструментом пошуку , але він використовує покажчики прожектора. Також з Альфредом є варіант, який можна запустити зctrl+space
Брейс

1
Гаразд, але я хочу лише видалити значок, а не функціонал. У будь-якому випадку, дякую.
Рахул Тхакур

ГАРАЗД. Бармен, можливо, найкращий варіант тоді. Але ви, можливо, захочете спробувати Альфред. Особливо щодо інформації, що Apple просочується під час використання прожектора.
Бріс

Тільки зазвучав у тому, що це повністю вбило Прожектор для мене і довелося його використовувати sudo chmod 755 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Searchта перезавантажувати, щоб виправити це.
Діллон


2

Dozer - це ще одна програма, яка робить це абсолютно безкоштовно, на відміну від Бармена або Ванілі.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.