删除 Mac OS X 中 shell 可执行文件的停靠图标?
Posted
技术标签:
【中文标题】删除 Mac OS X 中 shell 可执行文件的停靠图标?【英文标题】:Remove dock icon for shell executable in Mac OS X? 【发布时间】:2011-01-27 10:52:18 【问题描述】:我知道您可以通过设置LSUIELEMENT = 1
来移除应用程序的停靠图标。我有一个由cx_freeze
创建的可执行文件,它将一组 Python 脚本捆绑到一个可执行文件中。如何在使用或不使用 AppleScript 的情况下删除停靠图标?
【问题讨论】:
【参考方案1】:普通的可执行文件(即命令行工具)不会出现在 Dock 中。
【讨论】:
我正在使用用 cxfreeze 创建的可执行二进制文件(python 脚本到可执行文件) @makalways:你可能应该在你的问题中提到这一点,并澄清你所说的“可执行文件”是什么意思——我猜 cxfreeze 实际上会生成一个包而不是一个普通的可执行文件。【参考方案2】:我的应用在其中一个框架中有一些辅助命令行工具。如果工具存储在框架的可执行目录中,Mac OS X 想要在 Dock 中显示它们。由于这些工具运行速度很快,这会显示为一个短暂的闪烁,所有其他 Dock 图标都会移动,为新图标腾出空间,然后再向后移动。
为了解决这个问题,我在Info.plist
中将LSBackgroundOnly
设置为true
。 LSUIElement
可能也可以。由于命令行工具只是一个文件,因此设置Info.plist
的方式是拥有一个单独的文件,Xcode 会嵌入到二进制文件中。您可以通过将-sectcreate __TEXT __info_plist $(INFOPLIST_FILE)
添加到OTHER_LDFLAGS
构建设置来进行设置。 (希望有一个 Makefile 行或等效项,您可以在其中为cx_freeze
设置它。)
【讨论】:
以上是关于删除 Mac OS X 中 shell 可执行文件的停靠图标?的主要内容,如果未能解决你的问题,请参考以下文章
Mac OS X查看二进制可执行文件引用的动态链接库(otool –L xxxx.dylib)