quicksilver / Quicksilver

Quicksilver Project Source
http://qsapp.com
Apache License 2.0
2.74k stars 286 forks source link

Feature Request: Create proxy objects or plugins using just an Info.plist + some code #2893

Open pjrobertson opened 2 years ago

pjrobertson commented 2 years ago

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
anatomatic commented 2 years ago

This would be amazing — as more of a hacker (I fumble around and break things until I get something to work) than a proper coder, I would use this feature a lot. It would replace so many of my janky work-arounds.

K-blanc commented 1 year ago

Hope this would come true. It would get Quicksilver to another level.