With the mainstream adoption of Linux within the tech space, the new tech-geeker pissing match has become who can use the most arcane user interface. Normies using GNOME, KDE, XFCE, and MATE are quickly ridiculed by those using, dare I say, less functional user interfaces, with many abandoning desktop environments entirely and using only window managers and a patchwork assortment of tools to attain the full desktop experience. To be clear, a window manager (WM) is simply program that manages multiple windows on the screen, providing the ability to drag and move windows. Most people are not content with this meager functionality, so pretty much every setup also includes a taskbar, notification area, status bar, and widgets. Crucially, it lacks several features to which the average computer user has become accustomed like a settings program, some equivalent of a start menu, and a file manager, although many WM users choose to roll their own versions of these. A desktop environment (DE) provides a window manager, along with all these creature comforts fully integrated.
I wouldn't put it past the most cantankerous, arrogant WM users to simply be content with removing features from a desktop environment and calling it a day. However, almost no one uses traditional window managers like the venerable old X Window System, rearing its unwanted head every time X11 is installed without configuring a user interface. Instead, a vast majority of WM users opt for tiling window managers which forcibly tile every single window by default into a predefined pattern. At first blush, this is actually very useful - it eliminates the need for a mouse and allows you to use the system with only a keyboard. Most support floating windows (draggble windows not subject to the tiling pattern) as well, while preserving the tiling pattern underneath the window. As a laptop user who still believes the only good trackpads ever made are from modern Macbooks, tiling window managers were a godsend freeing me from the oppression of the inaccurate, jumpy, ever-too-small trackpads.
My window manager journey began in 2019 when I discovered awesome, a tiling window manager configurable completely in Lua. I was still an annoying tech-geeker back then and sought to use a laptop so unlike traditional setups that people would be impressed by my tech wizardry. Of course, I was always too lazy to fully optimize awesome to my workflow, so I changed a couple of default keybinds and called it a day. I didn't get much credit back then, mostly because the company I kept were also tech-geekers and were already using i3 WM. I kept up my usage of awesomewm for years, struggling to remember the 10 keybinds I used on a regular basis.
At some point in 2020, I got caught up in the software minimalist trend. Believing everything wrong with computing (and perhaps, the world?) was traceable to software bloat, I started deleting programs left and right in favor of minimal versions. Terminator was replaced with xterm - yes, xterm is not traditionally minimalistic but it is included in every install of X11, and using programs included with software you already installed is quite minimal. For a while, awesomewm was replaced by just using the TTY, inspired by Richard Stallman's workflow - this obviously didn't last long as my needs as a college student were very different from Richard Stallman's, who just reads emails, maintains his site, and gives talks nowadays. Firefox was replaced with Pale Moon, a non-commercial and private fork of an old Firefox version, and even briefly lynx, a terminal text-based browser. For email, Thunderbird was replaced with mutt. For XMPP, Gajim was replaced with Profanity. For wine prefix management, Lutris was replaced with manually managing my wine prefixes from the command line. Pulseaudio was replaced with Alsa and the dmix plugin. Glibc was replaced with the musl libc, leading to much irritation as precompiled binaries never ran on my system, and half the time building software from scratch failed as most open-source software uses GNU-specific extensions to the libc standard. For a week or so, I even abandoned X11 in favor of Wayland, but I quickly switched back since back then the cross-compatibility was not up to par.
In 2021, I discovered the suckless community, a group of tech-geekers that elevates software minimalism to a religion. Their catechism is the Unix philosophy and their moral system is enshrined in their rocks and sucks pages. Writing exclusively in C, eschewing OOP and managed languages, and possessing Abraham's level of faith that memory leaks would be solved by simply writing code that doesn't leak memory (Doh! Why doesn't industry just do this? Are they stupid?), these folks managed to create some amazing software like the dwm window manager, the dmenu launcher, and the st terminal whose quality is not measured in user count, mainstream praise, or usability, but in how few lines of C code they are implemented. Suckless makes software for the suckless community, not for the normie horde, and as an arrogant young adult seeking to separate myself from the normie horde, I wanted in. I started from scratch, reinstalling my operating system to start over fresh and installing dwm. Keybinds were configured by editing the very clean, easily understandable C code, recompiling, and restarting the window manager - it was a quick task to modify keybinds to my workflow. I wanted to keep a close eye on my RAM and CPU usage, so I set up a a script to call xsetroot every few seconds showing this information at the top right of my screen. Soon thereafter, I installed st, dmenu, surf (a graphical web browser), and slock (screen locker). I was ecstatic with this setup but applied several usability patches to keep my sanity, like adding scrolling to st. Mission accomplished: my coworkers were astounded at my clean, almost alien setup and my wife was irritated at how hard my computer was to use. I continued down this path, swearing off all proprietary software and using only suckless-approved software. Regardless of the usability, my software never crashed or hung and my entire system ran like a well-oiled machine.
By 2023, the cracks in software minimalism were starting to show for me. I used to spend hours in my online gaming sessions with my friends trying to get games to work, and even then half the time sound wouldn't work (due to the game expecting Pulseaudio) or I wouldn't be able to minimize games. I was unable to remember important keybinds - I was probably up to 20 keybinds that I used on a regular basis, and dwm, st, and surf provided no easy way to check key bindings short of looking at the code. I couldn't remember how to use mutt half the time, and certainly not Profanity. At the same time, I discovered the power of Emacs and sought to move as much computing as possible over to it. Emails, file management, text editing, coding, git repository management, RSS feed reading, and non-Javascript web browsing all moved to their Emacs equivalents. My noble side wants to claim that this wasn't just another form of tech-geeking, but it definitely started out that way.
"Vim users are idiots for using modal editing, who can remember all those keys?"
"You use command line programs? I use Emacs equivalents! Get on my level!"
"BTW I use ELisp, which is basically Lisp."
There was even a year where I did the first 10 or so days of Advent of Code in ELisp, and I got a bit of praise on 4chan's /g/ board for this.
Eventually my Emacs usage turned into a genuine love for the Emacs Lisp runtime. ELisp is truly a fun language to program in, and I couldn't live without magit, the Emacs package for git repositories. When I'm spending my entire time in Emacs, it doesn't really make sense to keep using a tiling window manager beneath it, leading to a migration to exwm, the Emacs window manager that implements program windows as emacs buffers. Of course, depending on your perspective Emacs is either the most maximal software ever created or the most minimal. If you treat it as merely a text editor on your computer, then it's a perfect manifestation of Zawinski's Law. If you treat it as your operating system which merely provides a runtime for all your programs, then it's actually maximally minimalist. After all, every Emacs package does one thing and one thing well. So sometime around early 2025, Emacs became my laptop operating system, but I kept around st for emergencies when eshell would not suffice, surf for graphical web browsing, and slock as my lock screen. I kept dwm on my desktop since exwm was more dicey with fullscreen vidya than dwm was, but besides that my desktop was pretty much identical to my laptop.
I could go on and on about how I use Emacs, and perhaps that would be good for another post, but it's time to get back on track here. This post is about my disenchantment with suckless and software minimalism, not my enchantment with Emacs. Surf was the first to go - lack of tabs in a web browser is the stupidest "feature" in a research job. I often have to keep a multitude of tabs open at a time, cross-checking dozens of research papers while writing my papers, and answering my boss on Google Chat. Sure, tabs in surf are just a patch away, but surf also contains no privacy features as privacy features on web browsers are bloat - this prompted a return to Firefox, mitigated with the arkenfox user.js. St followed soon thereafter, as I needed a more readable font and easy copy-paste - I'm sure these were also just a patch or small code modification away, but at this point I didn't care. Dwm was ultimately the last to go - I realized a couple weeks ago that I was essentially just full-screening the window I was using, I wasn't even using the tiling feature of a tiling window manager! Like it or not, modern software was not written with tiling window managers in mind causing some transmogrified, unusable user-interfaces when multiple windows were on the same display. For most of the software I was using, it was simpler to just fullscreen the program in question. A couple weeks ago, I put the final nail in the coffin of my suckless adherence - I uninstalled dwm and installed MATE on my desktop - yes, a desktop manager like LightDM allows selecting between window managers so I theoretically could have kept both, but like I said dwm served no purpose for me anymore. My software superiority complex at an end, I descended back to the normie world.
And what a great time it's been! My wife can now use my computer, I'm zipping along at my previous level of productivity (only it's much easier to use the mouse now) and I can alt-tab out of video games now! I can now read messages on Gajim without the content being smushed, and I've switched to the Clementine music player, a fully-featured music player that never displayed properly on dwm when it wasn't full-screened. I spend a lot less time on my computer now, because software minimalism no longer defines my life. Instead of modifying configuration files, I can simply use MATE's settings app. The MATE terminal is a dream. Keybinds are set from the settings menu now, instead of recompiling the window manager. My lock screen now shows me the time and all the users that can log into my system. When I really think about it, all I've ever wanted from my computer is:
Fast switching between workspaces - MATE comes with 4 workspaces, and switching between them is a mere keybind
Fully controllable desktop with a keyboard - MATE keybinds
Key combination to open an application launcher - MATE keybind
RAM usage, CPU usage, IP address display on a status bar - MATE widgets
Easy usage of multiple displays - MATE handles this by default
Absolutely no desktop animations - MATE has no animations by default, but more "modern" DEs do, this is almost exclusively the reason I use MATE
No phoning home or spyware features - MATE has none
Easily extensible - MATE has a plugin API
Additionally, I've switched to Pulseaudio, glibc, and I use GNU software whenever possible - not because of any latent Stallmanism hiding under the surface but because I have never had issues with GNU software. After almost an entire decade of wandering (I started using Linux around 2017), I've returned back to where I started on my Linux journey, using almost the normiest possible software - you won't catch me using Ubuntu any time soon! And that's not to say that the past 10 years were for naught - I still use Void Linux rather than a more beginner-friendly distro, I can fix pretty much anything wrong with my system on the software side, I use Emacs obsessively, and I will NEVER use Windows again unless my employer requires it. In the same way "The Sabbath was made for man, not man for the Sabbath" (Mark 2:27), Computers were made for man, not man for Computers. I scoffed at those who rejected computing ideologies five years ago, but I join them now. Reject computing ideologies, embrace convenience! There are more important issues in the world than bad software!
So what is it about suckless and minimalist software in general that I disliked? It wasn't the software - suckless software truly does one thing and one thing well, and in my 2+ years of usage of suckless programs I never encountered a bug. Suckless code is the closest I've ever seen to achieving self-documentation - the extreme faithfulness to minimalism made the code very easy to read and modify. All the programs were quick, snappy, bug-free, and a pleasure to use. Nor was it the community, a group of very knowledgeable programmers capable of writing high quality software who very effectively gatekept the community by eschewing plugin systems for patches to the source code, ensuring a much-needed minimum requirement of being able to modify and compile programs in order to participate in the community (just look at what happened to Arch when people made it simple to install). I suppose ultimately I abandoned suckless because the world I live in demands it. It's not fair to ask my wife or anyone else who might use my computer to memorize 10 key combinations to use my system. Instead of despairing at how a vast majority of programs are not designed to be run on tiling window managers, or heaven forbid - wasting time modifying such programs to run properly on tiling window managers, just use the desktop environment that allows you to use the software you want to use - life is too short to modify each and every single piece of software you use to fit with your window manager of choice! This is of course not to say software minimalism is inferior in every case! I suspect the software-minimalists are the only users on their computer. I suspect they truly do not need 20+ tabs open on their web browsers at the same time for their work. I suspect their employer allows them to use whatever software they want. Or perhaps they actually work on low level projects like sound servers and window managers, or perhaps they don't even work in tech at all! My main point is I fell into the trap of adapting my lifestyle to the software I use, instead of adapting the software I use to my lifestyle and I suspect many other individuals do the same for imaginary tech-geeker brownie points. Perhaps many other individuals are deceiving themselves into thinking tech is the highest good for those same brownie points, instead of living a full and fulfilling life. And before anyone objects, no I did not abandon suckless software because of a skill issue - I simply came to the conclusion there's more to life than the technology you use. Seriously, if you think suckless is for you, I encourage you to check them out, their software is truly high quality.
In a broader sense, I feel a sense of comfort in leaving this technological zeal behind. For the past 10, maybe even 15 years I've defined my entire personality by my tech usage - I only started using Linux in 2017 but I was ricing Windows before then, in addition to begging my parents for an Alienware desktop, mocking Apple users, and programming in all the spare time I could claw from my heavy high school and college workloads. It wasn't until earlier this year under a horrible, horrible paper deadline that would potentially delay my PhD graduation that I realized that there's nothing for me in the "hacker world". Under literally the most stress I've ever felt in my life, I realized the important things in life to me aren't software, computers, or technology in general. In that moment, I wanted nothing more than to go hiking, spend more time with my wife, travel, drink quality beer (yes, I'm a Baptist - sue me), do more long-distance biking, make more friends in the real world, serve at my church, and ultimately grow closer to God. What I precisely didn't want to do is spend more time at my computer, play more video games, rice my desktop, impress my peers with my esoteric user interfaces, or even just program for fun. Technology is merely a tool, and it's about high time more people started treating it as such.