My current favourite windowmanager: Ion3

I haven’t got the fastest of machines, so Desktop Environments like Enlightenment & KDE, although incredibly cool, are out of the question for my day to day use. In my quest for a lightweight WM, I have tried Fluxbox, WindowMaker, Fvwm, and a few others. All of these are really neat in their own ways, but the one I finally ended up settling with is Ion3.

Here’s a screenshot of my desktop running Ion3:

Ion3 screenshot

That’s all it looks like! Some things that make it stand apart from most other WMs are:

  • The keyboard is king here. The whole WM centers around minimizing mouse usage as much as possible. Once you’ve configured the keybindings to your liking you won’t believe how fast and productive you’ve become!
  • There are no pretty much no overlapping windows: Every application gets the whole screen all for itself. You can have more than one app in different tabs of the same workspace, and also add as many workspaces as you want.

The nice thing about it is that it doesn’t stubbornly stick to its principles at the cost of usability: if you want floating windows for certain apps (Gaim and the Gimp come to mind), you can do that too. It’s only the default behaviour that uses tabbed windows. One of the first things I did was to change the keybindings: the defaults are F1, F2, etc which conflict with Midnight Commander’s keys. So everything on my Ion is Mod4+F1, Mod4+F2, etc (where Mod4 is the Windows key).

Ion uses a scripting language called Lua for a lot of things (forgive me for being hazy here, I’m kinda blank in these areas). So the point is that you don’t even need to such things to get comfortable with it. Install with it, fiddle around (F1 throws the man page by default), just give this window manager a try: its worth the minimal effort!

Quick shell script to randomly change wallpapers

For no particular reason, I was trying to figure a way to make my wallpaper switch randomly on each startup. After some brief googling around and some experimentation, I came up with this brief script that does the work just nice. (Alright, it may not be the neatest, fastest, or easiest way of doing it, but its the first thing that came in my mind. Hope it helps.)

Well before that here’s the list of assumptions: I use bsetbg for setting the wallpaper. You might want to use fbsetbg, fbsetroot or whatever. Also, I’m picking up the images from a folder in ~/pictures/recent. You might want to change that one too if you want to use the same script. And finally, I use Fluxbox, so I just need to mention this script in Fluxbox’s startup file to make it run each time. You’ll have to do similar stuff depending on your Window Manager, or just run a cron job or something.. So alright, here’s the file:

#!/usr/bin/bash Randomly sets wallpaper each time it’s run

#Count how many images are there in my folder..
WCOUNT=`ls -1 ~/pictures/recent/* | wc -l`;

#Generate a random number within that range..
num=$[ ( $RANDOM % $WCOUNT ) + 1 ];

#Pick up that particular image..
MYPIC=`ls ~/pictures/recent/* |sed -n ‘ ‘$num’p ‘`;

#and set it as the wallpaper!
bsetbg $MYPIC;

Update: I know, I know, I’m a real idiot. I just found out you can do the exact same thing using fbsetbg -r folder-name. Oh well, at least it was useful learning about $RANDOM and all..

My favourite CLI apps

My machine isn’t the fastest, so I’m always on the look out for simple and powerful CLI tools instead of the prettier, GUI driven ones. Having said that, I like these so much that I don’t intend to really switch, even if I get the hardware eventually. Here’s a short list of my favourite ones:

centericq: This neat little IM client is what I use for Google Talk. It also supports Yahoo, MSN, IRC, and some other protocols. This is an ideal example of how a good CLI app should be.

orpheus: From the creator of centericq comes this nice little mp3 player for the shell. Apart from mild problems in playlist loading/saving, this one is pretty comfortable to use too. Another nice player I’ve tried is mp3blaster.

snownews: I’ve mentioned this already, and its worth a look. Nice pleasant feedreader, allows opening the news with any browser and stuff like that.

lynx: This is a pretty popular shell browser and probably needs no introduction.. I use it with snownews, it even opens sites like gmail, and I like the purty colours.

mc: The GNU midnight commander filemanager doesn’t really need any introduction either. I used to use ROX Filer before, but I fell in love with mc once I got used to it. This one is a must have. I just love the sensible function key mappings, directory hotlists & emacs-style bindings.

Well these are the most common ones I use. Emacs might count in the list, but I usually run the GUI version. If you like tools like these, and know other similar ones that I might like, let me know!

P.S. Things like mutt and irssi didn’t make this list because I like gmail and don’t use IRC respectively, so my experience with them is limited.