If you are using a tiling window manager, then having tabs in your GUI applications might be sub-par. Whenever there's redundant functionality the question arises: Which option should I pick? Additionally, the tab and menubar of modern browsers take up a lot of real estate. That's certainly good for the user who wants to see all their options. Personally, I prefer shortcuts and more screen real estate. If you're of a similar mindset, this short tutorial is for you.

NB: I have used this setup for the better part of 5 years now. If the past is any indication of the future, it'll continue to work without too much manual adaptations on your part.

Here's a demo of how the final setup looks like:

I use the i3 tiling window manager. It has excellent support for window and tab management. Additionally, I'm using rofi, a window switcher and application launcher. It is similar in functionality to dmenu. Using i3 and rofi, it is trivial to start applications, order them into workspaces in different layouts and later find them, again.

In the demo screenshot above, there are multiple FF windows open, some are tabbed (by the wm). On top, I'm assuming that I have many workspaces open and I forgot where the 'hackernews' window was. I ask rofi, it fuzzy auto-completes the query. If I hit 'enter', it would take me to the workspace and bring the window to the foreground.

To set it up, follow these steps:

  1. Write a bit of CSS to hide the tab bar
  2. Disable tabs, use only windows

CSS to hide the tab bar

Enable user style sheet

If you've customized your browser (basically any desktop browser) before 2019, you might now that a browser loads a user specific style sheet called userChrome.css or userContent.css when starting up. In 2019 with v69, Firefox disabled this behavior by default. However, being the configure browser that Firefox is, it can be enabled again:

  1. In a new tab, type or paste about:config in the address bar and press Enter/Return. Click the button accepting the risk.
  2. If the toolkit.legacyUserProfileCustomizations.stylesheets preference is not already set to true, double-click it to switch the value from false to true.

Configure user style sheet

  1. Open your Firefox profile in your text editor.
  2. Create a folder called chrome
  3. Create a file userChrome.css with the following content:
#tabbrowser-tabs {
  visibility: collapse !important;
}

.private-browsing-indicator {
  background-image: none !important;
}

#tabbrowser-tabs, #navigator-toolbox, menuitem, menu {
    font-size: 15px !important;
}

#TabsToolbar {
  visibility: collapse !important;
}

Disable tabs

Install and enable a Firefox extension which forces new tabs to be opened in new windows, instead. I use NoTabs.

Closing

You're all set. Quit and restart Firefox to pick up the userChrome change and you're good to go.


If you liked this post, please consider supporting our Free and Open Source software work – you can sponsor us on Github and Patreon or star our FLOSS repositories.