On desktop environments – part 1: the journey

Disclaimer: This blog post contains a lot of flame starter material. Please note that this is all just my personal opinion at the time of writing and it may well conflict with yours. Please have your fire extinguishers ready to cool yourselves down and prevent the flames from advancing to the comment section of this post. Thank you in advance.

Exploring the desktop environments land

When I first started using GNU/Linux, back around 2005 I believe, my very first desktop environment was KDE 3. Actually, it was KDE 2, but soon I realized that the distribution I had on CD-ROM was quite old at that point in time, so I decided to try a more modern one. KDE 3 served me quite well at the time. All the applications I was using were working pretty well and the desktop was quite nice and also familiar, coming from a Windows background. On KDE 3 I learned to program my first UI applications, thanks to the powerful Qt Designer, and I was pretty happy about everything.

Later on, around 2008, I decided to join the KDE community and help with the effort of making KDE 4 the best desktop environment ever. In the KDE community, I’ve been involved in many areas, starting from kwrited (yes with ‘d’ in the end, a pretty useless component that most people have no idea it exists) then Kopete, KDE-Telepathy, DrKonqi, KCrash, Krdc and also Debian KDE packaging, general bugfixing, triaging and other things…

Not many years later, though, I got disappointed by the “KDE Plasma Desktop” (meaning the desktop environment as a whole, but not the individual libraries and applications). I realized that my vision of making KDE 4 the best desktop environment could not realistically be achieved and since at my work at Collabora I was working a lot with Glib/GNOME libraries and applications, I decided to switch to GNOME. I did that as a trial for myself, in order to experience and understand better that side of the desktop environments land.

Almost three years later, I got fed up and concluded that I didn’t like GNOME. There are many details that contribute to that conclusion… the non-existent configuration in applications, the (too-much-)space-wasting default Adwaita theme, the controversial client-side decorations, the forceful gnome-shell plugin API breaks every now and then (which effectively disable all your gnome-shell plugins and give you a nice reminder kick that you have to switch to another DE :P), the somehow unnatural feel of gnome-terminal (I never got used to it, I kept using konsole instead), the horrible open/save file dialogs, and other little things…

Design matters

To be a bit fair though, GNOME is not a bad desktop environment as a whole. It’s not bad at all. Actually, it’s probably the best one! Why? Because it is well designed. The gnome-shell looks really good! It also feels good, it is very fast and responsive (unlike plasma-desktop, sorry…). The functions of the shell all have a meaning (unlike plasma-desktop again with all those useless widgets). It is easy to find your way to them. The applications shipped by default are all working well and have a good purpose and good integration with the rest of the desktop. The names on the application icons actually make sense. GDM also looks pretty good and is very easy to use. In addition, the environment is very well integrated with technologies to automate things that are necessary for a desktop, such as network management, volume control, power management, bluetooth, etc. All these features really look and behave as if they are part of the desktop and although they are not very configurable, the defaults are really sensible and well thought. The overall feeling of GNOME for me is really the best. But still, I don’t really like it…

The journey continues

After coming to that conclusion, I wanted to find myself something better. Unfortunately, there are not that many options out there. Mate, Cinnamon, Unity, etc are too much GNOME-like (and not necessarily better). Others are not as mature and not really delivering some of the features that I wanted. Soon, I found myself back trying KDE again. I instantly made two observations: first, KWin is awesome, possibly the best floating window manager on X11 (and soon on Wayland too \o/); second, some KDE applications are irreplaceable… Kate, Konsole, Dolphin, Okular… they are the best. Unfortunately, the rest of the KDE Plasma Desktop was still not really up to the equivalent GNOME standards, so that was still not an option for me.

Finally, I concluded that there is no existing desktop environment that suits me. However, noticing that there are some awesome pieces of software out there, I thought that perhaps I could sort-of create my own desktop by combining good components from existing DE projects. In the next part of this blog post, I am going to describe the setup that I have currently ended up experimenting with.

2 thoughts on “On desktop environments – part 1: the journey

    1. Haha! kwrited was acutally useful for me once, I had a UPS being monitored by apcupsd, whose only method of notifying me about UPS events was wall(1). That’s why I fixed it to work (it was broken in kde4 iirc), but nowadays it’s again useless. UPS events are normally handled by upower.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s