Now it's back to Tumblr

If you've somehow found your way to this page, please note that canisbos.com has moved back to Tumblr (after a long spell at Posterous). Posterous has gotten way too slow for my liking. Tumblr may not be as reliable in terms of uptime, but at least when it works, it works fast.

Go to the new home of Canisbos's Safari extensions

 

PopSearch 1.6 improves hotkey assignment

I've completely rewritten the code used to record and detect the hotkey that invokes PopSearch.

Before now, it was possible to specify a hotkey that used some combination of the Command, Option, and Shift keys as modifiers, but the hotkey input field on the settings page was not very clear about just what key combo you had inputted. Also, if you tried to use a key combo involving the Control key, the results were unpredictable.

The new code changes all that. The hotkey input field now accurately reflects which modifier keys you pressed when you recorded the hotkey, and the Control key is fully supported. Also, you can now specify any combination of modifiers for your hotkey in the PopSearch section of Safari's extensions manager.

(Unfortunately, Windows users still cannot use the Ctrl key as part of their PopSearch hotkey, due to limitations in the way Safari for Windows responds to Ctrl keypresses. The Win and Alt keys also remain, sadly, unsupported, so Windows users can only use unmodified and Shift-modified hotkeys.)

I also added two new modifier keys to the search popup itself. As some of you know, it's always been possible to temporarily reverse the "Open search results in a new tab" setting by holding down the Command key when you press Enter or click the Search button to execute a search. (So, if you have PopSearch set to open search results in the current tab by default, pressing Command-Enter will instead open them in a new tab.) Similarly, you can reverse the "Open new tab in background" setting by holding down the Shift key when executing a search. But now, you can also temporarily reverse the "Put new tab next to current tab" setting by holding down the Control key. And you can reverse the "Use new window instead of new tab" setting by holding down the Option key. Got all that?

To recap, the table below shows what each modifier key does when executing a PopSearch search if all of the tab settings are set to the defaults. If you change any of the tab settings, the relevant modifier key will have the opposite meaning.

Modifier Effect
Command Open search results in a new tab.
Option If opening search results in a new tab, use a new window instead.
Shift If opening search results in a new tab, don't focus the tab.
Control If opening search results in a new tab, put the tab at the end of the tab bar.

Note that the available modifier keys are different for Windows users. They can only use the Ctrl key to do what the Mac's Command key does, and the Shift key. The Alt and Win keys have no effect on PopSearch.

 

LinkThing 2.0.4 improves handling of download links

I added some code to try to detect when a link is a download link, based on the filename extension. Now, if you have links set to open in new tabs by default, LinkThing will make an exception for these download links.
 

Tabkeys 2.3.1: another bug fix

This one fixes a bug that cropped up in 2.3: If you used Tabkeys to open a JavaScript bookmarklet, and the page you were on contained iframes, the bookmarklet would run in each iframe as well as the main page. For example, if you used Tabkeys to open Instapaper's bookmarklet to add the current page to your Instapaper reading list, not only the intended page but also every iframed page contained within it would get added to Instapaper. This update fixes that.
 

Rightsizer 1.1.1: a performance tweak

You know what? I'm an idiot. I just now figured out that it's possible to have Rightsizer insert its stylesheet in the <head> of affected pages really early in the document loading process, even before the DOM is fully parsed. Now that Rightsizer is doing just that, your changes to font sizes don't appear a few seconds after you open a web page: they are already in effect before any text is drawn to the screen. Now that's fast! You should let Safari update Rightsizer right now.

 

LinkThing 2.0.3 fixes broken 2.0.2

Well, the fix I put in 2.0.2 for the Flattr bug was badly done, resulting in LinkThing breaking for ALL links.

It should be back to normal now.
 

LinkThing 2.0.2 fixes Flattr button bug

That sounds kinda poetic. Anyway, fixed a bug that prevents Flattr buttons from working. If you know of any other "social" buttons or such things that LinkThing breaks, please let me know so I can add them to the blacklist.
 

Rightsizer 1.1 adds ability to apply your favorite font to text

This version brings a couple of new features and other changes to Rightsizer:

  • You can now specify a favorite font and size in Rightsizer's settings, and apply them to text using the F key.
  • It's easier now to choose a parent container to apply changes to. If you want to affect all the text in a parent container, first select (highlight) a text range that spans more than one element, then invoke Rightsizer as usual. Rightsizer will apply your changes to the parent container of all the elements in the selection. (Thanks to Trevor Fancher for the idea and code.)
  • Rightsizer no longer supports the old right-click method of setting font sizes. You have to use the click-and-keypress method.

Download Rightsizer or let Safari update it.

 

Tabkeys 2.3 adds support for iframes

Wow, can you believe it? It's taken until now for me to figure out how to make Tabkeys work on pages that contain iframes without causing all sorts of problems. 

O, frabjous day! Callooh! Callay!
 

Tabkeys 2.2.9: bug fix update

This update fixes a fairly obscure bug that caused hotkeys to register twice on some web pages when several pages were opened in rapid succession.