November 23, 2009

Awesome WM

Its a well-known fact, among my friends, that I am a UI-bigot. That is, I think roughly 99% of user interfaces are pure garbage. Its not really a transcendent fault of user interfaces as a whole, but rather the awkward puberty they've gone through over the last twenty years. So, it may come as no surprise (to my friends) that I've found my forray into the Awesome Window Manager (heretoafter referred to as simply, "awesome") something of a blessing. Awesome, for those that don't know, is window manager for X11 that defies the conventional wisdom of window managers and forces all windows to one of a few fixed layouts.

Tiling window managers, such as awesome, started out as a joke. Some whit was flaming a news-group about a drug-induced coding frenzy in which the window manager was simply a distraction. Out of that satirical post rose a breed of window managers called "tiling wm's". They are more than a bit obtuse to the average user, and at first blush I think I was even put off by the superficial neanderthal-like clubbing Awesome did to my windows. Having now run Awesome for a week and some days, I have concluded that awesome is in fact probably my favorite window manager of all time.

Granted, I may still be in the honey-moon phase with this thing, but let me tell you why Awesome is awesome:
  • No frilly window decorations cluttering my desktop
  • No wasted space for panels, widgets and whatsits
  • Configurable to a ridiculous degree (more on that in a moment)
  • VERY light weight
Those benefits being what they are, Awesome is not without its foibles. Most notably, Awesome's configuration. There are two reasons Awesome's configuration sucks:
  1. the DEFAULT configuration file is over 300 lines.
  2. your configuration is written in LUA.
Taking each of those in turn...

No configuration file should be 300 lines. Honestly. Consider that you can configure MySQL, Apache, AND Postfix -- TOGETHER -- in fewer than 300 lines, it is a travesty that Awesome's config is so vast. Proponents of Awesome's configuration system say that its complexity is the price for its flexibility... while that may be, its still unnecessarily complex for anyone short of a supreme power-user.

Who has ever heard of LUA before? Certainly not I. LUA isn't even on the top 20 languages most programmed... more people have used SMALL than LUA. While LUA is fairly trivial to pickup (hell, I learned big chunks of it today) its still unreasonable to require a user to learn a whole programming language and various API's just to configure their window manager.

SO, that said, I think the good out-weighs the bad and Awesome is Awesome.

(P.S. I am afraid Awesome suffers the same plight as Enlightenment in that its principle author(s) are ego-maniacs with little concern for fixing bugs vs. adding features. Oh well, I used E for years despite Rasterman's obtuse and sporadic personality.)

No comments: