使用AppleScript运行另一个应用程序而不在Dock上显示它

时间:2010-11-26 10:03:17

标签: applescript hide dock

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

由于

2 个答案:

答案 0 :(得分:4)

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

虽然很容易逆转,但几乎总是可以通过向应用程序的Info.plist文件添加GUI模式标志来完成:

  1. 右键或按住Ctrl键并单击其他应用,然后选择“显示包内容”
  2. 打开“内容”文件夹
  3. 在您选择的text / xml编辑器中打开Info.plist *
  4. 在显示<dict>的第一行后面添加这两行 <key>NSUIElement</key>
    <true/>
  5. 保存,然后启动应用程序。请记住......没有菜单栏,因此请确保其中一个窗口具有焦点,并且当您确认它没有Dock图标运行时退出-Q。
  6. *如果你对编辑xml感到娇气,或者plist文件是二元变种,你需要一个专用的plist编辑器。 Apple自己的Property List Editor包含在他们的免费Dev Tools

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

答案 1 :(得分:3)

建立前一个答案 - 您可以使用相同的XML代码修改Applescript应用程序的Info.plist。这将阻止Applescript应用程序显示一个图标(并且有一个菜单栏,根据我的经验,无论如何这种'app'都无法使用),但是你的主要应用程序 - 你从AppleScript发布的那个 - 将会像往常一样在Dock中显示。

我在OSX 10.7 Lion上试过这个并且它运行成功。