How I Survived GNOME by Using GNOME Extensions

By

When you start as a Linux User, you are very likely to fall in two camps. Either you are a GNOME user, or a KDE user, whether it was by choice or by default. So you already know you won’t be missing any fanboyism or any flamewar in the Linux community. Since a good chunk of Linux users are tinkerers, we end up with a lot of experiments: different distros, different desktops, different bootloaders, different everything. I personally think it’s very healthy, even if it goes against having a consistent experience across the board. This is what happens when users are able to modify and tweak every piece of the system. It’s an inherent property of its original design.

Of course, you can avoid the GNOME vs KDE war by using something completely different altogether, like a tiler i3, awesomevm or other alternatives… or just use both GNOME and KDE and recognize that they both have some merits.

These days I tend to find myself more at home in KDE than in GNOME, but I still use GNOME on one of my machines - it moved recently to GNOME 41. Out of the box I’m in the camp that GNOME defaults are not for me, making it barely usable. Thankfully there’s the wonderful world of GNOME Extensions to make it possible to live in GNOME, keeping the good bits and ironing out the bad ones with Extensions. I won’t go at length on how to install extensions, suffice to say that you simply need the above link and a browser plugin (available for Firefox and Chromium/Chrome) if you like it the easy way.

So, here is what I recommend if you feel a little lost by the lack of customizations or options in Vanilla GNOME. I will split my recommended extensions into three parts: essential, important, and nice to have.

Essential Extensions

Caffeine:

This one simply shows a coffee cup icon that you can use with a single click to avoid screen lock and screensavers. Most of the time you can rely on your applications to handle such settings, but in doubt, Caffeine is a great extension to ensure you can go away from your computer and whatever you are working on won’t go to sleep.

No overview at start-up:

No idea why GNOME introduced this overview earlier in 2021. When I first saw it, I was wondering what broke my GNOME settings… until I found out that the GNOME team themselves introduced this BY (F…ING) DEFAULT for everyone without any way to turn it off! This is the kind of stuff that drives me crazy: don’t break my workflow. This extension completely removes this kind of bullshit, hopefully forever.

NoAnnoyance v2:

This one removes the useless “window is ready” messages everytime a window is “ready”, whatever that means. You don’t really need such notifications in the first place.

User Themes:

A must have extension to customize your desktop and tweak the colors and look of your GNOME Shell. It will add new options in your GNOME Tweaks application.

AppIndicator and KStatusNotifierItem Support

A great extension to finally get tray icons back. This is essential as there are still many applications that only show notifications through their tray icons, or minimize to tray, or show practical shortcuts on their tray icon menu… There’s also quite a few options to further customize the behavior and the looks of it all:

Important

Bluetooth quick connect:

This adds a Bluetooth section in your GNOME settings bar or whatever they call it, where you can directly select which Bluetooth device to activate or connect to. Saves a couple of clicks, pretty practical if you ever use BT game controllers or BT audio.

Arc Menu:

This adds an application menu in one of the corners of your choice, since GNOME removed anything that remotely looked like the regular “Start Menu” of old. Of course some folks prefer docks (if you are one of them, you would probably like Dash to Dock) but I’m old school in that regard.

I could live without the Arc Menu launcher. But there’s always an application I only use every couple of weeks or months and having them organized in proper category make it easier to find them. Arc Menu is also a very well done extension done with a lot of love, with numerous layouts available for your application menu and countless options for customization.

Here’s what the menu can also look like:

GSConnect

GSConnect is the equivalent of KDEConnect for the GNOME desktop - it makes it easy to control your computer from your phone if they are both on the same network, and exchange files as well between them. A great way to use both devices and play on their advantages while keeping them connected to each other.

Comfort

Vitals

With this one, you can get storage, RAM and temperature information right in your menu bar, with more details available if you click on it. Nice to have when you are running numerous programs at the same time and you want to make sure you still have enough cycles and memory to operate smoothly.

Remote Alt+Tab Delay v2

There’s apparently a delay introduced by design (!) by GNOME when doing Alt-Tab, and this removes it to make it snappier. There’s no GUI for this extension, it just turns off a flag that introduces this lag.

Removable Drive Menu

Do you have any removable storage connected via USB? An icon will make it directly accessible, and you will be able to unmount them from there too. Not strictly necessary per se, but saves a couple of clicks when you use them.

Impatience

This one speeds up the animations included in the different transitions of the GNOME desktop. I don’t think it changes much but you may perceive your desktop to feel a little more reactive.

Extension List

This gives you an additional tray icon to list all your GNOME extensions available (and stars the ones currently loaded). It also auto-updates the extensions that have new versions for your next login.

Extensions Sync

This one makes it possible to save and sync your extensions across several computers, so you don’t have to do the whole manual process step by step on multiple machines.

Sound Input & Output Device Chooser

A very practical extension to choose your input and output sound devices in case you have several of them attached on your machine. Mostly relevant for desktops that typically can have many peripherals connected. Without this extension you’d have to click on “Bluetooth settings” and open a different window. An unnecessary step.

Hot Edge

Another extension that saves a lot of time - just bring your mouse at the bottom edge of your screen to show the overview of all windows opened, to quickly switch between applications. Very smooth.

Next?

As you can see, I’m using quite a few extensions while I don’t consider all of them to be critical. At the end of the day they help me waste less time into following the “one-size-fits-all” flow recommended by the GNOME Team, and do things MY way.

Of course, extensions are not officially supported. They are barely tolerated. Which means that they often break as GNOME changes their APIs from one version to another, annoying to no end GNOME users who rely on extensions (and there are quite a few of us!).

I’m on the side of the argument that says that most of these extensions should be included as actual options in the GNOME settings… at least the most popular ones. KDE goes completely overboard in the other direction by exposing maybe just a bit too much to the end user (and introducing a torrent of bugs from there), GNOME would just have to be less rigid to be really, really good. After all, FOSS is also about giving power and choice to the end user, and hiding/removing numerous settings feels like going against that moral contract. But I guess anyone can always brush away negative or even constructive comments with a “you don’t like it in GNOME? Well you can go and use something else, Goodbye.”

Will they ever change their mind? That seems unlikely. In the meantime, I will keep using these excellent extensions that help me forget the desktop and concentrate on what I am actually doing instead.

Do you have any other extension that you find useful? I’m sure you do. Let us know below! If you manage to live in pure Vanilla GNOME, and have some tips on how to avoid using too many extensions, I’m also all ears.