Merlin Mann’s new episode of the Merlin Show posted yesterday teaches very powerful Quicksilver-Fu, enabling you to access the menu items of any application, as well as introducing the concept of proxies. These techniques belie the mistaken impression that Quicksilver is “merely” a program launcher — it is an application master. ;)
What isn’t clear in the ‘cast is the settings, downloads, and brand of incense you need to burn in order to make all of that happen. I’m pretty sure the below covers everything, but let me know if I missed something.
In Quicksilver
To start, you’ll likely need to have “Enable Advanced Features” turned on in the latest-greatest version of Quicksilver.
First, to enable proxies in QS preferences… Under Catalog > Quicksilver, turn on “Proxy Objects”, “Internal Commands”, and “Internal Objects”.
To access menu items (and enable the Show Menu Items action), go under Plug-ins > All Plug Ins and scroll down to turn on “User Interface Access (+)”.
In System Preferences
Then go under your Mac’s System Preferences, to Universal Access, and turn on “Enable access for assistive devices” at the bottom.
I have missed the “assistive devices” part, now it works. Thanks!
Thanks for this detailed tutorial.
I have spent much time to find out that i have to enable User Interface Access too.
But on my Quicksilver the Proxy entry under Catalog is called QSPresetProxies and QSPresetInternalMessages.
Thank you for this info I am no longer frustrated.
thx for the hints, I almost gave up on Merlin’s tip
“Internal Commands” and “Internal Objects” don’t actually need to be enabled in Catalog>Quicksilver for Merlin’s tip to work. In fact, “Proxy Objects” is only necessary if you want to dynamically address whatever application is frontmost. If you want, you can access menus directly in an application individually by placing it in the Noun portion of the QS interface and then choosing “Show Menu Items” as the Verb.
Though I suppose the first pane in Quicksilver should probably be called the Subject, as the dynamically-appearing third field is a “noun” as well but could more accurately be described as an Object.
Thank you, I wondered if I was going mad after watching how easy it was on the screencast. You have restored my sanity!
Pity I did not have this post yesterday. Would have saved me many a google search to figure out what I needed to configure in Quicksilver, to make this cool feature work.
I was struggling a bit to understand how Merlin found the markdown bold command so easily. With all the TextMate bundles I have installed, I have several Bold commands, but no indication of which bundle they belong to. By going to the bundle editor of TextMate, the commands can be given more descriptive names, for instance Markdown Bold instead of just Bold, thus making it easier to identify which menu item to choose.
Thanks for the QS set up tips but my problem is that having worked that out myself, quicksilver’s menu items all appear in a long list that doesn’t seem to match what Merlin had. e.g. when I follow his example to bold something in a markdown document there are at least 3 bolds (seem to be in A-Z order) but there’s no way to get to the markdown one as they are all called bold.
any ideas ?
I truly appreciate everything Merlin offers, but the first question I always want to ask him is “okay, but first how did you get where you began? What’s the set-up involved and what are your preference settings?” Seems counter-intuitive not to ask him directly, but the question occurs to me so frequently that such emails would soon become annoying, bothersome, dare I even suggest, ghoulishly harrasing. So I wait a day and someone out there goes “hey, this doesn’t work, how’d you. . . .” and problem solved. Thanks to you and to Merlin. You all are offering a great service educating the masses.
@Boris Gordon — see the comment (just above yours) about customizing the command names.
Thank you thank you thank you.
I was getting frustrated for having a “show menu” but no “show menu items”
So, in Merlin’s show, he executes thusly: (1) invoke QS, (2) “Current Application”, (3) “Show Menu Items” and then….what keystroke does he use next? It’s as if the stroke “proxifies” the previous two in the bezel to allow him to play in menu-land.
You’re needing the Return key at that point, if you mean what I think you mean. :)
Maybe there was a massive traffic of people downloading and installing the new plugins needed, but I can’t reach quicksilver.blacktree.com at all now… ;)
Maybe they’ve been Merlined, which would be a much more efficient slashdotting! ;)
I wanted to do it like Merlin — but missed the “User Interface Access (+)” plugin.
It works perfectly now — thanks!
Just wanted to say “me too” per everyone above. Merlin completely lost me.
Hi, Jim — it’s a module called “Service Links” for Drupal, which is the awesome CMS I’m using on this site.
I’ve got a “show menu” but still no “show menu items”, and this is after I’ve enabled advanced features, installed the Interface Access plugin, turned, enabled assistive device acesss in the UA control panel and enabled proxy objects/internal commands/internal objects in the catalog.
Suggestions?
Hi, Joseph, that should have done it for you. Couple of things to try after double-checking the items above:
Restarting QS didn’t solve the problem, but logging out and back in did.
I’ve set up the proxies, and have set triggers for a couple of commands I commonly use in Photoshop which require a lot of mousing. ‘Variations’, for example–
Invoke QS, Photoshop; Menu Bar; tab and arrow through Image, Adjustments to Variations. Set trigger.
The trigger works well in the current session, but in a new session with a restarted Photoshop and QS, the trigger is gone from QS.
At first I thought this was because of a conflict with a native PS key combination, but even with a custom key set the trigger only lasts for the open session.
Anyone have some thoughts on how to hold these triggers?
I think this may because Photoshop doesn’t show image menus unless there’s a picture open, so there are times when there’s no context–but I’m not sure why a trigger would go away altogether.
Also: is there a way to trigger directly to a mid-menu submenu? My attempts to assign these resulted in no action at all.
Thanks much,
Mark S.
Hi Mark. I’m only just getting up to speed on triggers myself, so I’d recommend heading over to the Quicksilver forums to ask that question. Good luck!
Thanks for the detailed write-up. Now I’m like Merlin too ;-)
Another question: what tool did you use to build your “Bookmark/Search this post” chiclette bar
Jim
Thanks dude, I didn’t know about the Assistive Devices bit! Many thanks again.
Thanks, Robert, for steering me in the right direction. I’ve only started using QS in the last week, and hadn’t yet figured out where to dig (actually, too many places to choose from…)
I found some recent posts: It turns out that the manual says triggers don’t work on dynamic actions (where an application looks for runtime information) or actions specific to individual program menus.
The good news: there seems to be interest in developing dynamic actions in triggers.
Thanks again!
Mark S
Now that I think about it, maybe “43-folded” would be an even better name for the phenomenon. :)
Very cool.
A couple of days ago I subscribed to the RSS feeds of a few of the QS forums, which (even skipping through a lot of posts) has already yielded some interesting tidbits.
I have gotten all of Merlin’s Fu to work except when I type markdown I do not get any of the menu items under markdown. I am noticing that there are several menu item primarily under bundles that are not available to quicksilver. The fu seems to work in other apps but I am having trouble specifically with TextMate. Any ideas why ALL of the menu items may not be appearing?
Hi Anonymous — I know a lot of TextMate’s “Select Bundle Item” functionality is dependent on context, with particular commands not appearing if the document selection isn’t in the right “scope.” You can read about in the TextMate manual chapter on scope selectors. Not for sure if that’s what you’re seeing, but it sounds like it.
You might try asking your question over on the TextMate mailing list if that’s not it. Good luck!
I can get to the Show Menu Items box in Firefox, but it’s blank. Is there a keystroke or something I need to use on my MacBook since I don’t have an Enter key?
Firefox is working here. I’m going to assume you have a Return key, which you can use as well.
i’d like to join the long list of appreciative folks here… i could get this great trick working for ages until i finally got to this page.
all the best!
This trick is great. Something I have wondered about is if Quicksilver can access the contextual menus as well (i.e. the stuff you get on a right-click). Is this possible?
Good question, Danny. Would most of that would be otherwise accessible in the regular menus?
Unfortunately no. I wish that were the case. I remember a time when any possible action was in the menus, but those days are gone. Now that this QS trick is known, I wish it were that way. I use DEVONthink as a database and Accordance Bible software, and both of these have massive contextual menus and over half of the actions aren’t in the menus. And the contextual menus are often different based on whether the file is chosen in the groups pane, whether you are in the file, or if you have a portion of text chosen. I love all of the options, just wish I didn’t need my mouse to get to them :-)
Bummer. That would be cool to keyboard.
Are either of those apps scriptable, say with AppleScript? If so, you could create a set of small scripts that access as many of the commands as the program’s AppleScript Library will allow, then call those with QS. An idea.
DT is super scriptable. I don’t think I’ve seen a program that has such a script library. Accordance isn’t I don’t think.
That is an idea though. Thanks for your input.
One other great side effect of this tip is that it provides the first really easy way I’ve found to search your history on Safari. Since all of the entires in your search history show up as safari menu items, invoking this action from safari is basically a history search. Awesome! This was one Firefox feature that had been strongly luring me away from Safari and now I’ve got it!
Has anyone run into any proxy problems in Leopard?
QS is working just as well as ever under Leopard for me EXCEPT that proxy objects won’t come up ONLY in certain programs.
In the Finder, I can hit my keystroke (alt+space) to bring up my proxy objects. Works for Mail, iCal, and a bunch of others as well.
But I can’t get to proxy objects in Keynote, Safari, or DEVONthink. Really sucks, as I have come to use it constantly.
Any help is appreciated.
Danny
Good detailed tutorial ;) Thank you
I’ll confirm there are proxy problems in Leopard. A small sample using the “Current Application > Show Menu Items” proxy trigger:
Proxies work in:
Proxies fail in:
Looks like pretty much all applications fail actually. Bummer.
I’ve pretty much given up on Quicksilver on Leopard — I was already running into issues with it on Tiger, and I’m using Spotlight for app launches and document access. Thought about trying out Butler, but I’ve only downloaded it so far.
Don’t give up on QS yet. Ankur has taken up the code and started cleaning it, patching bugs, opening new features, etc… There is now a B55 release offered on Ankur’s site, and this comment that would help you get it purring like a kitten on Leopard (hasn’t crashed once yet in the last 48 hours): http://lipidity.com/apple/quicksilver-b5x-download/comment-page-2/#comment-51053
I do agree there does seem to be some issues supporting the Show Menu Items in some apps, especially TextMate which is where I need it most.
for those who may want to know, there is a google group qs discussion on the leopard proxy problem
http://groups.google.com/group/blacktree-quicksilver/browse_thread/…
Hi there,
I also am experiencing problems with Adobe Illustrator CS3 and Adobe Photoshop CS3 with the proxy “Show Menu Items” for the “Current Application”. However, Quicksilver works flawlessly with Adobe AfterEffects CS3. Anybody experience the same?
Anyone else having trouble with QS crashing when they try to use proxies? Anyone have any idea why this would happen and how to fix it? I followed all of the steps, but it crashes both the current app as well as QS.
Thanks for this thread! I <3 QS
Joe
I haven’t seen that issue myself, but maybe someone else has.
Some ideas to try out might be to disable everything except the necessary stuff or deleting the preferences file after quitting and then restart.
Weird,
On snow leopard, with the latest version of quicksilver, I am able to get to the list of “menu items” , but it’s consistently empty. – any idea anyone?
I got the same problem with Snow Leopard. :(
In Snow Leopard though it seem to find 229 items for Safari but nothing is displayed but an empty box.
same problem here on Snow Leopard
finally got Show Menu Items to appear vs plain old Show Menu (need to enable the QS User Interface Acccess (+) Plugin as others have commented)
but now the Show Menu Items is blank.
each app will have a different number in the left hand corner of the SHoe Menu Items list…
like Safari might say 2 of 399, Mail might say 2 of 500, etc… but the list itself is blank
also blank for me on 10.6 :(
oh, maybe i found a fix:
http://groups.google.com/group/blacktree-quicksilver/browse_thread/thread/9c5b8dc7bedd4293
Thanks! I was really scratching my head for a bit
Thank you so much for this guide! I could not make menubar items searchable in Quicksilver at all until I found your website. Now I love Quicksilver even more!