Таким образом, я сыт по горло этим и решил исправить это трудным путем.
Я выяснил, где Spotlight инициализирует элемент строки состояния, и я просто установил размер строки состояния на ноль. Это требует редактирования двоичного файла Spotlight . (Обратите внимание, что Search.bundle
это просто маленькая заглушка, которая загружается, SystemUIServer
чтобы позволить Spotlight.app
контролировать строку состояния).
Вам придется использовать Терминал для выполнения некоторых команд.
Для 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
Для 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 -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