Open URL (in Listener)
Thursday, May 5, 2011
In January, I implemented a cross-platform open-url feature to allow opening URLs from Factor. One major problem was that I couldn’t figure out how to make URLs “clickable” in the Listener.
Then, I learned that the ui.operations vocabulary allows us to add “capabilities” that get triggered when certain types are rendered in the Listener. It turns out to be pretty easy, actually:
[ url? ] \ open-url H{ } define-operation
Using that, you can right-click on URL objects, and choose to open them in your web browser:
I also made a small patch to add this support to URLs that are rendered in the help system or in the slides vocabulary.
Note: if you want this operation to be the “primary operation”
triggered when the URL is left-clicked, you can add { +primary+ t }
to
the hashtable used in the operation’s definition.