The "Ultra" Desktop

September 24 2019 - Viewing Single Post

Back in 2011, after having used GNOME 2 for such a long time prior, I one day ran an update on my Arch-based system... and was thrown into GNOME version 3.0. It was bad. Like, really bad. It felt as if the developers had forgotten that devices without touchscreens existed and didn't care about customizability or usability any longer. I was so disappointed -- along with so many others on the internet, even Linus Torvalds himself. I tried very hard to like GNOME 3, but ultimately I couldn't stand it.

After I got sick of GNOME 3, I tried out many other desktop enviroments. KDE, XFCE, LXDE... Each one had their own set of things that I didn't like about it. However, there were things about each that I did like. KDE looked wonderful. XFCE was very customizable. LXDE was very modular. I wanted to be able to pick and choose the features of each that I liked. So, late into the night on a late-Spring day, I got to work on piecing together a desktop that would suit my needs well. This would be the ultimate desktop -- or, as I would call it, the Ultra desktop.

Ultra Desktop

The Ultra Desktop consisted of multiple bash scripts that would manage launching individual components of the desktop environment. One for the panel (which was XFCE4's panel), one for the dock (which was Docky), and one for Compiz, which was chosen to allow for some nice compositioning effects. There were other functions that handled other tasks that would normally be done automatically in a desktop enviroment such as GNOME, like enabling ConsoleKit, PolicyKit, etc. Shutting down, logging off, restarting were all done using a modified version of qtLogout, accessible through the menu. Logging on was done through an old version of GDM, with a custom theme to accompany it.

I worked on and used Ultra a lot from 2011 up to the Summer of 2014. When I purchased my new (at the time) laptop, it came with a touchscreen, which I knew that Ultra was never designed for. I decided to try out GNOME 3 again, which was at version 3.12 at the time. I ended up really liking it after doing some customizations and using some extensions. I decided to keep it on my new laptop.

Within a couple of months, I had stopped working on Ultra entirely. Once it stopped working properly after system updates, I switched over to GNOME 3 on my desktop as well. The Ultra Desktop was now defunct, collecting dust in a folder on my desktop computer, along with all of my other old projects. Early in 2015, I started to consider releasing everything that made up Ultra, but decided to hold back on it and see if I could clean it up and make it functional once more before doing so, along with writing some documentation on how to set it up and get it working.

That never ended up happening, and unfortunately, at the beginning of Summer of 2015, my desktop computer, the only thing having a backup of all of the old Ultra files and programs/scripts on it, along with almost everything of mine from before that point, was forcefully stolen from me, never to be seen again. Those events are a subject for a different time, and likely not on here.

After building a new desktop PC a couple of months after, I had a near-100% clean slate, whether I liked it or not. Everything was gone, but the idea behind Ultra stuck with me. I still liked GNOME, but there were things I felt could be improved, such as the look and functionality. I also wanted stability and an easier way to bring up a GNOME desktop with the customizations already done to it. For the distribution, I had chosen Debian, which had just released version Jessie (8.0) a few months prior, and had GNOME 3.14. I was familiar with it and knew exactly what I liked by default, and what I wanted to change.

I started work on a new project which I called "EDC". This project, when run on a clean Debian install, allowed for bringing up a system just the way that I wanted it: clean-looking, lightweight and rock-solid stable. I have been using this project on all of my computers since 2015, updating it to work on Stretch in 2017 and Buster this year, 2019. For the version that works on Buster, I decided to rename it Eridanus.

I do plan to release Eridanus one day, but not right now. I had mentioned previously wanting to do so as well, but I feel that I need to iron out a lot of issues to actually make it a usable project for others.