Тож я набридла цим і вирішила виправити це важким шляхом.
Я з’ясував, де 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