【发布时间】:2011-01-27 10:52:18
【问题描述】:
我知道您可以通过设置LSUIELEMENT = 1 来移除应用程序的停靠图标。我有一个由cx_freeze 创建的可执行文件,它将一组 Python 脚本捆绑到一个可执行文件中。如何在使用或不使用 AppleScript 的情况下删除停靠图标?
【问题讨论】:
标签: python macos dock cx-freeze
我知道您可以通过设置LSUIELEMENT = 1 来移除应用程序的停靠图标。我有一个由cx_freeze 创建的可执行文件,它将一组 Python 脚本捆绑到一个可执行文件中。如何在使用或不使用 AppleScript 的情况下删除停靠图标?
【问题讨论】:
标签: python macos dock cx-freeze
普通的可执行文件(即命令行工具)不会出现在 Dock 中。
【讨论】:
我的应用在其中一个框架中有一些辅助命令行工具。如果工具存储在框架的可执行目录中,Mac OS X 想要在 Dock 中显示它们。由于这些工具运行速度很快,这会显示为一个短暂的闪烁,所有其他 Dock 图标都会移动,为新图标腾出空间,然后再向后移动。
为了解决这个问题,我在Info.plist 中将LSBackgroundOnly 设置为true。 LSUIElement 可能也可以。由于命令行工具只是一个文件,因此设置Info.plist 的方式是拥有一个单独的文件,Xcode 会嵌入到二进制文件中。您可以通过将-sectcreate __TEXT __info_plist $(INFOPLIST_FILE) 添加到OTHER_LDFLAGS 构建设置来进行设置。 (希望有一个 Makefile 行或等效项,您可以在其中为cx_freeze 设置它。)
【讨论】: