I upgraded to Ubuntu 11.04 a week or so back in order to get a more recent version of SCons. 11.04 dropped me into the new “Unity” GNOME interface. There may be people in the world for whom Unity is a good idea, but none of them are me. The look is garish and ugly, and it takes twice as many clicks as it did before to get to an application through their supposedly “friendly” interface as it did in GNOME Classic. No, dammit, I do not want to text-search my applications to call one up!
But the real crash landing was when I found out that the Unity dock won’t let you manage two instances of the terminal emulator separately. Oh, you can click the terminal icon twice and get two instances, and even minimize them separately, but they’re tied to the same dock icon when minimized. If you click it to unminimize, both pop back up. That did it; clearly Unity is a toy, not intended for anybody doing serious work.
I was miserable until I found out how to fall back to GNOME Classic. But then a few days later I upgraded to 11.10 and my real troubles began.
Yes, there’s an 11.10 option that called itself “GNOME Classic”, but it’s a lie. What you get with it is a sort of half-hearted, crippled emulation of the 2.x look and feel with none of the actual Classic themes. So crippled, in fact, that you can’t even set up focus-follows-mouse properly; there’s an option for it, but you have to change that through an obscure utility (not installed by default) called “gnome-tweak-tool” – and there’s no autoraise option to go with it, so the option is effectively useless. Your focus changes but your window-stacking doesn’t!
It gets worse. While you can add applets to the fake GNOME panel, you cannot remove them or shuffle them around. Eventually, by making a fresh account, taking checksums of its dotfiles, adding an applet, and taking checksums again, I found out that the new panel configuration lives in a file called .config/dconf/user that is an opaque binary blob. There’s a resource editor for the blob, but I could find no way to edit the panel applet list in it. Eventually I was reduced to deleting the blob to return to a default configuration.
There are so many things wrong with the new GNOME that it’s hard to know where to begin. I’m going to pass swiftly over the evaluation that Unity looks like a candy-coated turd, because many people will dismiss that a mere esthetic quibble. It would be petty of me, perhaps, to grouch about losing my astronomical wallpapers. But the whole direction of GNOME – emphasizing slick appearance over function, stripping control away from the user in the name of “simplification” – is perverse. They’ve now managed the worst of all worlds – crippled, ugly desktops that meet neither the needs of end-users nor of techies.
The worst, though, is that .config/dconf/user file. One can haggle back and forth about esthetics, and argue that my judgment about what end-users want may be faulty. But burying my configuration inside an opaque binary blob – that is unforgivably stupid and bad engineering. How did forty years of Unix heritage comes to this? It’s worse than the Windows registry, and perpetrated by people who have absolutely no excuse for not knowing better.
I’ll spell it out explicitly because there are a few non-programmers in my audience. User configuration data goes in plain text files, not binary blobs. There are many reasons for this, and one is so they can be hand-edited when the shiny GUI configurators turn out to be buggy or misdesigned. No programmer who doesn’t grasp this bit of good practice has any business writing a window manager, especially not on a Unix-derived system. The fact that this botch shipped in GNOME 3 tells me the GNOME system architects are incompetents who I cannot trust with my future.
Me? I’ve bailed out to KDE. And I may be bailing out of Ubuntu. I want control of my desktop back. I want an applet panel or dock I can edit, I want my focus-follows-mouse-with autoraise back, I want to be able to set my own wallpaper slideshow. Most of all what I want is a window manager that will add to my control of my desktop with each future release rather than subtracting from it. Suggestions, anyone?
UPDATE: XFCE looks like where I’m landing.