Team LiB
Previous Section Next Section

Hack 34. Modify Tabbed Browsing

Customize the look and behavior of tabs to any degree.

Tabbed browsing is often touted as one of Firefox's killer features. Indeed, it's very useful, but the default preferences aren't perfect for everyone. That's OK, because Firefox offers plenty of preferences for customizing your tabbed-browsing experience. If you can't find what you want in the preferences, you can go a step further by installing one of the many Firefox extensions that can make minor alterations to your tabs.

Still not satisfied? The most aggressive of all the tab-related extensions, discussed at the end of this hack, completely replaces Firefox's tabs with its own.

4.3.1. Tabbed-Browsing Preferences

Firefox preferences allow you to control how tabs respond to certain types of events. Some of the preferences are easily set in the Preferences window, while others require you to use the special about:config page in the browser.

To find tabbed-browsing preferences in about:config, type tabs in the Search box at the top of the list.


4.3.1.1 Links from other applications

When a link is sent from another application, such as when you click on a URL in an email, what should the browser do? There are three options: open the page in a new window, open the page in a new tab in the front window, or replace the current page in the front window.

The options for this behavior are shown at the top of the Tabbed Browsing panel in the Preferences window. If you ever feel the need to set this preference via about:config, look for browser.link.open_external. Setting this preference to 1 opens the link in the current tab and window, 2 opens it in a new window, and 3 opens it in a new tab in the front window.

4.3.1.2 Loading tabs in the foreground or background

There are three preferences that control whether new tabs load in front of the current tab or behind it. These preferences correspond to the three types of events that can open a new tab. Two can be set in the Preferences window (checked or true means "load in foreground"; unchecked or false means "load in background"), while the third requires the about:config page, described earlier in this hack:


Control (Command)-clicking a link in the browser to open a new tab

Set this in the Preferences window with the checkbox labeled "Select new tabs opened from links" or in about:config by changing browser.tabs.loadInBackground.


Opening a tab from a bookmark or the browser history panel

In the Preferences window, this event is called "Select new tabs opened from bookmarks or history." In about:config, it's browser.tabs.opentabfor.bookmarks.


Opening a tab from a link sent by another application

There is no checkbox in the Preferences window for this setting. In about:config, this preference is browser.tabs.loadDivertedInBackground.

4.3.1.3 Getting rid of tabs when there's only one

This preference hides the tab bar at the top of the set of tabs when only one tab exists:

browser.tabs.autoHide  /* set to true to enable hiding */

4.3.1.4 Single Window mode

Do you hate it when links on web pages open new windows (because they set a target attribute on the link)? You can force Firefox to open those links in a new tab instead of a new window. This is called Single Window mode. It doesn't prevent all new windows, but it catches most of them. The radio buttons for setting this preference are in the Preferences window, but only if Firefox knows you want to see them. Go to about:config and set browser.tabs.showSingleWindowModePrefs to TRue. Figure 4-4 shows the items that are added to the Preferences window's Tabbed Browsing panel after making this change.

Figure 4-4. Single Window mode preferences for tabbed browsing


4.3.2. Extensions that Alter Tabbed Browsing

There are a number of Firefox extensions that interact with tabbed browsing. Two are designed to make it easier to set the preferences exactly how you like, and one adds some useful new features via the creative use of tabs and keystrokes. New extensions are being written all the time, so check the Mozilla Updates web site (http://updates.mozilla.org/) for the latest additions.

4.3.2.1 Tabbrowser Preferences

The Tabbrowser Preferences (TBP) extension (http://www.pryan.org/mozilla/site/TheOneKEA/tabprefs/), by Bradley Chapman, organizes all of the preferences related to tabbed browsing into a single pane in the Preferences window. You can set all of the same preferences via the special about:config page, but by using TBP, you don't have to remember what the different preference names mean or what value to set in order to get the behavior you want.

4.3.2.2 Quick Tab Pref Toggle

The Quick Tab Pref Toggle (QTPT) extension (http://jedbrown.net/mozilla/extensions/#QuickTabPrefToggle), by Jed Brown, allows you to maintain two sets of tabbed-browsing preferences. The idea is that you'll usually want to divert all new windows into new tabs, but occasionally you'll work with a page that really should pop up a separate window. This extension lets you put a small button (a toggle) in the toolbar to flip back and forth between two sets of preferences with a single click.

4.3.2.3 Magpie

Magpie (http://www.bengoodger.com/software/tabloader/), by lead Firefox developer Ben Goodger, is not a tabbed-browsing extension per se, but it has a related feature that demonstrates a completely different use for tabs. Magpie can save all of the tabs to the right of the one you're currently viewing to files on disk. (It's intended for media files, such as pictures.)

For example, if you open a photo album web page that contains thumbnails of a dozen pictures, you could Ctrl-click (Command-click) each of them to open the full size photos in separate tabs. Then, a single use of Magpie's Ctrl-Shift-S would save all of those images to disk in a single folder and close the tabs. This is much faster than saving each image to disk one at a time.

4.3.3. Tabbrowser Extension: A Complete Tabbing Overhaul

The Tabbrowser Extension (TBE, http://piro.sakura.ne.jp/xul/_tabextensions.html.en), by Shimoda "Piro" Hiroshi, is a power user's tool. It's the super-ultra-deluxe tabbing system, with every feature you can imagine and a few you probably can't. TBE completely replaces the built-in browser tabs with TBE's own. Review the install notes and latest status, as TBE is still being polished and debugged as this goes to print.

TBE's tabs look just like the regular tabs in Firefox (by default, anyway) but offer lots of features you simply can't get any other way. In fact, TBE is so flexible that the Preferences window for tweaking its behavior has almost as many options as Firefox's own Preferences window! TBE allows you to do the following things:

  • Rearrange tabs by dragging them to the left or right

  • Duplicate tabs in the same window or into a new window

  • Color your tabs

  • Display tabs on any side of the browser window (not just the top)

  • Automatically load the same group of tabs you were using when you last quit Firefox

  • Undo a closed tab (reopen it to the same page)

  • Lock a tab so that all links within it automatically open in a new tab

  • Block the page in a specific tab from being listed in the Referer: header when you click a link

  • Automatically reload a tab every n seconds, minutes, or days

  • Add a Close button to every tab

  • Loads more...

TBE also supports plug-in modules of its own. You'll find these plug-ins and more listed at http://piro.sakura.ne.jp/xul/_tabextensions_modules.html.en:


ContextMenu Rearrangement Module

Adds another preference panel to change the order of menu items in the tab bar's context menu (the menu shown when you right-click or Ctrl-click anywhere on the browser's tab bar).


Tab Numbering Module

Even Firefox's regular tabs allow you to switch to a specific tab by Ctrl-#, where # is the number of the tab (1 to 9) you want to switch to. With TBE and the Tab Numbering Module installed, holding down the Control key causes the tab numbers to pop up over the tabs, so you immediately know which number you need.


Highlight Unread Tab Module

When a new tab is opened in the background (behind the tab you're currently viewing), TBE marks it as unread. This module allows you to change how the unread tabs are displayed, making it easy for you to see which tabs you haven't looked at yet.


Smooth Resizing Patch

When your browser window has lots of tabs open, you might find that resizing the browser window is slower or jerkier than expected, especially if your computer is not the latest and greatest model. This module lets you resize the windows much more smoothly, but it causes a slight delay when switching tabs.


Focus Previously Selected Tab Module

Keeps track of which tabs you visit and in which order and allows you to step backward and forward through that history, which is useful when you have many, many tabs open and accidentally switch to another tab before finishing with the current one. One quick keystroke, and you're back where you started.

The Tabbrowser Extension is far too feature-rich to cover everything here. If you take your tabbed browsing seriously and want full control over every aspect, then TBE is worth a look.

Seth Dillingham

    Team LiB
    Previous Section Next Section