LinkThing2 beta
I’m releasing a beta of the next version of LinkThing, which is renamed LinkThing2. If anyone would like to help out by testing it, that would be cool.
LinkThing2 requires Safari 5.1 or higher, so don’t install it if you’re still on Safari 5.0.x.
All your settings from LinkThing will be preserved should you install LinkThing2. However, once you install LinkThing2, you can only reinstall LinkThing if you uninstall LinkThing2 first. This means that your settings will be lost.
There is a workaround to avoid losing your settings in case you want to go back to the old LinkThing:
- Before uninstalling LinkThing2, quit Safari.
- Make a backup of Safari’s preferences file, which is located at ~/Library/Preferences/com.apple.Safari.plist.
- Launch Safari, uninstall LinkThing2, and install LinkThing.
- Quit Safari again. Replace com.apple.Safari.plist with the backup you made.
- Launch Safari.
So, what’s new in LinkThing2, you ask? Frankly, not much. Mainly it’s a code refactoring release aimed at doing things in a more elegant way behind the scenes. This has at least one benefit, plus there are a couple of unrelated improvements.
About the refactoring, briefly: The old LinkThing worked by basically taking over clicks on links and stopping them from doing what they were meant to do, so the extension could do something else instead. For example, if you had configured LinkThing to always open offsite links in a new tab, it would intercept any click on an offsite link, suppress Safari’s default handling, and force the link’s destination to open in a new tab. This was a pretty brute-force way of doing things.
LinkThing2, by contrast, tries to achieve its goals while doing as little as possible. In the preceding example, LinkThing2 will just momentarily change the link’s target attribute to _blank, let Safari do as it will, and then change the target back again. If your settings dictate that the resulting new tab should open at the end of the tab bar, LinkThing2 will only move it there after Safari creates it—instead of creating the new tab itself, as the old LinkThing did.
At present, the only visible benefit of the code refactoring is that LinkThing2 fully supports the option to leave tab ordering up to Safari, both for foreground and background tabs. In the last release of LinkThing, I had added this option, but only for foreground tabs. In order to implement it for background tabs, the refactoring was necessary.
I’ve also made some improvements to the optional pseudo-status bar that reveals URLs when you mouse over a link. It’s now sensitive to modifier keys, so for example if you mouse over a link while holding down the Command key, it will append “(opens in a new tab)” to the URL display. And it’s smart enough to not append that text if the Command key would reverse your settings and not open a new tab. Also, I made it so that if a URL is too long to fit in the pseudo-status bar, it will display with an ellipsis at the end rather than being unceremoniously truncated right at the edge.
Download LinkThing2