quicksilver / quicksilver/Quicksilver
Feature Request: Create proxy objects or plugins using just an Info.plist + some code
Open
Nobody has claimed this yet.
- Dominant language
- Objective-C
- Stars
- 2.9k
- Forks
- 291
- PR merge metrics
- No merged PRs in 30d
Description
Following on from issue #2892, it would be great to make QS more customisable by allowing users to create their own proxy objects and plugins more easily.
I'd see this as something like creating a plist (or even better: json) as follows:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Type</key>
<string>QSProxyObject</string>
<key>Name</key>
<string>Latest Screenshot</string>
<key>script_type</key>
<string>bash/applescript</string>
<key>script_value</key>
<string>ls -At /Users/home/me/my_screenshots/{*,.*} | head -n1<strong>
OR:
<string>tell application system events to get "something" end tell</string>
<key>returns_multiple</key>
</false>
</dict>
</plist>
OR just:
{
name: "Latest Screenshot",
type: 'QSProxyObject",
script_type: "bash/applescript",
script_value: "ls -At /Users/home/me/my_screenshots/{*,.*} | head -n1"
OR:
script_value: "tell application system events to get "something" end tell"
returns_multiple: true // determines if one or multiple files are returned
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading issue #2892 and locating Quicksilver's existing proxy object and plugin entry points. Define how an Info.plist or JSON declaration supplies the name, type, script, and result cardinality, then verify that a declared example can load and return the requested result.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- bash, json, objective-c
- Domain
- desktop-dev, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100