如何让quicksilver记住自定义触发器

时间:2010-06-16 07:58:19

标签: macos quicksilver

我正在尝试为我的shell / apple脚本文件创建一个自定义触发器,这样我只需按一下按钮即可启动我的开发环境。所以基本上:

  1. 我在~name start_server.sh中有一个shell脚本(包括一些苹果脚本),可以做三件事:

    • 启动solr服务器
    • 启动memcached
    • 启动脚本/服务器
  2. 我有一个保存的quicksilver命令(.qs)打开start_server.sh(所以start_server.sh,然后操作是“在终端中运行”)

  3. 我创建了一个调用此保存的qs命令的自定义触发器。

  4. 我做了然后测试了它并且它运作。然后我试着仔细检查它,所以我退出了水银,当我检查触发器时它只是说:“打开(null)”作为动作。我再次设置了触发器,当我重新启动QS时,同样的事情又发生了。我不知道为什么,但我的旧自定义触发器打开终端已经永远工作了,为什么这个不起作用?

    重启QS后,这是触发器的屏幕:http://grab.by/4XWW

    如果您对如何为我的服务器启动“按钮”有任何其他建议,那么请这样做:)谢谢!

    作为补充说明,我已经尝试过这个帖子的步骤,但无济于事:http://groups.google.com/group/blacktree-quicksilver/browse_thread/thread/7b65ecf6625f8989

    这是Triggers.plist文件中假定的自定义触发器的片段:

    <dict>
      <key>ID</key>
      <string>2903BB6B-94CB-4DE8-B00D-23973FA54F3D</string>
      <key>command</key>
        <dict>
      <key>actionID</key>
      <string>FileOpenAction</string>
      <key>directID</key>
      <string>/Users/eumir/Documents/QScripts/start-dx-command.qscommand</string>
    </dict>
      <key>enabled</key>
      <true/>
      <key>keyCode</key>
      <integer>39</integer>
      <key>modifiers</key>
      <integer>1573160</integer>
      <key>onPress</key>
      <true/>
      <key>type</key>
      <string>QSHotKeyTrigger</string>
    </dict>
    

    取出文件夹和文件名中的空格,重启后仍然返回null。

2 个答案:

答案 0 :(得分:1)

首先,你有最新的测试版吗?最近的版本号发生了变化。 其次,我创建了一个自定义触发器,它通过重新启动Quicksilver而没有问题。我试图找出应用程序存储触发器信息的位置,并找到此属性文件:〜/ Library / Apllication Support / Quicksilver / Triggers.plist。 自定义条目的ID为“FE2976DF-DF14-4191-B56C-8A5E68F48A84”。 所以你可以尝试创建你的触发器,从plist文件中复制相应的行,关闭Quicksilver,如果线条消失(我实际上怀疑)再次复制它们。 如果这不起作用,至少你现在知道在哪里看。

编辑:plist文件中的条目是键值对。 (null)可能表示目标值丢失(至少在我无法重现问题的情况下可以判断)。

答案 1 :(得分:0)

我遇到了同样的问题,并且发现某些如果他们指向的所有内容都在目录中,那么就会获得触发器。换句话说,如果我想将Cmd-Shift-Ctrl-k绑定到“Open KeePass X”,那么我需要确保KeePassX.app在目录中。

希望这有帮助,

-Chris