Quick choice of Bike row to copy as link

A Keyboard Maestro macro for quickly copying links to rows in an outline:

6 Likes

@complexpoint
Excellent KM workflow tool.
I see the potential to use Bike as a workflow hub.
Project tasks in OmniFocus & Bike for project organization, research, content, and write-up.
Could you modify this KM script to copy a Bike row link, create a new OmniFocus task with the text from the row as the new OmniFocus task name and put the Bike row link URL in the task note?
Your JS script to paste Safari URL & Title to Bike is very helpful for capturing Safari URLs,
I trigger this JS script with a FastScripts 3 keyboard command, a quick and easy capture.
(Script to paste Safari URL& Title to Bike - #3 by complexpoint)
Thank you, Stan

I’ll take a look at some point next week,
if no one else has got there first.

(I think @unlocked2412 knows more about the OmniFocus APIs than I do, but he may well be busy)

Hi, Rob. Thank you. I currently use the OmniFocus API.

@stanwaring, I can certainly look into that.

:pray:

In the meanwhile, FWIW, I’m personally using a pluralized variant – adjusted to allow for one or more rows to be selected in the search:

BIKE – Quick choice of row(s) to copy as link.kmmacros.zip (15.7 KB)

Thank you Rob. Better to build on top of that variant, then.

@complexpoint, do you think it’s necessary to build the URL explicitly ?

bike://${docID}#${dict[k]}

Isn’t the url property of Row enough ?

I suppose that depends on the evaluation context – whether you are starting with a reference to a row, or just with a dictionary of ids and strings.

( The second of those two JXA snippets – in the macro above – doesn’t go through the Bike Apple Event interface )

In any case, lots of different ways of doing it : )

Absolutely. But I will send you a variant of your macro so you can see what I mean.

1 Like

I don’t think much turns on it, either way.

If the document is longer, and we are fetching values from thousands of lines (Moby Dick scale), then you might notice, when waiting for the selection control to appear, that .url() is a fractionally more expensive (slower) property than .id(),

but really, it’s all pretty fast, and probably not worth measuring unless a delay seems noticeable anywhere.

Your approach looks good !

1 Like

Updated here:

for

  • multiple row selections (⌘click)
  • a speed improvement suggested by @unlocked2412 (batch-fetching properties to populate the menu faster)
1 Like

@stanwaring, I have posted the macro here.

1 Like