MC's journal

Pungenday, the 68 day of Chaos in the YOLD 3177

dzen — en programmerarvänlig statuspanel

Jag har inte varit mycket för paneler på min desktop. Däremot har jag en del gånger haft en något överlastad mode-rad i Emacs. Det har det lilla problemet att jag inte alltid sitter och tittar på min Emacs, hur konstigt det än kan låta. Då och då gör jag faktiskt andra saker, rent av på andra workspaces än min Emacs finns på.

Enter dzen.

Nu har jag en statusrad högst upp på min skärm som ser ut så här:

dzen-status.png

Detta skall utttydas som datum, tid, CPU-temperatur, batterinivå, om strömkontakten är inkopplad och hur många olästa mail jag har.

Detta är förstås bara början. Jag har just experimenterat med att få små notiser om någon försöker prata med mig över IRC eller XMPP.

Allt det här genereras i själva verket av ett shellscript jag skrev som just nu matar ut:

2011-03-09 13:31 ^fg(grey60)^i(/home/mc/images/dzen-xbm-pack/temp.xbm)^p(3)54.0C ^fg(grey60)^i(/home/mc/images/dzen-xbm-pack/power-bat2.xbm)^p(3)100% ^fg(grey60)^i(/home/mc/images/dzen-xbm-pack/power-ac.xbm) 

Detta pipas till dzen som gör om det till något som liknar statusraden i bilden ovan.

Temperaturen och strömkontaktstatus hämtas från sysctl:erna hw.acpi.battery.life och hw.acpi.acline. Processortemperaturen kommer från dev.cpu.1.temperature. Mailstatus räknar helt enkelt filer i Maildir/new. Svårare är det inte.

Nu skall jag bara få in i mcwm att den tar hänsyn till att statusraden finns vid maximeringar och sådant också…


Written by MC using Emacs and friends.