Huh? What’s that?
Well, that’s my new tagline, as blogged by Clair. But you probably know about my tagline already…
With Clair and Sacha writing about a better mousetrap, let me write about why I’m using Ion instead of a full-blown DE like Gnome:
When I started using GNU/Linux in 2003, I already had some inkling about the state of the desktop environment under it. In fact, I have simulated the conditions unique to the Unix model by using the LiteStep desktop shell as a replacement for the default Windows Explorer. As it is, it didn’t completely replaced the Windows GUI; there was no longer a Start Menu, but the window decor was still the same. However, I solved that by using ShellWM to complete my look (no need to do hacks like in StyleXP or WindowBlinds, and its all free, naturally
Flash forward to August 2003, when I got Debian Woody. At first I coudn’t even have X running (which I figured out by never ever setting up X with kernel framebuffers ever!), but that was an easy hurdle to overcome. By that time I’ve heard all about GNOME and KDE, so I decided to try out both. At first it was okay, with me having little to learn much from the two, until I finally got so tired by both of it. I was all too familiar, all too dull, so I checked out dselect and see what it was up to.
I took a pick, so I chose Enlightenment. Aside from the cool name, I knew this WM would be very similart to LS, so I grabbed the debs and started redecorating. And it was nice. Too nice, in fact. It wasn’t as heavy as the DEs (like I was too concerned about efficiency then,) but it was still just the same old windowing model, with just a little flair in the mix.
Now this was just the time when GNOME 2 got released, and taking a look at the new eye-candy GTK 2.0 had I was just roaring to get back to Gnome again. But it was also the time when I haven’t managed to completely move my system to testing/unstable yet (I was only forced to get the ALSA packages from testing as OSS didn’t work here). So I looked for another WM: I tried WindowMaker and played with it a little, but I got bored too. So was with IceWM and XFCE.
After taking the plunge to Sarge/Sid the first packages I took was Gnome 2.4’s. At first, it was really cool, having a complete DE with all the features *doze has, and more too. But at the same time I was becoming aware of the efficiency concerns (my box went slow as I used Gnome, more so when the libs from other apps are running) so then I started looking for a very lightweight low-maintenance WM.
It was then that my box’s motherboard borked so I had it fixed at the local shop. Afted the mobo was replaced, I had the box connected to the LAN to test the new built-in NIC (just an excuse, really, to grab debs) when I saw Joey Hess’ blog on Ion and Lua. From there on, I got fascinated with the idea of a WM that arranges windows neatly in a tile formation, much like those cool intstrumentation panels you see on TV.
So, with little hesitation, I got ion2, ion2-dev and ion2-doc, and started. The configuration (X-wise) was easy enough, just a little editing of .xsession and go. After that, I encountered a blank WIonWS (the default workspace model of Ion2). A bit of confusion there, so I read the docs more, and also unwittingly learned more about Lua. I arrived at copying /etc/X11/ion2/ to my $HOME, and let myself dive in to a hacking spree.
Through learning Lua and a few keyboard shortcuts, I was able to split the screen into a four-way frame layout, allowing me to have a bird’s-eye view of the running system at any point in time. I have a tail at the top shelf following syslog, apache and exim logs; at its right is ncmpc following my music database; on the bottom shelf is the MainFrame where Emacs resides along with Firefox and a local shell, and at its right is gkrellm with its meters. Note that I could probably do the same in a single Emacs session, but that would have been rather distracting.
Like RatPoison Ion doesn’t handle transient windows very well, which mean that when you want to use a many-windowed app like Gaim or the GIMP you just have to switch WMs, or use the built-in PWM sibling of Ion to work with such apps. However, the latest Ion3 sports the new WPaneWS workspace model that converts the entire screen into a single frame housing several panes that can work very much like WIonWS frames, but can also overlap each other, and can also cope with both transient and multiple windows. I now run this on another workspace when I need to do GIMP stuff, or play FreeCiv.
I know Ion isn’t for everyone, but for me, I fell in love with it.
And because I know this project is constantly improving itself, I know I’m gonna love it more. It’s definitely not for everyone since you have to tweak config files every now and then (as opposed to doing registry/gconf hacks, but that doesn’t happen very often anyway
and learn to dive into Lua as well, but it fits me since I fit that category. And besides, there’s Emacs for doing all the editing fun!