2

使用 AppleScript,您可以创建一个运行另一个应用程序的脚本,然后将该脚本本身保存为一个应用程序并将其放置在 Dock 中。问题(不是真正的问题)是当您单击它时,它仍会在 Dock 上显示其他应用程序。是否可以阻止其他应用程序显示在 Dock 中,但像执行时通常那样显示其 GUI?

谢谢

4

2 回答 2

4

我能想到的唯一解决方案是将“其他应用程序”实际修改为没有 Dock 图标。它可以工作,但很讨厌:
•是的,您正在直接修改另一个应用程序——而不是从您的脚本中执行某些操作。
•因此,它将更改所述其他应用程序的每次启动,而不仅仅是从您的脚本中调用。
•它阻止OtherApp 有一个菜单栏(尽管组合键和任何窗口内控件仍然可以工作)。

但它很容易反转,几乎总是可以通过在应用程序的 Info.plist 文件中添加一个 GUI 模式标志来完成:

  1. 右键或 Ctrl 键单击另一个应用程序并选择“显示包内容”
  2. 打开“目录”文件夹
  3. 在您选择的文本/xml 编辑器中打开 Info.plist*
  4. 在第一行之后添加这两行<dict>
    <key>NSUIElement</key>
    <true/>
  5. 保存,然后启动应用程序。请记住……没有菜单栏,因此请确保其中一个窗口具有焦点,并且当您确认它在没有 Dock 图标的情况下运行时退出 -Q。

*如果您对编辑 xml 感到不安,或者如果 plist 文件是二进制文件,您将需要一个专用的 plist 编辑器。Apple 自己的属性列表编辑器包含在他们的免费开发工具中。

  1. 将子项添加到根(“信息属性列表”)。
  2. 将名称设置为NSUIElement
  3. 从编辑(或上下文)菜单中,将值类型设置为布尔值。
  4. 单击复选框 ON(将 bool 设置为 true)。
于 2010-12-06T17:04:46.833 回答
3

建立上一个答案——您可以使用相同的 XML 代码修改 Applescript 应用程序的 Info.plist。这将阻止 Applescript 应用程序显示图标(并且有一个菜单栏,根据我的经验,对于这种类型的“应用程序”无论如何都无法使用),但是您的主应用程序 - 您从 applescript 启动的应用程序 - 将像往常一样显示在 Dock 中。

我在 OSX 10.7 Lion 上试过这个,它成功了。

于 2011-12-13T16:09:48.400 回答