所以我受够了,并决定用困难的方式解决它。
我找到了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 off)上进行了测试。
该修补程序正在执行的操作是将状态栏宽度值(36.0或浮点十六进制中的0000000000004240)替换为零,以便在加载状态栏项时,它仅以零宽度呈现,即不可见且不显示不会影响栏的布局。
进行此破解之前的屏幕截图:
进行此破解后的屏幕截图:
菜单图标消失了,但是Cmd + Space继续工作。
要还原,请执行以下操作:
cd /System/Library/CoreServices/Spotlight.app/Contents/MacOS
sudo mv Spotlight.bak Spotlight
sudo killall Spotlight