Using Quicksilver's "Current Selection" on DT files

Before I reformatted my Mac, I was able to use Quicksilvers hotkey command (cmd+esc) to essentially send the file to Quicksilver to then be able to apply a whole host of actions on the file. Now after I’ve reformatted, I no longer have that ability, and I’m wondering how I would go about troubleshooting to find out how to get back the feature.

Thanks for the consideration!

Maybe the Quicksilver support or forum might have some folks who know how to restore deleted settings? (I notice the same question – yours? – was posted in the Q forum.)


Yes you’re assumption is correct; I cross posted this question here. And I did do a search, but this feature was recently added in the recent builds of QS so I didn’t need to search back that far.

Though the developer of QS indicated in the thread that a DT plugin could be created for QS to augment the ‘current selection’ command and have it specifically tailored to the app. So if anyone has the know-how on developing such a plugin for QS, this potential feature will be something that’ll blow efficiency addicts’ socks off, especially mine.

Interesting. What socks-off-blowing actions would the plugin do, specifically? DEVONthink has an extensive AppleScript dictionary so on the DEVONthink side there are probably many possibilities – depending on the specs. Recently published work for Alfred and PopClip are in a similar vein.

Those plugins all are limited to either importing files into DT or searching for files within DT. With QS, there are a whole host of actions that can be applied to the files, some actions which could be custom made, and if used often could be conveniently linked to a hotkey so that particular flow action could be made more efficient.

I tried the workflow on Alfred, but there are many bugs in that which caused me more frustration and wasted time. And I don’t want to spend time creating applescripts for each action that I could do seamlessly with QS’ ‘current selection’ tool. I don’t know what I did to make it work before, but now I’ve lost an incredibly indispensable tool. :cry:

Just trying to understand what “actions” we’re talking about – kind of hard to propose solutions without knowing. :confused:

Me, too. I’m curious if any interaction that AHaghgoo would like with Dt/Qs might also be applicable with LaunchBar (which I use).

I think this thread is diverging into another topic. I’m not asking for alternatives. With QS I already have what I want, I just want to link it to DT like I had it before. So this is not about specific or particular actions; it’s more about having the freedom to quickly apply what I want to the specific type of files that I have stored in DT efficiently, and QS so far has continued to expand on that by giving me the freedom to be able to create custom actions for specific types of files. So I’d rather not turn this thread into listing each and every action for every type of file type and then use a workaround which would mean a different app for each action. That’s not what I consider to be an attempt to making this efficient, which what I’m aiming for here.

I appreciate your willingness to help but let’s keep this on topic.

IMHO when korm and SJK asked what kinds of actions you have in mind to apply to documents in your database, they were not off-topic.

Obviously, QS cannot manage any action you could think of, as the possible actions in OS X and DEVONthink are not infinite at all. It would be interesting to know at least the class of possible actions on DEVONthink databases for which you would find QS useful.

I’m not one who uses automation assistants very much in my database work. I don’t use Alfred, Hazel, or write new scripts. I find that most of my problems in doing research involve thinking about the topic, rather than time saving when doing repetitive operations. So far, I haven’t found any shortcuts to speed up my thinking time. :slight_smile:

I think we’re talking past each other. So I am going to explain the general freedom in the workflow that QS provides me through a couple of examples.

For starters there’s the workflow of having the freedom to choose specific apps to open/edit the specific file. For example, writing a text file in markdown, I can view how it looks with “Marked.” So I would select the file in DT, then hit cmd+esc essentially sending the file to QS with its “current selection” feature and then go to the third pane which would list the types of actions that are available to be used on that particular file type, with the most often being at the top. So I would open the file with “Marked” to see how it looks and to essentially review it before I publish it or send it off. Here I’m appealing to the freedom of being able to edit/view particular files with different applications.

Another tool that QS offers is the ability to apply actions to multiple files that have been selected. So once again this is where the “current selection” comes in handy. I would go to the particular file that I want to apply an action to, hit cmd+esc to bring up the file in QS, hit comma to keep it active in QS but then be able to select another file which I would do again with cmd+esc so that for instance I could compress the files into one file which would appear in QS immediately so that I could send it to co-worker, friend, etc. Here I’m appealing to the ability to apply actions to multiple files with QS.

There are others but it would require me to go into more in depth and I don’t find that necessary to do. But I do hope that at least you guys start to understand my perspective. This isn’t about specific actions. It’s about the freedom and the efficiency in doing simple actions.

It’s been years since I used Quicksilver, but I believe it had this capability when I used it about 10 years ago. The equivalent in LaunchBar is Instant Send, and I also do similar actions with some Keyboard Maestro actions. I cannot imagine that Quicksilver now needs a special DT plugin to do this, but perhaps that is so. I’d suggest asking the Quicksilver people if they have the same functionality as LaunchBar’s Instant Send feature.

Example in LaunchBar:

Example in Keyboard Maestro:

Right, but that would essentially cost me $35 along with paying for upgrades when the equivalent is available with QS which is open sourced. I’m essentially asking for a way to enable this feature which is available with QS for use with DT, or at least point me in the direction of how to enable it under DT.

If need be I’ll be willing to study and learn code for the rest of the year and see if I can spend some of my spare time to develop a plugin to enable “current selection” feature to be used with QS. I just need some direction on what to specifically learn and what it would entail.

It’s off topic, but several of the non-QS interfaces mentioned above were created to work with DT. (That’s why they were mentioned – to show cognates similar to what it appears the OP wants to do.)

So, the “how” is that they were written to invoke DEVONthink’s extensive AppleScript dictionary. Either directly as a compiled AppleScript or indirectly as an OSA script called via Ruby, Python, and so on. The “what” then is to learn AppleScript (enough to know how to deal with DEVONthink’s dictionary), the DEVONthink Dictionary – and possibly Ruby and/or Python if you don’t want to write a compiled script.

As far as the technical details structuring a QS plugin in line with QS’s API – this is probably the wrong forum. Usually getting ahold of a plugin and reverse engineering it is the fastest way to learn how-to.

I didn’t suggest buying anything-I demonstrated that it was possible without a custom plug-in and suggested that you ask the Quicksilver people if they have the same functionality as LaunchBar’s Instant Send feature.

I just Googled ‘Quicksilver Instant Send’ and got over 17 million hits-perhaps the first link in the list might inform your thinking on how to do this with QS. In particular, look at the mention that one needs to enable advanced features in QS’s preferences, as that is the sort of thing that might be overlooked when reformatting a Mac. … uicksilver

DEVONthink (Pro and Pro Office) has a large AppleScript dictionary that provides for extensions of features and actions.

But DEVONthink is not designed to provide user access to the source code to write plugins to the application that modify or extend features. In that sense, do not expect to be able to write plugins to a DEVONthink application. It won’t happen—the quality assurance problems that might result and that could endanger database stability could be serious.

DEVONthink makes a great many calls to Apple’s operating system. For example, when the 'Open With…" command is invoked on a selected document, the user is presented with a list of applications capable of opening that document, usually with the ‘parent’ application as defined in the Finder (see the Info panel for that file in the Finder) as the default, but with other possible applications listed.

The user forum has a number of threads about use of third party utilities such as Hazel, Alfred, Launchbar and others in order to extend the user’s flexibility and options for many common procedures. Some of these third party utilities are scriptable, and can take advantage of the scripting dictionary of DEVONthink and/or OS X to extend or modify procedures. Examples have been provided by other users in this thread that allow them to do some of the things you cited, for example in Launchbar and in Hazel.

If QuickSilver cannot allow the user to set a desired application (which may not be defined as the ‘parent’ application in OS X) for opening a selected document filetype from within DEVONthink, the issue would be appropriately resolved not by modifying DEVONthink’s code, but by enabling QuickSilver to perform such a task—which can be accomplished by other utilities such as Hazel and Launchbar. In Greg’s examples, a Hazel or Launchbar procedure would be invoked rather than DEVONthink’s ‘Open With…’ call to the operating system.

The venue for requesting a QS feature would be the developers of QS (and perhaps the QS user group).

Quicksilver is scriptable.

In terms of launching/calling it you just need to set its selection property. The text will be evaluated like you typed it in to QS. So you can type a file path URL, or DevonThink URI for example.

tell application "Quicksilver" to set selection to "item"   

Quicksilver also supports calling scripts as objects or using scripts as actions on objects. So for example you could write AppleScript actions that you want to take on a DT item.

Basic doc is here - I updated it to better explain the “set selection” option.