有没有办法切换 OS X Dock 中的应用程序图标?具体来说,我希望能够使用“deafults”命令切换给定应用程序中的某些内容。
答案1
如果要在应用程序未运行时删除图标:
单击并按住(拖动)Dock 中的图标,然后将其释放到其他地方。如果应用程序正在运行,图标将移回 Dock,但每次您退出应用程序时图标都会消失。如果应用程序未运行,图标将消失在“烟雾”中。
或者,右键单击 Dock 中的应用程序图标,然后选择选项,然后切换留在码头。
如果您还想在应用程序运行时隐藏图标:
有一种方法,但是存在两个问题:
- 应用程序不再具有菜单栏
- 该应用程序不再出现在
Cmd-Tab
程序列表中 - (2023) 这会导致代码签名问题,因此可能不适用于大多数应用程序。
该应用程序仍然响应为菜单项定义的键盘快捷键,因此如果您习惯仅使用这些快捷键来控制应用程序,这是可能的。
它看起来有点像在帮助菜单中选择“[程序名称] 帮助”菜单项时打开的内容。
为了实现它:
您需要编辑应用程序包中的文件Info.plist
。为此,请右键单击应用程序并选择“显示包内容”。导航到Contents
,然后编辑Info.plist
。
文件格式通常为 XML,您可以使用任何纯文本编辑器进行编辑,例如 TextWrangler、BBEdit、TextMate 甚至 TextEdit。
在包含 的行后直接插入以下行<dict>
:
<key>LSUIElement</key>
<true/>
保存文件并重新启动应用程序。
如果文件格式不是 XML,而是二进制(二进制文件以 开头bplist
,后跟二进制“垃圾”),则需要属性列表编辑器,它是 Apple 开发者工具的一部分(当然,如果你安装了 PLE,你始终可以使用它)
在 PLE 中打开文件,然后选择“添加项目”。输入“应用程序是代理(UIElement)”,它将自动完成。选中值框,然后保存。
答案2
或者......(基于@Daniel Beck 的回答)......
在 Xcode 中打开相同的 Info.plist
- 在顶层单击鼠标右键
Information Property List
键并选择Add Row
- 类型
Application is agent (UIElement)
作为新钥匙 - 将新键的值设置为
YES
- 节省
- 重启相应应用程序即可看到结果