【问题标题】:Run another application using AppleScript without showing it on the dock使用 AppleScript 运行另一个应用程序,而不在 Dock 上显示它
【发布时间】:2011-05-16 02:48:33
【问题描述】:

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

谢谢

【问题讨论】:

  • 为什么应用出现在 Dock 中会出现问题?
  • 不是,这就是为什么我说(不是真正的问题),实际上是好事(安全方面)。就我而言,我不想产生新的图标,而只是坚持点击的那个。
  • 我仍然不明白动机是什么 - 你为什么关心 Dock中是否还有另一个图标?
  • 其实你为什么要关心如果我真的想要那样:) 我的场景需要这个,你可能不喜欢它,但这不会让我改变我的愿望即使答案是“不可能”。

标签: applescript hide dock


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

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

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

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

    【讨论】:

    • 虽然还没有,但已经很接近了。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-13
    • 2012-08-15
    相关资源
    最近更新 更多