Many ways that people use browser tabs are a coping mechanism for an inadequate window manager. My window manager is extremely fast, and provides tags, which are at a minimum like workspaces or virtual desktops, but are really much more than that.<p>With a fresh session, tag 1 is selected. This is the default configuration; the tags can really be named anything and can even be dynamic. Any window that is created is then labeled with the tag that is selected. I can deselect tag tag 1 and select tag 2. All the windows that are tagged with 1 are removed from the viewport and any windows with tag 2 appear. Any new windows are then created with tag 2. I can switch back and forth between tag 1 and tag 2 very rapidly. This is the traditional workspace mode of working<p>I can select multiple tags, doing so will show all the windows that have any of the tags I've selected. Furthermore, if I create a new window, it will be labeled with both tags, and switching (which is really just selecting one tag to the exclusion of others) to either tag 1 or tag 2 will show that window. In addition to labeling new windows with whatever tags are currently selected, I can modify an existing window's tags very easily. This system lets me group my windows in a very flexible and easy-to-understand way. All of the shortcuts for interacting with my window manager begin with the "windows" key. That is beautiful, because windows<=>window-manager makes sense, and because applications almost never have their own shortcuts that involve that key, so there are no collisions.<p>On top of the tagging feature, it has some excelent layout modes that automatically place windows how I want them, and those layouts are attached to tags - when I select a tag, it changes the layout to the last layout I applied on that tag. For news browsing and general reading, the layout is always that each window uses the full viewport. When it's like this, my window manager looks exactly like a fullscreen browser with tabs. On the tag that I typically do coding activities with, I use a layout that splits the screen vertically into two sections: a primary and supplimentary section. Depending on what I'm doing, the primary window will either have the code I'm working on, a view of the output from the code I'm working on; the supplimentary will have a repl, a shell in the directory where my project is, and a documentation browser. Switching between all these windows is also completely keyboard driven, so I can code away, move to the reference to look something up, then get back to my editor very rapidly.<p>Anyway, that's just some of what I have available in my window manager. I almost never use tabs in my terminal, browser, or anything else because the window manager is much more powerful.