QSRegistration¶
This section gives Quicksilver additional information about your plug-in.
QSTypeDefinitions¶
This allows your custom type(s) to appear in the Actions section of the preferences. Any new types provided by your plug-in should be described here. The key is the name of a type as defined in your code. Each entry should have two children: name and icon.
An optional key available starting in Quicksilver build 4012 is smartspace. The value for smartspace should be an integer from 1 to 6. (Set the type to "Number".) You only need to define this if the default smart spacebar behavior is undesirable for this type of object.
What is the default behavior?
- If in the second pane, select the first action that takes an argument in the third pane
- If user is holding Shift, go to the parent (same as left arrow)
- If the object has children, show them (unless it's a text file)
- Jump to the third pane if the current action requires it
- Quick Look if the object supports it
- Switch to text mode
The available override values and their behaviors are:
- 1 - type a space
- 2 - next result (act like down arrow or ⌃J)
- 3 - jump to argument field (third pane)
- 4 - switch to text-entry mode
- 5 - show children (act like right arrow or slash)
- 6 - Quick Look
QSBundleChildHandlers¶
This lists bundles that should have children provided by your plug-in. (Generally this is used to allow right-arrowing into an existing application like Mail or Address Book.) The key should be the bundle ID, and the value should be the name of a class that contains a loadChildrenForObject: method.
QSApplicationActions¶
These are actions that only appear when a specific application is in the first pane. The key should be the bundle ID of the application. Under this is a dictionary of actions. See the iTunes module for an example.
QSProxies¶
This defines proxy objects provided by the plug-in. Example:
<key>QSProxies</key>
<dict>
<key>QSBlahProxyObject</key>
<dict>
<key>icon</key>
<string>GenericDocument</string>
<key>name</key>
<string>Current Blah Thing</string>
<key>providerClass</key>
<string>QSBlahSource</string>
<key>types</key>
<array>
<string>NSStringPboardType</string>
</array>
</dict>
</dict>
Omitting the icon or setting its value to "ProxyIcon" will cause the proxy object to take on the icon of the resolved object.
QSTriggerEvents¶
Your plug-in can post notifications that can be used to signal an event trigger. In order to add these notifications to the Event Triggers pop-up menu, you need to define them here. QSTriggerEvents is a dictionary. Each key is the name of a notification. The value is another dictionary with these keys:
name
: The name that will appear in the pop-up menu.
For events generated exclusively by Quicksilver, you should add `☿` after the name. For example, the "File Tagged" event will not be detected when files are tagged in Finder; only when the tags are modified by a Quicksilver action. So the name is shown as "File Tagged ☿".
type
: The category or group that this "event" will be under in the menu.
icon
: The icon that will appear next to the item in the pop-up menu.
provider
: The name of the class that posts the notification.
allowMatching
: Whether or not the match/ignore controls for triggers using this event should be enabled. If you plan on passing something specific as the Event Trigger Object, this should probably be YES.