如何在Mac OS X中移除Shell可执行文件的Dock图标?
我知道可以通过设置 LSUIELEMENT = 1
来去掉一个应用的 dock 图标。我有一个用 cx_freeze
创建的可执行文件,它把一组 Python 脚本打包成一个单独的可执行文件。我该怎么做才能去掉这个 dock 图标呢?可以用 AppleScript,也可以不使用。
2 个回答
0
我的应用程序在某个框架里有一些辅助的命令行工具。如果这些工具放在框架的可执行文件目录下,Mac OS X会想把它们显示在Dock上。因为这些工具运行得很快,所以会出现一个短暂的闪烁,所有其他Dock图标会移动一下,为新图标腾出空间,然后又回到原来的位置。
为了解决这个问题,我在Info.plist
文件里把LSBackgroundOnly
设置为true
。LSUIElement
也可能有效。由于命令行工具只是一个单独的文件,所以设置Info.plist
的方法是有一个单独的文件,Xcode会把它嵌入到二进制文件里。你可以通过在OTHER_LDFLAGS
构建设置中添加-sectcreate __TEXT __info_plist $(INFOPLIST_FILE)
来设置这个。(希望在Makefile里有类似的行可以让你为cx_freeze
设置这个。)
0
普通的可执行文件(也就是命令行工具)不会在底部的任务栏(也叫“dock”)显示出来。