Safari’s Tab Dragging Modes

In my Firefox/Safari comparison, I praised Safari for allowing the user to tear off a tab into a new window. However, Safari’s behavior with tab-dragging is a little weird, and I suspect confusing to many people. When you drag a Safari tab, there are two dragging modes: intra-window and inter-window. In the intra-window dragging mode, you are simply rearranging the order of tabs within a single window. In the inter-window dragging mode, you can both reorder tabs within a window and drag tabs between windows (and spawn new windows from a dragged tab).

The mode is determined by the initial direction in which you drag. If you first drag left or right, you enter the intra-window mode;1 if you drag up or down, you enter the inter-window mode. Once you enter one of these modes, you cannot switch to the other except by dropping the tab and starting a new drag.

The two modes look different, visually. In the intra-window (left/right) model, the dragged tab simply looks like a normal tab attached to the window:

Screenshot of Safari 3.1 intra-window tab dragging.

In the inter-window (up/down) model, the dragged tab’s appearance depends upon where it is currently hovering. When it’s hovering within the tab bar, toolbar, or bookmark bar of a window, it looks like a translucent tab:

Screenshot of Safari 3.1 inter-window tab dragging within the tab bar.

In this case, when dropped, the tab moves from one spot to another, perhaps between two different windows.

When the tab is hovering anywhere else, it takes on the appearance of a thumbnail of the tab’s content:

Screenshot of Safari 3.1 inter-window tab dragging outside the tab bar.

In this case, when dropped, the tab spawns a new window.

This state of affairs is irritating at best, and confusing at worst. Confusing because I can’t think of any other drag operation on the Mac where you get a completely different mode based on the initial direction of the drag. [Update: Via Twitter, Peter Hosey points to one: dragging in a table view, where up/down selects multiple rows and left/right initiates a drag-and-drop with the clicked-upon row. Safari’s tabs are still the only drag-and-drop implementation I know of with different directional modes.] Irritating, because even if you understand how it works (which is a big if), it’s still easy to get locked in the wrong mode — if you want to drag down but move the mouse even one iota left or right first, you get locked in the intra-window mode and have to start over.

I don’t see why the intra-window (left-right) mode even exists. With the inter-window mode, you can do everything: reorder a tab within a window, move a tab to another existing window, or move a tab to its own new window. The intra-window mode only allows one thing: reordering tabs within their current window. I can’t think of a single reason why this mode exists.

  1. There’s at least one exception: If you drag the leftmost tab to the left, you get the inter-window mode. Not so for dragging the rightmost tab to the right, however. ↩︎