like gnome-shell, but some visual elements annoy me, particular anything that uses vertical real estate, such as titlebars, tab bars, etc.

The desktop’s top bar can be hidden using the hide top bar extension. This hides the bar at all times, except with in ‘overview’ mode (i.e. when the mouse goes in the upper-left hot corner or by pressing the ‘super’ key on the keyboard, which by default is the left Windows key between Ctrl and Alt).

For window titlebars and terminal tabs, it can be fixed using CSS styling.

As you can see in the above screenshot, the window titlebar is now much smaller, the titlebar text is hidden and the terminal tabs are black and much smaller.

To try it, create the following file: ~/.config/gtk-3.0/gtk.css

Then add the following contents:

headerbar.default-decoration,
headerbar.default-decoration button.titlebutton {
  padding: 0px;
  font-size: 1px;
  min-height: 2px;
}

headerbar.default-decoration button.titlebutton {
  color: black;
}

/**
 * Misc apps, including tilix
 */
headerbar.titlebar {
  background: #000;
  height: 10px;
  min-height: 10px;
  max-height: 10px;
} 
headerbar.titlebar button,
headerbar.titlebar button,
headerbar.titlebar box,
headerbar.titlebar box button,
headerbar.titlebar stack,
headerbar.titlebar stack box entry,
headerbar.titlebar stack widget label {
  background: #000;
  color: #ccc;
  opacity: 0.8;
  height: 10px;
  min-height: 10px;
  max-height: 10px;
  padding: 0px;
  margin: 1px;
}

/**
 * Terminal
 */
notebook header {
  background: #000;
  height: 10px;
}

notebook tab {
  height: 10px;
  padding-top: 0px;
  padding-bottom: 0px;
  font-size: 8px;
}

notebook button {
  height: 10px;
  min-width: 0px;
  padding: 0px;
  margin-top: 0px;
  margin-bottom: 0px;
}

For the titlebar theming to be effective, gnome-shell needs to be restarted (Alt+F2, then type ‘r’ as the command). For the gnome-terminal, all tabs/windows must be closed then re-opened.

Update: a neat way to “inspect” interface elements is by using GTK_DEBUG=interactive when launching the application. For example:

GTK_DEBUG=interactive tilix

c.f. https://unix.stackexchange.com/a/242597/89455