Ultimate Desktop Project

A ways back I had me a distro rodeo. I tried every Linux distribution under the sun until I settled on Gentoo. I know run 4 Gentoo boxes, 3 at home 1 at work. I chose Gentoo because of three things. First off it is as close to linux from scratch as you can get without actually doing everything in the world manually. Second it is source based so I can make compile time configuration changed not possible in binary distros. Third, the portage package management system lets me customize the system to the finest grain. I realize there are faults in this system such as long compilation times. However, it works for me. I can also respect other distros like Debian, Lunar Linux, etc. because they provide many of the same benefits. But I can’t respect Mandrake and Fedora as much anymore. Although they aren’t nearly as bad as windows, they can’t touch the others in terms of customizability and control. What it comes down to is that you can get an absolutely perfect system that matches your needs and desires flawlessly if you put in time and effort. This is part of the Gentoo philosophy.

You might be thinking what this has to do with the ultimate desktop project. Well, up until now I’ve been using Xfce4.05. It’s pretty good. It has a nice graphical control panel and simple seperate components. I don’t use the panel, but I do use xfdesktop and the taskbar and such. However, it isn’t perfect. The weak xinerama support annoys me among many other small things. The yet to be released Xfce4.2 supposedly fixes many of these things. Yes, it is much improved, but it still isn’t exactly what I want. Thinking along the Gentoo philosophy I decided that with enough time and effort spent I could get the exact desktop environment that I wanted. I could do it even if it meant making themes by hand, writing a window manager from scratch, or modifying the code of Xfree86/Xorg.

So the first step was to have a window manager rodeo. I couldn’t think of a word to use instead of rodeo that sounded good, deal with it. In the process I discovered many things. First off, very few window managers are unique. Enlightenment, ion, xfce, gnome, kde and ratpoison seemed to be the only ones that stood out among the crowd. Open/Black/Fluxbox, pekwm, fvwm, windowmaker, they all seemed the same to me. They give you a blank screen maybe with one or two small widgets. They also provide a menu when you right click the desktop. The rest is up to you to customize. I couldn’t understand why someone felt the urge to make a new wm when so many exactly like it already existed.

Then fate came to me on the Gentoo forums. There is a monthly thread where people post pictures of their desktops. In the thread someone said “isn’t taviso great?” I said “what is taviso?” I thought it was a piece of software, but I couldn’t emerge it. esearch -Sc taviso came up with no results. I was informed quickly that taviso was the “god of fvwm” and also a Gentoo dev. Apparently he used xvidcap to make a video demonstrating his desktop instead of just screenshots. I checked out his video and was blown away. When I tried fvwm2 I could only get it to look like twm plus a pager panel and taskbar with a very ugly “raw X” theme. You wouldn’t even know he was using fvwm unless he told you. According to the mother of all fvwm threads which he started he claims that “fvwm can do anything”. Ladies and gentlemen it looks like I found my solution. With considerable time and effort I can use fvwm to create the ideal desktop for me.

So here I go. I’ve created a brand new user on my machine with an empty home folder. I am also going to create a project website for my ultimate desktop experiment. This experiment will work as follows. First I will, on real paper, design my ideal desktop environment. I will not assume that anything is impossible. The only limits I put on my desires are those imposed by my computer hardware, the Linux kernel and X. Everything else will be fair game. Items in the plan will be separated by component. I will design my ideal panel, taskbar, menus, window decorations, pager, etc. After that I will go through the list and mark off which items I think are far off. By far off I mean items which are either obviously difficult to implement and/or not absolutely necessary. I will consider the project complete even if none of these items is implemented. Note, this initial plan will only contain functional requirements. e.g: there will be a menu with these items that works like this. The final part of the project will be theme. Animations, icons, colors, backgrounds, etc. All come afterwards. However, sometimes color/theme is part of functionality. Having a different color background depending on desktop and page is functional. Which background colors I choose is a matter of theme and that comes later.

After I make the plan and make web pages out of it I will put a link to the page here. My first hope is that my ideal desktop is created and I get to experience my perfect computing experience. Second I hope that other people can use the project to learn about fvwm and make their own computer experience better. I know almost nothing about fvwm right now, so other will be able to learn along with me. Third I hope that I can prove taviso wrong. I’m sure there is something I want that fvwm can’t do. Of course, this is a contradictory hope. It would kind of suck if what I wanted wasn’t possible, but slightly satisfying that I can confirm to myself that fvwm is not the be all end all of window managers. I would definitely rather have it work though. In a perfect world I would get everything I wanted but simultaneously discover something impossible. Anyway, I’m going for it, watch this space.

This entry was posted in Technology and tagged , , . Bookmark the permalink.