

Why aren't tabs a window manager feature? - makecheck

Why do you suppose tabs are constantly reimplemented by applications?  Shouldn't this be a window manager feature?<p>Consider the similarities.  A tab overlaps other tabs, as windows do.  It has a title.  It can be moved.  It can be created and closed.<p>Sure, tabs have a few "expected" differences from windows: the tabs in a stack all move together, and when resized they stay in sync.  But this is already behavior that window managers are capable of (e.g. Mac OS X drawers can resize a drawer in sync with its parent window).<p>The devil is in all the <i>other</i> "differences" tabs have from windows, that are really just silly.  For one, every application seems to have "redundant" commands to satisfy their tabs, such as "New Tab" and "Close Tab".  All the nice keyboard short-cuts, such as rotating between windows, are either broken or unpredictable for tabs in each application.  You can't necessarily minimize/hide tabs.  On Mac OS X, a window-modal sheet blocks all tabs for no reason, when it could block just one tab "window".<p>As far as programming, all kinds of extra work is required to make tabs do the trivial things that are automatic with regular windows: for instance, on Windows, tabs do not have miniaturized previews unless the app goes to great effort; and on the Mac, Exposé can't split out all of a window's tabs.<p>There's one final problem with this "design decision" for tabs: it's impossible to tab-stack arbitrary things.  What if I want a tab stack with 2 web browsers, an E-mail message and a text editor?  I <i>can't</i>, because tabs are inherently app-specific.<p>As programmers and OS designers, it's time to step back and fix this, isn't it?  A tab fundamentally <i>is</i> a window.  It's a wheel being constantly reinvented.  Technically, all you need is a gizmo in the window manager to turn any window into a tab, at which point any other window can be dragged onto the window to "stack" more tabs into it (or dragged out, to recreate normal windows).  This behavior seems so clearly in the window manager's domain, that it's hard to imagine why an application would <i>even need to know</i> when one of its windows is technically a tab.
======
Adrock
If you can look past the author's... quirks, I highly recommend the ion wm:
<http://www.modeemi.fi/~tuomov/ion/>

It has great tab support and is highly customizable and scriptable using Lua.
Also, once you go with a tiling wm, you'll never go back. It brings the
efficiency of you favorite IDEs to the rest of your desktop.

------
sorennielsen
That actually works on Compiz (Fusion) that is installed on Ubuntu and several
other Linux variants.

More info on their wiki: <http://wiki.compiz-fusion.org/Plugins/Group>

------
qhoxie
There are some tabbed window managers out there, and many swear by them. Check
out fluxbox - <http://fluxbox.org>

