The Point of No Return (I tried GNOME for a week)

This article was originally titled “I got GNOMEd.” Including this one, it contains four significant digressions.

I have already spoken at length on this blog on the subject of terminals, command-line programs, minimalist computing, whatever. I’m a longtime user of the Vim text editor. The kind who’s use of Vim gets so deep that that editor’s very idiosyncratic keybinds begin bleeding out into the larger whole of the operating system. The kind who has a dozen terminal windows open, each with all manner of things going on… You know the kind.

Anyway, I’ve just used GNOME for a week and I don’t think I’m going back to the terminal-centric lifestyle anytime soon.

As an aside, the entire reason I even bothered using GNOME in the first place was that I decided to install Debian on a new machine instead of my usual Arch (that’s another thing that’s changing, too) and the installer suggested starting with GNOME and I thought, “Well, I could simply install i3 afterward if I need to. Disk space is not a concern at all for this machine.” Then marched forward.

I think what broke me with GNOME is an app called GNOME Games. Among a few other things, it’s a frontend for the LibRetro suite of video game emulators. Sort of an alternative to Retroarch, but much less featureful. There are few video settings, no audio settings, you can’t configure inputs on a per-console basis (only a per-controller basis that applies globally). There is no UI config. No synchronization config. It’s just you… and the games. I just fired up the program and started playing some games, because there was nothing else to do. It’s not simply that it “just worked,” it’s that it only worked. Nothing else but what the program is meant to do. So I played some retro games for a few hours, happily jumping between a few without getting sidetracked.

Digressing again! It’s worth noting that GNOME Games' feature set is nearly identical to the featureset shipped in Nintendo’s emulators for Virtual Console and Nintendo Switch Online. The developers of GNOME Games clearly understand the frequent criticism that “emulators don’t feel the same” and have deliberately omitted nearly all features that wouldn’t fit on the original consoles, in order to simply provide the best playing experience.

In the current version of GNOME, all core apps work this way. All of them. They provide only the core features needed to accomplish the tasks set out by the developers, and refuse to provide anything more because bells and whistles are just a distraction. It’s like the best of command-line apps — those with very few flags and very well-documented functions — except it’s also very deeply integrated with a graphical toolkit that is gorgeous and optimized for practical functionality. The defaults are all sensible, and they’re not just imposed by BDFLs. I can sense the enormous consensus at play in the design of this.

It’s nice. There isn’t a top-down mandate. It’s something more of a shared vision.

It also doesn’t hurt that GTK is programmed in C, where its closest competitor is programmed in C++, a blight on the programming world.

I’m less distracted with GNOME. I’m more focused on my tasks at hand. My RSI is (at present) doing nicely. It helps that GNOME isn’t entirely dependent on a mouse cursor, and isn’t entirely easy to operate using only the keyboard. I can feel this thing nudging me into better habits.

I think it has defeated me. We’ll see how well I cope.