14.08.2009 23:53

Vicious widgets for awesome WM 2.0

It's been a month since my announcement of the vicious library. I kept my self busy and there are 24 widgets in there now... and I'm all out. I went over those from the Todo list and even over the Wishlist. Last changes were dedicated to some cleanup and I removed padding completely. I have no use for it and if you do I'm sure you'll manage to reuse the old code. If you used it only in a widget or two think about using "string.format" instead. More and more people requested the tarball every day and users started sending me e-mail. After a while I gave up and put vicious in git due to popular demand. I serve a bare repo over http now. First, an updated summary:

* Original code modularized
* Widgets ported from Wicked:
  - CPU, Date, FS, MEM, MPD, NET, Uptime
* Widgets written for Vicious:
  - Battery, Battery (acpitool), CPU Information, CPU Frequency,
    Disk I/O, Entropy, HDD Temperature, Mbox, Mbox Count, Maildir,
    Org-Mode, Pacman, Sysload, Thermal, Volume, Weather, Wireless
However, as removal of padding shows, I am still writing this primarily for my self. There could be more major changes in vicious soon, or maybe none at all since I'm not very pleased with the direction of awesome 3.4. I'm waiting to see how things will work out. Some parts of vicious will need to be completely rewritten in case I do switch. I also had other important decisions to make, while writing all these widgets, especially about using libraries that are not in the standard Lua distribution. For example, mail widgets for counting messages in both mbox and maildir folders could really benefit from the LuaFileSytstem library. But I decided against it for the time being. However the next development cycle, for 3.4, could include them.

In the last article I mentioned the obvious project, another modular widget library. They have a very different design, as mentioned, they handle all errors, format the output, setup buttons and timers, progress-bars and graphs... The project saw some major development recently and unfortunately they kept making it more complex going to the opposite extreme of vicious. Recently one vicious user reported a problem with the cpufreq module. It turns out his hardware does not support voltage scaling, yet I bundled it together with frequency scaling. We had a short discussion and I told him that: "with vicious I am giving each user only the framework to create his own stable configuration".


Written by anrxc | Permalink | Filed under desktop, code