9 Comments

Summary:

I’ve been playing around with Google Quick Search Box lately and am especially enjoying this services plugin from Martin Kuhl which lets you activate and pass input to OS X services right from within QSB. One snag though has been that services created through the new […]

QSB_icon

I’ve been playing around with Google Quick Search Box lately and am especially enjoying this services plugin from Martin Kuhl which lets you activate and pass input to OS X services right from within QSB.

One snag though has been that services created through the new Automator template included in Snow Leopard leave out some vital bits that limit integration. Luckily, a handy application from Waffle Software called ThisService makes creating proper services that integrate seamlessly with QSB a lot easier than you might think.

Being able to extend the functionality of QSB with OS X services really opens up a lot of possibilities. Grab text or files in QSB and pass them on to your services to do whatever you want with them, like creating a new To Do item in iCal. I’ve been focused recently on replicating functionality that I lost when I made the switch over from Quicksilver and I think that this improved service integration will get me about 90 percent of the way there.

The bad news is that this means I need to whip up a bunch of custom services for myself. The good news is that ThisService makes that task very easy. Just give it a script (AppleScript will do, but if you’re more comfortable with other scripting languages you can use those), define the type and name of your service and click Create Service. ThisService handles all the fiddly Cocoa bits and spits out a completed service into your ~/Library/Services directory where QSB will see it and serve it up as an available action when appropriate.
ThisService
Actually writing your AppleScript will likely be the most complicated part, which is why ThisServices comes bundled with some handy starter scripts to put you on the right path. They also make a number of example scripts and services available for download from their site. The scripts don’t need to be complicated. For example, here is the one I use for adding To Do items in iCal:

on process(input)
tell application "iCal"
tell calendar "work"
make new todo at end with properties {summary:input}
end tell
end tell
end process

If you wanted to get fancy you could pass additional properties like the due date, priority, etc., but just getting a new item into the list is all I need.

Once you have your service setup accessing them through Quick Search Box is as easy as can be. Because showing seems to be more useful than describing, below is a quick little video clip of the To Do service in action. What kind of services would you like to have? Share your thoughts in the comments.

You’re subscribed! If you like, you can update your settings

  1. I have also given up on Quicksilver in exchange for QSB. I have been looking for weeks on how to make better use of QSB. Are you folks planning on doing more posts like this?

  2. Hi, nice tutorial. But how did you replace the google-logo within qsb by the quicksilver icon? You can see the logo after 19s in the video. Thanks.

    1. Solved: One has to replace “/Applications/Quick Search Box.app/Contents/WhiteGoogle.pdf” by the new image. Bye Sebastian

    2. Thanks..but does anyone know if its possible to make the replaced icon big like when you do a search and the current app icon is displayed? looked more sexy that way :)

  3. Would love a service to add web clippings to Journler (select something in Safari; open a dialog for inputting title, tags, etc.) This functionality was lost with Snow Leopard.

  4. cychong’s me2DAY Friday, November 27, 2009

    멤피스의 생각…

    How-to: Create Services for Quick Search Box…

  5. I’ve been playing with this a little bit and am enjoying creating my own services for QSB – Cool!

    However, i’m now wondering how to get multiple arguments into my script from QSB. Lets say we are talking about adding an event to your iCal. You want to have a title and a date. Is the only way to get this info via parsing the text object you create in QSB? Ie, can i have multiple text objects passed into a script? It doesn’t appear to work this way, so i’m thinking that you have to parse the text object, which means having a “format” to how you enter your data.. Like

    “here is my new event | may 6 2010″, and in the service look for the ‘|’ character and parse out the date…

    Or something :)

    jos

  6. Hi there! Has anybody managed to get services to appear in QSB on 10.5? I realise that everything changed for services in Snow Leopard, and I’m not seeing any change in QSB, bar the plugin being listed in my preferences.

    If anybody’s had a similar experience, I’d be grateful to hear :)

  7. Chris BeHanna Saturday, July 31, 2010

    The single biggest things I miss from Quicksilver are:

    * multiple pasteboard
    * ability to add keyword web searches (wiki, imdb, etc.)

    These may be present in QSB, but the documentation is sparse.

Comments have been disabled for this post