awesome

Erstmals seit ich überhaupt Linux benutze, ist es mir gelungen, mehr als eine Woche am Stück einen anderen Window Manager als IceWM zu benutzen. Das gute Stück heißt awesome und wird von einem (IIRC französischen) Debian-Developer entwickelt. Aufgrund des mal wieder viel zu lange anhaltenden Freeze von lenny gammelt die 3er-Version immernoch in experimental herum, aber das schreckt mich ja nicht ab. Da 2.x noch komplett anders konfiguriert wird, ist es für Einsteiger Unsinn, so eine alte Version zu benutzen.

Ich habe bisher nur an der Oberfläche des Möglichen gekratzt und meine Motivation Lua zu lernen ist auch immernoch recht gering. Das ist aber bisher auch nicht nötig, mit Copy and Paste bekommt man viel hin und fertige Codeschnispel findet man im Wiki.

Einen Großteil meiner Konfiguration habe ich geklaut und nur leicht angepaßt. Bloß eine kleine Sache habe ich schon mehr oder weniger selbst gebaut: ich brauche ja (mangels sichtbarem root window) einen Ersatz für conky und deswegen habe ich mir als erstes ein kleines Widget zur Anzeige der CPU-Temperatur gebastelt.

Aus meiner awesome-status.lua (einem Skript, das in der .xinitrc gestartet wird und mit awesome-client kommuniziert):

function temp(zone)
  fh = io.open("/sys/class/thermal/thermal_zone"..zone.."/temp")
  line = fh:read()
  io.close(fh);
  return tonumber(line) / 1000
end

...

curtemp = temp(0)
out = out.."pb_cputemp:bar_properties_set ( "cputemp", { ["fg"] = "" .. gradient(40, 55, curtemp) .. "" } )\n"

Die Gradient-Funktion gibts im Wiki. Das dazugehörige Widget in der rc.lua:

gr_cpu = widget({ type = "graph", align = "right" })
gr_cpu.width = 40
gr_cpu.height = 1
gr_cpu.grow = "right"
gr_cpu.bg = beautiful.gr_cpu_bg

Damit habe ich in der "Taskbar" ein Rechteck, dessen Farbe mir grob die CPU-Temperatur anzeigt.

Zugegeben, die Konfiguration ist alles andere als unkompliziert und man kann sich mit einer Fehlkonfiguration leicht den WM komplett unbrauchbar machen. Aber nie mehr Fenster verschieben oder in der Größe verändern zu müssen, ist schon sehr, sehr angenehm. Wie gesagt, noch nie vorher war ein anderer WM auch nur für wenige Tage für mich erträglich. Der hier fühlt sich richtig gut an. Und der Nerd-Faktor stimmt auch. :)

Oh, und noch was: ich habe jetzt pro "Tag" (ähnliches Konzept wie virtuelle Desktops, zumindest benutze ich es bisher genau so) nur noch ein Terminal mit einer screen-Session laufen, anstatt mehrere Terminals zu benutzen:

awful.hooks.arrange.register(function (screen)
    -- default-Kram weggesnippt
    local screen_cmd = terminal .. " -e screen -RD -S " .. os.getenv("USER") .. awful.tag.selected(screen).name
    keybinding({ modkey }, "t", function () awful.util.spawn(screen_cmd) end):add()
end)

Eine neue Shell in einem screen ist doch schneller gestartet, als eine neue Instanz von xfce4-terminal.

Comments? Use or send an e-mail.