Making Gnome 3.14+ Work Better

I recently upgraded from Fedora 20 to Fedora 23, and I was shocked to find how much Gnome usability took a giant leap backwards. My useful shell extensions were no longer functioning, and I couldn’t figure out how to access the icons in the notification area, since it is now hidden by default. Menus have been removed in places, like the Nautilus file browser and Gedit.

I feel like Gnome 3 already lacked some very useful features of Gnome 2.x, and each new 3.x release has moved further toward minimalism, and in the process we lost customizability and usability. There is a gnome-classic mode of Gnome 3.x which tries to mimic the Gnome 2.x experience, but there are glitches and it takes some finagling. What I want is to have my Gnome 3.18 desktop to be as feature-rich and usable as possible without sacrificing real estate or productivity.

Here are the changes I made to make my desktop more usable:

Install Gnome-Tweak-Tool

Many of the settings in Gnome are not modifiable through the GUI with the default packages installed. The gnome-tweak-tool package gives you access to lots of knobs and dials to tune your Gnome shell.

$ sudo dnf install -y gnome-tweak-tool
Restore Minimize/Maximize Functionality

Not a big deal, but I don’t understand the reasons for removing these buttons. You can right-click on the window title and select Maximize or Minimize, so it’s not a big deal. To turn these buttons back on, use gnome-tweak-tool.

Restore Non-Working Shell Extensions

Gnome shell extensions are available at, but it looks like a ghost town if you have “Compatible with: current version” selected in the search criteria. Most authors haven’t bothered to update their extensions for compatibility with the latest Gnome shell version. Many of these extensions will work just fine in the newer version, but the metadata is set to only allow the extension to work with certain shell versions. If you change the search criteria to all versions, you can download extensions that aren’t supposed to work on the current version. Here is how to get many unmaintained extensions working again:

  1. Navigate to ~/.local/share/gnome-shell/extensions/ and then ‘cd’ to the extension you just downloaded
  2. Edit metadata.json with a text editor
  3. Find the “shell-version” array, and add the version you are currently using (such as 3.18), making sure to maintain proper list syntax (commas between members, but not after the final member)
  4. Using gnome-tweak-tool, enable the extension
Install Useful Extensions

This is optional, but now that you know how to enable older extensions, why not try some that can improve your Gnome shell experience.

  • system-monitor – This extension shows highly-configurable graphs and gauges of CPU, memory, swap, net, disk, thermal, fan, clock frequency, and battery in your top bar system tray.
  • Applications Menu – This adds an Applications menu in place of the Activities button in the top-left corner. Since you can throw the cursor into the upper-left to engage Activities, I’ve never seen the point of the button. This replaces it and adds a useful app launcher sorted by category.
  • Task Bar – This adds icons for all of your running applications in the top bar. This replicates the functionality of Gnome 2.x’s window chooser while taking up less real estate. Additionally, Task Bar allows you to add launcher buttons for the Appview, workspaces, desktop, etc. and configure other aspects of your Task Bar, including which elements to display.