On 12 Jan 2014, at 17:49, David Rees wrote:
Yes, that is really what I would like to do. Better script support
could open up QS to a much wider range of developers. While optimally
I would like to have ruby/python/bash, really just better AppleScript
would be a great step since developers can then use it as a bridge to
other languages.
I’d be far more interested in the ability to add to the catalog and
write actions using one of those other languages.
Most of what you see in the interface can be expressed as a property
list. So there could be some new thing that just needs the path to a
command (or it could just run every script in a particular directory).
You write the command and have it spit out a property list.
Here’s an example (in Python) that uses actual items from
Quicksilver’s catalog and turns them into something you can
manipulate.
import os
import plistlib
from pprint import pprint
catalog_entry_id = 'QSPresetHome'
index_path = os.getenv('HOME') \
+ '/Library/Caches/Quicksilver/Indexes/' \
+ catalog_entry_id + '.qsindex'
tag_objects = plistlib.readPlist(index_path)
pprint(tag_objects)
So you’d just reverse the process in your script. That is, do what
needs to be done to create an array of objects and dump it out as a
property list.
Actions can also be defined in this way, including the types that should
be allowed in the first and third panes. (In fact, most of them *are*
defined in property lists.) But then what would the action do and how?
Getting it to run some arbitrary code in a script is a bit trickier.
There’d be a similar problem when it came time to actually get objects
for the third pane. How would it ask for a list and how would you build
up the list? More often that not, you want to use existing objects from
Quicksilver’s catalog, but an external script wouldn’t have access
to them since they’re only in memory. That would be a problem for
AppleScript as well.
It used to be possible to create plug-ins that used Python for most
things. I’ll see if I can find some and figure out how it worked.
--
Rob McBroom
http://www.skurfer.com/
--
You received this message because you are subscribed to the Google Groups
"Quicksilver" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/blacktree-quicksilver.
For more options, visit https://groups.google.com/groups/opt_out.