My otherwise limitless love for Quicksilver has recently been tempered by a burgeoning love for the addition of Quick Look to Mac OS X in the 10.5 version. Pre-Quick Look, Quicksilver was hands-down the fastest way to access and open files. ⌘+Space ➟ type a few characters ➟ and you were on your way. In some instances you still had to wait for some Behemoth Application1 to open up and unfurl its many tendrils into memory. But it was still a hell of a lot faster than navigating the Finder via mouse clicks, etc.
With the advent of Quick Look however, we are faced with a little bit of a conundrum. Quicksilver is still the fastest way to locate and access those files but for many documents2 Quick Look provides a much faster way to view them. And sometimes that’s really all that you need to do. Spring open the document, scroll through it and find that one phrase or that one number or just confirm that it is (in fact) the document for which you’re looking. So why add the additional 15-20 second wait3 while the Behemoth Application opens? Quick Look provides an instantaneous glance at the contents.
It’s just too bad that Quicksilver does not provide us with a “Quick Look” action or command. There certainly isn’t one built in. The closest I came on my own was ⌘+Space ➟ type a few characters to find the document ➟ tab over ➟ “Reveal” ➟ and then hit Space again (this time in the Finder) to invoke Quick Look. Faster than opening the Behemoth Application? Yes. But it still feels cumbersome, like it has a whole lot of extra steps.
Rather than research or experiment with alternatives myself, I let Google do the walking on my behalf and together we identified an AppleScript-based solution over at MacOSXHints.com. Well, it’s sort of a solution.
The AppleScript as initially suggested references an external shell script. Not ideal but it… works? A clever commenter then re-factors the AppleScript to wrap the command line elements in a “do shell script” line. Which is… better? Both methods worked for me — though imperfectly.
First of all, both versions include the following line:
tell application Quicksilver to hide
- The application name needs to be wrapped in double-quotes to be valid: “Quicksilver”; and
- “hide” is not valid AppleScript (if you compile the script, you’ll notice it turns green, indicating it’s now a variable).
Putting that minor gaffe aside, does it work? Does it take the selected item and pass it to Quick Look?
Yes, but not without a delay. A 15 second delay4. So we’re not really all that better off. The other major sticking point (for me) was that we somehow manage not to give the system’s focus over to Quick Look. So even after the delay, even after Quick Look brings up that spreadsheet or document or whatever, when I hit “Space” again, it doesn’t dismiss the Quick Look window5, it does… what? Well, the application otherwise active in the background captures that keystroke. So you wind up with another space in the email you were composing or accidentally clearing out the values in that spreadsheet’s cell, etc.
Clearly this is non-optimal.
I attempted to author an alternative version of the script that appeared on MacOSXHints.com with some limited results:
Don’t bother asking why I didn’t just publish it in a copy/paste-able format because this isn’t really an improvement over the versions that appear at MacOSXHints.com. What I “fixed”: use System Events to set Quicksilver’s “visible” to false6. What I tried to fix: in my experience, Quick Look appears to behave like an appendage of the Finder. So I figured that I could tell application "Finder" to activate and that would give the space keystrokes over to Quick Look/Finder as expected. But no. Fail. We still have a 15 second delay. And we still can’t direct the spacebar keystrokes to Quick Look “where they belong”.
The quest continues?
- Microsoft Excel, Microsoft Word: I’m looking in your direction. [↩]
- Excel, Word: I’m looking at you again. [↩]
- Determined through my very scientific “one-one-thousand” counting system. [↩]
- Using that same scientific “one-one-thousand” counting method [↩]
- Do these even really qualify as windows in the traditional sense? [↩]
- That is the “long-hand” equivalent of the otherwise undefined “hide” method. [↩]
About Rob FrieselSoftware engineer by day, science fiction writer by night. Author of The PhantomJS Cookbook and a short story in Please Do Not Remove. View all posts by Rob Friesel →
One Response to Quicksilver and Quick Look
damn, closer, i guess. I enjoyed reading your analysis, thanks for spelling it out, hopefully a solution is forthcoming!