1

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

  1. 我有一个名为 start_server.sh 的 shell 脚本(和一些苹果脚本),它做了 3 件事:

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

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

我这样做了,然后对其进行了测试,并且可以正常工作。然后我尝试仔细检查它,所以我退出了 quicksilver,当我检查触发器时,它只是说:“打开(空)”作为操作。我再次设置触发器,当我重新启动 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。

4

2 回答 2

1

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

编辑:plist 文件中的条目是键值对。(null) 可能表示缺少目标值(至少据我所知,无法重现问题)。

于 2010-06-16T08:23:08.510 回答
0

I've hit the same problem, and found some luck getting triggers to stick if everything they point to is in the Catalog. In other words, if I want to bind Cmd-Shift-Ctrl-k to "Open KeePass X", then I need to make sure that KeePassX.app is in the catalog.

Hope this helps,

-Chris

于 2011-09-24T00:37:43.653 回答