If there are any other LaunchBar users out there, I thought I’d offer a way to get the Quicksilver action working in LB.

First, if you want to run any of the standard KGTD scripts using LB, you’ll need to add the “Kinkless” folder to your configuration:

In LaunchBar:
1) Select Configuration->Open Configuration
2) In the Configuration window, choose New->Scan Folder…
3) Choose the folder [your home]/Library/Scripts/Applications/OmniOutliner Pro/Kinkless and close the configuration window.

Now you can hit command-space and navigate to the KGTD scripts from anywhere, if you find the sudden irrepressible desire to do a sync without having to head to OOPro first.

Now for the Inbox action itself…
There are two ways to get a LB-friendly Inbox-feeding AppleScript.

1) Open the Ethan-supplied “KGTD Inbox” applescript in Script Editor. You should just be able to double-click on it to do so. Then remove the two using-from/end-using-from” lines at the beginning and end, remove the on-process-text/end-on-process-text lines at the beginning and end, and put the following block around what’s left:


on handle_string(ThisClipping)
[...rest of script...]
end handle_string

2) Or just cut and paste the following into a new Script Editor window to end up with the same thing:


on handle_string(ThisClipping)
set ScriptsPath to (((path to library folder from user domain) as string) & ("Scripts:Applications:OmniOutliner Pro:Kinkless:"))
set ReadPath to ScriptsPath & "kgtdpath.txt"
set KGTDPathFile to open for access file ReadPath
set ThisDocumentPath to read KGTDPathFile
close access KGTDPathFile
tell application "OmniOutliner Professional"
set ThisDocument to first document whose path is ThisDocumentPath
try
get ThisDocument
on error
open with results ThisDocumentPath
set ThisDocument to first document whose path is ThisDocumentPath
end try
tell ThisDocument
set InboxSection to (first section whose note contains "meta_inbox")
make new row at beginning of rows of InboxSection with properties {topic:ThisClipping}
end tell
end tell
end handle_string

(hmmm….can’t quite get indenting to work in the post, but Script Editor will do it for you if you click “Compile” once you’ve pasted it in)

In either case, you can save the script (as a “script”) in the [your home]/Library/Scripts/Applications/OmniOutliner Pro/Kinkless folder. I call mine “KGTD Inbox-LB,” but I’m just like that. Go into Launchbar and type command-0 to rescan so LB will find your new script.

To use it, navigate to your new script in LaunchBar, then instead of hitting return, type [space]. This’ll bring up a text box. Type your inbox-destined snippet in there, hit return, and head to your KGTD Inbox to watch the magic.

If I’ve missed something in the process and this doesn’t work for you, or if you know a better way to do this, feel free to post a comment. (If messing with Script Editor scares you, I can make a copy of the working script available for download somewhere.)

All hail the mighty Ethan!
-Dan

Thanks for Launchbar and KGTD

I tried Quicksilver, but it seemed sluggish to me compared with Launchbar (which I’ve been using forever). I tried to develop a script, but not much luck—-THANKS for this great wonderful work. Now I just command space, then script name, then hit space, and enter text right into the inbox. Fab!

SteveJ's picture

Ditto

Wonderful. Thanks ++ Dan. Just as the QS folks say they can’t live without it, I simply couldn’t imagine working on a Mac without LB. Really tried to appreciate QS but couldn’t get there. Strokes for folks.

Steve J

Ethan's picture

Dude! That's some rockin

Dude! That’s some rockin forum post. Props for the launch bar code. I get a lot of requests on this but I’ve been lame about addressing it. John Purnell also sent me a script for Launchbar. Currently I’m reworking the QS script to be more intelligent about things and may try to take your work and John’s and see if I can’t mod the new QS script to function on LB as well.

Salutations and thanks -e

mdeatherage's picture

Not difficult to support both

…you can just keep it the same, and add separate handlers for LaunchBar and QuickSilver. They both expect differently named handlers that take the same text parameter, so just put all of the hard work in your own handler, and call it from the handlers that QS and LB expect:


on kGTD_text_processing(ThisClipping)
-- all the earlier script magic that Ethan develops
end kGTD_text_processing

using terms from application "Quicksilver"
on process text ThisClipping
my kGTD_text_processing(ThisClipping)
end process text
end using terms from

on handle_string(ThisCilpping) -- for LaunchBar
my kGTD_text_processing(ThisCilpping)
end handle_string

I just tried this with LaunchBar 4.1b2 and QuickSilver beta 46, and both programs saw their own handlers and worked like a charm. No need to keep separate script files - just put handler wrappers for both programs around the main work.

—Matt

Post new comment

The content of this field is kept private and will not be shown publicly.
  • You can use Markdown syntax to format and style the text.
  • Each email address will be obfuscated in a human readble fashion or (if JavaScript is enabled) replaced with a spamproof clickable link.
  • Images can be added to this post.

More information about formatting options

Captcha Image: you will need to recognize the text in it.
Please type in the letters/numbers that are shown in the image above.