I love Safari’s tabbed browsing feature. In fact, it’s what got me to switch to Safari from Camino last year—after having tabs for a few years now, I can’t use a browser without them. (If you saw how many windows I used to keep open simultaneously in Internet Explorer, you’d understand why.)
That being said, I do have a couple complaints about Safari’s tabbed browsing implementation, one minor and one major. The minor one is that new tabs open blank; I’d at least like the option to have new tabs open to my home page. But I can live with this flaw. On the other hand, the major one—actually, the frustration behind the major one—can best be understood by asking you, the reader, two questions: Have you ever accidentally closed a Safari window with multiple tabs open when you really just wanted to close one of those tabs? Have you ever accidentally quit Safari—again, with a bunch o’ tabs open—by pressing Command+Q when you really meant to close the current tab by pressing Command+W?
If you answered “yes” to either of those questions, you know the pain that comes with the sudden realization that you just lost one or more tabs chock full of Web surfing goodness. And if, like me, you regularly browse with five, ten, or even more tabs open, you know how futile it is to try to remember what each tab contained.
I’m actually quite surprised Safari lets you do this. Given how many places in Mac OS X Apple has implemented “Are you sure?” dialogs to prevent users from losing data or making irreversible changes, having one that prevents such forehead-slapping flubs in Safari seems like an obvious feature. Thankfully, until Apple implements this option, we can add it ourselves via Obsessive Compulsive Development’s free Taboo 0.3 ( ).
With Taboo installed—it’s a SIMBL InputManager plug-in, which means it operates invisibly in the background—attempting to close a Safari window hosting multiple tabs (by either clicking the red close button, choosing Close Window from the File menu, or pressing Shift+Command+W) results in the following dialog:
And when you try to quit Safari with multiple tabs open (by choosing Quit from the File menu or pressing Command+Q) you see the following alert:
In other words, never again will you lose multiple tabs just because you weren’t paying attention. (If you’re sure you want to close a multi-tab window, you can hold the shift key down while clicking the red close button to bypass the warning dialog.) Sure, some other Web browsers, such as Firefox, have had this anti-tab-killing functionality built-in for a while, but I happen to like Safari better than Firefox, so I’d rather have the feature in Safari.
I do have one complaint about Taboo, and it relates to the software's installer. As an InputManager plug-in, you should be able to—in theory—install Taboo in either /Library (which makes its functionality available to all users on your Mac) or ~/Library (which restricts it to your own account). However, the Taboo installer package doesn’t give you this option—it installs the software in /Library. Why does this matter? For one thing, it’s always safer to install software like this—stuff that modifies the OS or applications—in individual user accounts, rather that at the system level. That way, if the software ever causes problems, you can log into a “clean” account to fix things. But more specifically, sometimes new versions of Safari conflict with the SIMBL software; if you install a Mac OS X or Safari update, and it doesn’t work with SIMBL, Safari won’t work until you either remove SIMBL or download an updated version; you can’t do the latter if you can’t launch Safari in any account.
As a result, I recommend that the first thing you do after installing Taboo is move its software from /Library (the Library folder at the root level of your hard drive) to ~/Library (the Library folder in your home folder). First, move the SIMBL folder from /Library/InputManagers to ~/Library/InputManagers. Second, move the Taboo.bundle file from /Library/Application Support/SIMBL/Plugins to ~/Library/Application Support/SIMBL/Plugins. (If either of these folders doesn’t exist, you can create it yourself.) Note that if you want to use Taboo in multiple accounts, you’ll need to copy these folders to the appropriate locations in each user’s home folder. Also note that if you're using any other SIMBL plug-ins (iCar, PathFinderHack, PithHelmet, TerminalColors), you may want to make the same changes for them.
OK, that’s admittedly a hassle. But it’s a one-time hassle that fixes a long-time hassle with Safari.
(Taboo works in both Tiger and Panther.)