Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It's interesting. Microsoft agreed with this philosophy and fought tooth and nail against tabbing in browsers, opting instead that each browser tab be it's own window and accessible from the task bar. After all other browsers had switched, they were forced to introduce that in IE as well.

The worst offender here is OSX. I still haven't figured out a good way to switch between multiple open windows of the same application, not even the file explorer (Finder). It's a huge pain.



They were wrong. Emphatically. Ridiculously wrong. Remember for context that virtually nobody was using virtual desktops for windows as it not part of the UI unless you installed it and it sucked besides. Also remember most people's internet was very very slow. Screens were also not that big. Not that they are much bigger now with everyone using laptops.

Grouping related windows in the task bar makes it frustrating to use it because everything involves multiple clicks. Once you got beyond a certain number of apps the task bar sucked without grouping because there wasn't enough text to display a long enough label to distinguish between windows.

When something takes a long time to load you are incentivized to create a new tab if you might want to come back to that resource rather than waiting for it to load again. This absolutely incentivizes using multiple tabs. If you have 8-12 browser windows + 2 or 3 other windows you are already past the threshold where you have to group windows in the task bar to use it and are now changing tabs by moving your mouse at the way to the bottom of the screen clicking on the browser icon and then hunting for the desired text then clicking again. This is in a word annoying.

if your browser supports tabs you can have 2-3 other windows and 2 browser windows and use an ungrouped taskbar. You can also hit one hotkey to open a new tab or use in browser tab switching in place of all desktop window switching to switch between several. This is much much much better.

Even if all other sins were removed the browser tabs represent a logical grouping and additional context that would be lost with just windows.

I can close them as a group I can book mark them as a group I can save them for later perusal as a group. I can use a side tab extension to more easily switch between a large number of tabs. I can right click on a link and open several links in the background without changing my current context.

They designed a user interface that was only useful for grandma opening 1 browser window at a time and maybe 2 apps at a time.


They weren't wrong, they just did an awful job of making it so individual apps wouldn't have to reinvent the wheel to get tabs. There's no reason browsers should have to implement it themselves or that other apps shouldn't be able to have the same semantics.

Ironically the pieces were there with MDI but that was also a bad implementation of the same semantic concept.

For whatever reason, only tiling wms like i3 have ever really delivered at all on the concept of making tabbing a universal thing.


I still use tabs in apps despite using i3 for years. This firefox window has 13 tabs and would be much much crappier if I used 13 i3 tabs.

I couldn't open new firefox windows in the background and opening others in the foreground within firefox.

I would have to use i3's horizontal tabs instead of tree style tabs making it harder to read the titles.

I couldn't switch tabs separately from switching windows. This would make having firefox alongside another window suck because it would trivially become hard to navigate. I would have to manually put only the firefox windows in a tabbed layout with the other window outside of it. I would have to focus parent and then focus direction to switch to the other. This would be so for any window I want to use alongside it even briefly.

I couldn't close entire trees of tabs at once. I couldn't close everything except the current tree.

I couldn't save a particular set of tabs as a session to be restored later.

In theory could these features be implemented in an i3 specific nature? Perhaps so long as you are willing to do so for every specific environment and for every individual app.

If we pick 100 apps and the most popular 10 environments and the most desired 10 features we will find we only have 10,000 tasks ahead of us!

Tabbed environments within i3 ARE useful but not as a replacement for tabbed interfaces within applications.


I didn't say they delivered perfectly either; i3's minimalistic nature isn't really well suited to a holistic approach to tabbing, either. I just said that it delivers on the concept at all.

My frustration, fundamentally, is that I don't want every app that wants to use some kind of tabbing interface to be different. Use different shortcuts, different models. I would rather the WM/DE provide a holistic approach that can be inclusive of all or at least most of the basic needs you keep listing, and that could be applied to other programs in a uniform way.

That's beyond the imagination of Microsoft apparently (I agree that just making taskbar items clump isn't the same), and beyond the scope of an x11 WM (which doesn't have any meaningful say over the client area of any program on its own). But it's not impossible, and it's not "the wrong way" just because no one's tried or managed to do it yet.


Its implicitly the wrong way because firefox tabs aren't emacs tabs which aren't vs code tabs which aren't i3 tabs.

It's not merely that i3 tabs lack features its that it lacks and ought to lack deep integration with the application.


Haiku has stackable tabs instead of title bars.[1] KDE used to let you group windows as tabs.[2] Microsoft experimented with it.[3]

[1] https://www.haiku-os.org/docs/userguide/en/gui.html#stack-ti...

[2] https://superuser.com/questions/848840/triggering-kdes-attac...

[3] https://www.zdnet.com/article/windows-10s-sets-feature-is-go...


Oh yes MDI was horribly bad. Window management within other windows... Ugh.


Just press Command-` to switch between windows of the same application. Command-Tab to switch between windows of other applications.


Note that on a US keyboard the ` (backtick) key is the one right below ESC.

If you have the keyboard in another locale (I use ES-intl) that hotkey doesn't make any sense at all: ` is next to "p" in my keyboard, and works only as a dead key. Cmd-` is literally impossible to use on it.

If you are in this situation, do yourself a favor and remap the "move focus to next window" hotkey [1]. It is very useful and I couldn't live without it now.

[1] https://apple.stackexchange.com/questions/280220/how-to-chan...


` (backtick) is also right above tab. On a US keyboard, this makes Cmd+Tab switch apps and Cmd+` switch windows of an app.

It's probably worth noting that the defaults remain on common Linux (at least KDE, GNOME, and Cinnamon) and Windows desktop shells with Alt instead of Cmd.

On Linux, Windows, and OSX, adding Shift cycles in reverse order.


Weirdly enough this doesn't work when apps are in full screen mode, which Apple has been pushing lately.


Or Ctrl-Down to get Mission Control (Exposé) for the current application's windows only


I got so used to this I made M-` switch between frames in emacs on Windows (work environment).


> The worst offender here is OSX. I still haven't figured out a good way to switch between multiple open windows of the same application, not even the file explorer (Finder).

I use HyperSwitch[0] on macOS to solve this issue. I use it to override the default Cmd+Tab behavior to cycle through windows on the current desktop. It's become one of the first things I install on a new machine.

[0]: https://bahoom.com/hyperswitch


Cmd-~


This only works if you already have the relevant app focused, which is an additional piece of state that I shouldn't need to keep in my mental stack.


I've found https://contexts.co/ to be the best solution for OSX. It wont let you ⌘+tab through the browser tabs but if you have multiple windows of the browser open you can see them individually.


Cmd+tab for apps, cmd+` for apps' windows.


Cmd+` will tab between windows of the current application.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: