AboutBlogPortfolioLibrary

I Hate MaXX Desktop

My first introduction to Linux was the KDE desktop in 2014. Plasma 4, the newest version of KDE at the time, included with the then-recently discontinued Mandriva, was lovely. I was on Ubuntu's Unity desktop for a couple of years after, and then finally jumped ship back to Plasma 5 shortly after Ubuntu transitioned to GNOME 3 in 2018. Eversince then, there has been a highly anticipated (by some) move to the Wayland display server, and as a result of poor management decisions and excess hype over accelerating the future of Linux, KDE has begun to become less usable on X as years-old bugs introduced during the move to Wayland have been neglected.

I found refuge in Trinity desktop. A fork sprung from KDE 3.5, it worked wonders. It also had a lot of quirks, weird graphics errors, and the kicker was just as crash-prone as the modern KDE I was used to, but otherwise it was a respectable and impressive project that I enjoyed using daily. Pretty soon I was using it on every system I had, and I loved some of the old-school Windows XP-esqe ways of doing things, the UI was more compact and more customizable than modern KDE and I felt like I was a kid again. Oh, and the classic 3D-rendered Konqi mascot is a cute bonus.

Then I got really curious. I usually avoided bare window managers, but Windowmaker caught my eye. So I gave it a shot. And I loved it's workflow and it's flexibility. It wasn't as riceable or complete as Trinity but it more than made up for it in other ways. And it was very reliable, and stayed out of the way without many hacks or hidden kinks like what Trinity had.

In search of other obscure, old-school window managers to try, I discovered a treasure trove of even more janky but interesting choices. To name a few: Afterstep, NsCDE, the original CDE, Amiwm, aaaaaand… MaXX.

MaXX was inspiring. But not for the reasons you would expect. MaXX wasn't inspiring because it was good and make me enjoy using it. MaXX was inspiring because it showed me just how terrible a window manager can be. And it made me appreciate the effort placed in it's competitors even more.

I want to preface this with the acknowledgement that developing for the X window system is a royal pain in the ass, and it takes a monumental amount of work to bring these old window managers up-to-date with the current Xorg server and all it's extensions, let alone make a whole new one. Amiwm, a desktop environment designed to mimic AmigaOS 3's Workbench interface, was never finished and doesn't even work anymore, but I still like it as a concept and am thankful someone attempted it.

So when I trash on MaXX, it's not because I hate the people who made it and want them to fail. The fact an effort was made at all is great. But MaXX deserves rough treatment since it's got an ego, and I think if you're going to gloat about how great your software is you better be able to prove it. Ideally, someone working on MaXX will see this and take notes. MaXX is still getting updated – at the time of me writing this the last stable release was this January.

Without further ado… What is MaXX?

MaXX Interactive Desktop, or just MaXX, is a *ahem* "desktop environment" meant to reimplement IRIX's Interactive Desktop, formerly Magic Desktop, used on Silicon Graphics workstations. It is forked from 5Dwm.

Most of the advertised features are developer-oriented, so I won't touch on them here, the focus of this article is on the user experience.

So what was it like?

Loading up MaXX for the first time, it gives you a pop-up telling you it's been set up for your user "accout" followed by an empty slot where your name is supposed to be. Bad spelling and a software bug on your first impression. Great start.

Also, the window decorations and gadgets were way too big for my liking – I have never used the original Magic Desktop so maybe this is how it always was, but it feels like they are scaled up 200%. The first screenshot shown on the MaXX website is in 4K but it certainly doesn't look the part.

The next thing you'll notice right away – if you have multiple monitors and your left monitor is smaller than the right one, anyway – is that the Toolchest (your app launcher) is stuck off-screen. Windows appearing off-screen on multi-monitor XRandR setups is not a problem exclusive to MaXX, but what makes this particularly troublesome is how little MaXX tries to respect your monitor configuration. It is the first serious desktop I've used that makes literally zero observable effort to stay within the boundaries of your display geometry. The entire XrandR canvas is one monitor period, no fucks given.

If the bottom is still visible, you can drag it back onto the screen with Alt + Right Click. But if it's too small and is completely covered by the invisible deadzone on the X canvas then you are screwed. You cannot move your X cursor outside of the physical display, and you need the Toolchest to open any programs or do anything.

In an attempt to save myself, I opened the MaXX manual and looked for information on keyboard shortcuts, only to find that the documentation was extremely barebones and covered none of the information I needed. Searching Kagi did not help either as it kept leading me back to this same manual.

Right clicking on the desktop gave me only one useful context menu option – Log out. And no, I'm not saying that as a cheeky insult, that is seriously the only functional option you are given. Wonderful. Remember this for later.

This leaves you with the toolchest, which as I mentioned, may not even be accessible depending on your monitor layout. Even so, the programs available from the toolchest were mostly unhelpful and there did not seem to be much in the way of settings to change.

Most of the available options, and the documentation, were related to customizing the root window, which required the installation of the Rox file manager. Without Rox, you don't have a wallpaper or icons or even a context menu, just 5Dwm's Log Out button. Strange choice to power your desktop as I assumed IRIX would have it's own solution for this, but alright, if it works.

Rox was broken on my system and I was having trouble recompiling it, and on my other computer I didn't have Rox at all, so right away a huge portion of the desktop was just missing. Rox is never once mentioned as a dependency when pulling the package from the AUR, nor is it mentioned during the Post-installation setup, which really just lists random applications you probably already have. It is mentioned in passing in the "Octane v2.2" installation guide, whatever that means, but you aren't directly told to install it, just that there's some workaround for an issue with PNG icons. The implication seems to be that ROX is supposed to come with MaXX, but it doesn't.

So less than a minute into the first time starting MaXX, and navigation is completely busted. If you're like me, and you made the mistake of changing the fonts to bitmap mode, congratulations, you just made that off-screen problem twice as bad and you have bricked your desktop permanently. Enjoy your desktop, sucker! At this point, the Log Out option is literally the only available task you can perform. As if MaXX were begging you to leave.

If you think that's bad, here's the cherry on top.

After I switched off MaXX in disappointment, I started noticing strange things happening. My mouse sensitivity had been reset. Weird, but not a big deal – I change it back from the terminal thinking it's a temporary hiccup. Then I notice that Steam, XScreensaver, ckb-next, psi-plus and protonmail-bridge stopped greeting me at login. Over on my laptop, where I was still using an old dotfile with my wmaker dockapps set to launch globally, all my dockapps stopped working.

It took a while for me to realize what was happening, but then it clicked. I opened my .xinitrc file and… it had been completely overwritten.

This was the point where disappointment was swiftly replaced with anger.

This is unacceptable. MaXX had deliberately interfered with my personal settings on my other X sessions without any kind of warning, notification, or prompt for my consent. It didn't even have the courtesy to make a backup. This was beyond buggy and unstable, it was reckless and disrespectful to me as a user. I felt insulted.

Luckily, I keep a backup of most of these settings in a Git repository incase I ever switch computers.

In conclusion, MaXX is frustrating and downright unusable. If you want that classic Unix desktop experience, I would highly recommend either Windowmaker or NsCDE instead.

Windowmaker is very polished and user-friendly compared to most other window managers and I think it sticks to the NeXT design philosophy very well. If you're looking for a retro X session that performs great, is flexible, and has good compatibility with a wide variety of X configurations and compositors, Windowmaker would 100% be my first suggestion.

About the only thing advice I have for getting into Windowmaker: you'll want to run feh in autostart to set your wallpaper if you use a tiled wallpaper with Picom. And you'll need some dockapps to really get the most out of Windowmaker.

NsCDE is more archaic, janky and requires manual effort to be tamed, but is comfortable once fully set up to your liking. For a messy FVWM hack turned into a DE, it's relatively polished. I did have some issues with mouse movement (not exclusive to NsCDE, just worse than usual) but these were easily worked around.

Some things to note: NsCDE does ask to overwrite your system-wide GTK2 and GTK3 configuration, but it can be easily reverted and NsCDE is unintrusive otherwise. If you experience frequent crashing when minimizing, make sure the base WM you're using is FVWM3 and not legacy FVWM. Keybinding and text configuration is the same as FVWM so look to the appropriate manual for help with that – I did have some trouble with NsCDE's default binds interfering with a lot of programs so this was one of the first things you must change. After all of that, NsCDE is the definitive way to get a classic, CDE-like experience, which is probably as close to Magic Desktop as you'll get on a modern Linux or BSD.