New entry about tabs

This commit is contained in:
snit 2024-11-22 22:01:29 -06:00
parent 6a822e8bac
commit 1c086d730b
2 changed files with 44 additions and 3 deletions

42
comp/browser-tabs.gmi Normal file
View File

@ -0,0 +1,42 @@
# Browser Tabs are Stupid
I hate tabs in browsers. Well, I hate when any program adds built-in tab support. The concept of built-in tabs inherently violates the concept of programs doing only one thing and one thing well.
In an ideal world*, there should be genuinely no reason for programs to each write their own implementation of tabs. They aren't compatible with each other, limiting their flexibility, and each implementation looks and acts different, so you have to configure them and learn how they work separately for each and every program.
In an ideal world*, you could just have a single program that you run your programs in which will automatically manage tabbing them together. You only need to configure one thing to have tabs work the same globally, and you can put any program in those tabs.
Luckily, these programs already exist. Many window managers come with support for tabbing windows, such as i3/Sway or Haiku's; and there're several programs that implement tabs in the terminal, such as tmux or screen. So if they already exist, why not just use them?
Even more ironically, certain newer browsers are actually implementing EVEN MORE features found in tiling window managers. Want two tabs side-by-side now? Browsers like Vivaldi can do that natively. A lot of browsers include support for grouping tabs by category. Now imagine these tiled or grouped tabs worked seamlessly with every other program you have running.
## Removing tabs from my browser
Since I already have a tiling window manager, I could theoretically just find a browser that doesn't come with support for tabs, and just use that in combination with my window manager. Unfortunately, not many such browsers exist, and the ones that do are so outdated that they're next to useless on any site made in the past decade or two. Surf, for example, seems to just freeze on most websites.
Its unfortunate, but the alternative is to just use a tabbed browser, and do what I can to pretend it doesn't have tabs. I've opted for Firefox in this case. Firefox has extensions to force each tab into its own window, and its flexible enough to let me customise the CSS to hide the now-useless tab bar.
This extension, which I use, is open source and has worked mostly flawlessly for me:
=> https://gitlab.com/adsum/firefox-notabs Firefox No Tabs
The only annoyance, documented in issue #2, is that certain special Firefox tabs just don't get their own windows, but these tabs are rarely-used, so its not a big problem.
The method to remove tabs from the UI is linked in the README, but I'll also just tell you here. You'll need to go to your profile folder in ~/.mozilla/firefox/. For example, mine is called ~/.mozilla/firefox/vhj2i22f.default-release. Within it, you'll create chrome/userChrome.css with the following content:
```
#TabsToolbar{ visibility: collapse !important }
```
And that's literally all I had to do. For the past few months, I've used this exact setup in combination with the Sway window manager with zero problems. There might be a performance penalty from doing this, but, if there is, I haven't noticed anything personally.
Also, you may notice that this setup is basically just recreating Electron apps, but it has a few crucial differences. For one, as mentioned, I don't notice any real performance penalty from having multiple windows open at once in the same way I do with Electron. Secondly, I can have multiple instances of the same app open using this method, which to my knowledge isn't possible/easy to do with Electron. Third, Wayland support with Electron apps fucking sucks, but in Firefox a lot of things just seem to work fine. And lastly, I get all the benefits of Firefox's configuration, such as blocking ads and trackers, or being able to use Vim keybinds.
## This is not an ideal world
Earlier I said "in an ideal" world programs wouldn't implement their own tabs. Unfortunately, this is not an ideal world. I do have to admit that I at least UNDERSTAND why so many programs have built-in tabs. The reality is that most people don't use tiling window managers; they don't use Haiku; they use Windows or Mac, or a generic floating window manager that's actually incredibly bad at managing windows, and has no support for grouping them into tabs.
In such an environment, having twenty separate windows to manage by manually positioning and resizng them would be an absolute nightmare, so it makes perfect sense that these programs all have to take matters into their own hands.
I don't have to like it, but it does really suck. I do find it funny that browsers are becoming full-blown tiling window managers though; goes to show that its just a better way of managing windows.
Actually, if this WERE an ideal world, the web never would've gotten to the point where we need to implement full-blown window managers. Web browsers are basically full operating systems unto themselves at this point, each website a full desktop program. In an ideal world, the web would'nt've become a massive monolith that a typical person can spend literally 100% of their digital activities within.
But I digress; the point is that built-in tabs are bloat, and tiling window manager folks can just delete them entirely and use the tabs they already have to achieve the same thing but better. Unfortunately, though, if you didn't think tabs were bloat before, doing this does objectively make them bloat, since they're a feature you don't even use, yet still have full support for (worse, you had to actually ADD MORE to pretend they aren't there).
I don't know if this was informative at all (I feel like I couldn't word any of this properly), or if you even necessarily agree, but, as always, feel free to message or email me your thoughts or questions.

View File

@ -1,8 +1,7 @@
# ~snit/comp/
This section is for technology-related content. Most of it is probably related to programming or especially just really bad takes on how operating systems should work.
Speaking of bad takes, that's the only thing I have here at the moment:
The following are listed in no particular order:
=> hier7.gmi Regarding hier(7) in $HOME
And here's a better take:
=> capslock.gmi Making the CapsLock Key More Useful
=> browser-tabs.gmi Browser Tabs are Stupid