Shrinking the Bar

GNOME changed some things in v3.32 that requires behavior adjusting.

One Change

For a long time, GNOME combined copy and paste, two steps, into one step. The two steps:

  1. Highlight the text you want to copy and pick a “copy” option in a menu or use CTRL-C to copy that text.
  2. Bring your pointer to another app where you want to paste it and pick a “paste” option in a menu or use CTRL-V to paste that copied text.

GNOME turned that into one step:

  • After highlighting, bring your pointer where you want to paste it and middle-click.

That’s it! Copy and paste in one step.

But now, v3.32 changed it.

Using a touchpad, middle-click was done by one of two methods:

  1. On a mouse or touchpad, click left and right buttons simultaneously or click in the middle of those two buttons on most touchpads.
  2. On a touchpad, when configured for two-finger scrolling along with tap-to-click, use a triple-finger tap.

You could use either method interchangeably.

But now, v3.32 changed it.

Enabling triple-finger tap for middle-click disables use of the left-right button click combo to get middle-click. GNOME 3.32 made these two behaviors exclusive.

Pick one. You don’t get both.

A More Annoying Change

GNOME opens many application frames, like gnome-terminal, with title bars. Typically, the title bar shows the app title and some buttons.

That title bar was about the height of the font. Didn’t take much space to show it.

Some versions ago, GNOME changed the title bar height. It was large. Its size stole space from the app’s purpose by making the frame larger. GNOME doesn’t offer a way to change that either in dconf-editor(1) or in gnome-tweaks.

NOTE: Look up and install gnome-tweaks using dnf(8):
sudo dnf install gnome-tweaks

How To Fix It

Create a configuration file named gtk.css, a simple text file with the following lines:

window.ssd headerbar.titlebar {
     padding-top: 1px;
     padding-bottom: 1px;
     min-height: 0;
}

window.ssd headerbar.titlebar button.titlebutton {
     padding: 0px;
     min-height: 0;
     min-width: 0;
 }

Change the pixel (px) number in padding-top and padding-bottom to the size you prefer. Using 1px leaves a tiny space between a letter’s descender and the title bar border.

After you save the gtk.css file:

  1. Move it into the ~/.config/gtk-3.0/ subdirectory.
  2. Use ALT-F2 to give GNOME a command.
  3. Type “r” and ENTER to restart GNOME.

When GNOME restarts a few seconds later the title bars are thinner.

Here’s the Before picture:

Before Shrinking the Bar

The upper terminal frame’s bottom is overlapped by the lower terminal frame’s top. Also notice the watchbg frame, another terminal, overlaps the lower terminal frame’s bottom and the bottom of the gkrellm(1) app on the right.

Here’s the After picture:

After Shrinking the Bar

Now the terminal frames are nicely separated. The upper terminal frame’s bottom by both the tiny gap on the lower left caused by the curvature of the lower terminal frame’s upper left corner and by the visibility of the upper frame’s scrollbar at the bottom. Moving the watchbg frame to the screen bottom, leaves a gap below the lower terminal frame. Finally, the gkrellm display now shows the system uptime at its bottom line.

UPDATE:

With the latest gnome-shell upgrade, GNOME added a header bar to the title bar. The header bar adds two icons to a terminal’s title bar:

  • A tiny terminal with a + inside that opens a new terminal as a tab
  • A triple-line menu offering options that used to appear with a right-click in the terminal window, which GNOME has now eliminated

Having this header bar is nice for those who want it, but ignoring the gtk.css file to size it is strange. It is ignored unless you make a change in the GNOME parameter settings.

The easiest way to do this uses dconf-editor(1). Launch it by clicking the Activities access in the upper left corner of the desktop or use my preferred quicker way: press the Super key — the Windows icon button — then type dconf in the search input box.

In the dconf app, click on org, then gnome, then terminal, then legacy, then headerbar to get to this setting:

dconf Header Bar Configuration

Its default setting is nothing. Acting like the True setting adds the header bar to the title bar. But both increase the pixel height, totally ignoring your gtk.css setting.

I’ve tried a variety of settings changes in the gtk.css file to work with the nothing/True settings and none of them change the pixel height of the combined title bar/header bar.

To force the shorter height at the sacrifice of the header bar icons:

  • Click the Use default value button to enable the menu options
  • Set the menu option to false
  • Quit dconf
  • Restart GNOME using the ALT-F2 r

Now it will use the pixel settings you want. Maybe the GNOME developers will fix this later so your pixel preferences will work with header bar icons. Meanwhile, use a two-finger tap to bring up the missing menu. One of its options opens a new tab, if you like tabs.

ADDENDUM: If you’re interested in my Linux desktop background changing program, click my e-mail link. In your e-mail, write that you would like me to add your e-mail address to my mailing list. In return, I’ll send you a copy of my book describing the program’s development and use.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.