Gnome, the opinionated desktop environment

November 25th 2021 on Dušan's blog

Preface

I've used just about any desktop environment and window manager you can think of (XFCE, KDE, Mate, LXDE, Cinnamon, Pantheon, i3, dwm, bspwm, qtile, the list goes on...), but I always find myself returning to Gnome.

Depending on who you ask there's a couple of user camps (As if that's surprising.) one could fit into.

There are people who're used to the traditional desktop, taskbar at the bottom, application menus, desktop icons and alike. There are minimalists who build their desktops essentially from scratch using tiling or floating window managers. Then there people who don't really care about what they're using and they tend to stick with whatever came with their system. I'm neither one of those (or at least, not anymore). I happen to agree with Gnome's opinionated desktop philosophy. Here's why.

Customisation & Extensions

Let's get this one fact out of the way. Gnome isn't supposed to be customised. I know, sounds ludicrous, but it's true. You might even be inclined to think it goes against the philosophy of user freedom, but hear me out.

Gnome isn't a traditional desktop by any means and you shouldn't expect it to behave like one. When you spend hours "customising" it with extensions and GTK "themes", icons and what not, you're doing it WRONG.

Extensions aren't officially supported, never have been and very likely never will be. They're poorly implemented, almost as an afterthought of the development process, and they keep breaking from every major version of Gnome to the next as the underlying APIs change. Most of them exist only to pander to users who wish to force Gnome to behave like a traditional desktop, or to offer unnecessary features no one in their right mind asked for. The only extension I use is Tray Icons: Reloaded and that's by necessity (Some applications outright don't work without a system tray).

Themes are a similar story, in a now infamous open letter, Gnome application developers issued a plea for distributions to stop theming their apps. The letter you can read for yourself, but to briefly summarise the main argument, themes introduce problems not easily dealt with. Many applications are left broken and unusable, their visual style ruined and accessibility features thrown outside the window. Just to be clear, this is meant for distributions only, you're still free to theme your system however you like, but at that point you're in uncharted territory. There are solutions being proposed, but until then I recommend you stick with Adwaita.

The Gnome Way

As mentioned above, Gnome has a way of doing things that is vastly different from what you're used to. Different, not worse. Let's go over many controversial decisions made by Gnome developers over the years and see if we can make some sense of them (Hint: we can).

Removal of desktop icons

Easily one of the most controversial changes ever made, the removal of desktop icons made many leave Gnome for good all the way back in 2011 when Gnome 3 made its humble beginnings.

But if we look at it from a different perspective it makes a lot of sense. Why would you even want a desktop cluttered with icons in the first place? Do you really want it to look like someone's messy Windows desktop? Instead you should neatly organise your work in your home directory, that's what it's for anyway.

Lack of dedicated minimise-maximise window buttons

If you're coming from a traditional desktop, this one takes a bit of time getting used to. You're not supposed to have a ton of open windows on a single workspace. Instead, you're supposed to use workspaces and Gnome makes that trivial with its dynamic workspaces (Seriously, how is this not a thing everywhere?). That's all it takes to be productive, a single open window on as many workspaces as you need. Take note, however, that you can still minimise and maximise windows with both a right-click context menu and keyboard shortcuts (Minimise: Super + H, Maximise: Super + UP).

Lack of a Windows-like application/start menu

Easy, just use your keyboard! Press Super and just start typing for what you want rather than searching through some menu. It's both faster and more intuitive (You likely know what you want to launch, so why use some menu when you can just start typing the name of the program?)

Overview at startup

This one is very recent. It got introduced with Gnome 40 this year. When you first login, instead of going straight to the desktop, you're presented with the Activities overview. If you really think about it, it makes a lot of sense. That's where the dash is located, it houses all your favourite programs. Now, instead of having to launch the dash first thing after startup, you can just launch the application that's likely sitting right there in the dash. One less click.

Removal of the system tray

This one I must begrudgingly concede. The reason this was removed is because the original implementation was quite poor. Still, many applications (instant messengers most of all) require a system tray to function properly. I'd go the extra mile to say that there are better ways to facilitate the same functionality, but that's an argument for a different time.

Conclusion

As stated, I've used Gnome for a very long time, ever since I first started high school. For me it has been a wacky ride, but one I now regard as foundational to my experience with GNU/Linux and other Unix-like systems. I keep coming back to Gnome and it never ceases to amaze how quickly I can start being productive in it. That's what a desktop is supposed to do, get out of your way as much as possible while providing great features to facilitate that. It's very much opinionated about its design and experience, but you shouldn't fight it. Learn to embrace Gnome for what it is, a beautiful, if somewhat different desktop for developers and regular users alike.