Integrating widgets into awesome/de

Dieses kleine Tutorial soll näherlegen wie man kleine Textwidgets in die Statusbar von awesome 2.3 einbindet. Ein wenig verständnis für Bashscripte sollte vorhanden sein.



Eine textbox vorbereiten
Zuerst wird in die .awesomerc eine Sektion für die neue Textbox angelegt.

screen 0 {    general {    ...     }     ...     statusbar mystatusbar {        taglist mytaglist {        ...         }         ### HIER BEGINNT DIE TEXTBOX ### textbox uhrzeit {            align = "right" text_align = "right" width = "120" }    }

Die breite sollte angepasst werden sobald Daten in der textbox vorhanden sind.

Die Daten durch ein Bashscript ausgeben lassen
Der normale Weg Daten in eine textbox zu bekommen ist folgendes Kommando:

echo widget_tell text ` ` | awesome-client

Legen wir nun das Bashscript ~/.awesome/widgets mit folgendem Inhalt an:

while true do        echo 0 widget_tell mystatusbar uhrzeit text `date | awk '{print "["$4"]"}'` | awesome-client sleep 1 done
 * 1) !/bin/bash

Der Befehl in den ` ` ist natürlich nur ein Beispiel. Anderen Leuten fällt da bestimmt besseres ein.

Machen wir nun die Datei ausführbar mit

chmod +x ~/.awesome/widgets

und tragen unser Script in die .xinit / .xsession ein:

~/.awesome/widgets & exec awesome

Nach einem Neustart von awesome sollte in dem neuen Widget die Uhrzeit zu sehen sein.

Graphen einbinden
Dies ist ein Beispiel um den RAM Verbrauch in der Statusleiste anzuzeigen:

graph mem { width = "40" data mem_used { scale = false max = 512          # <--- Das hier natürlich auf die Größe des Arbeitsspeicher einstellen draw_style = bottom }    }

Eingebunden wird das ganze wie oben beschrieben über ein kleines Bashscript. Folgende Zeile übergibt den RAM Verbrauch an das Widget:

echo 0 widget_tell mystatusbar mem data mem_used `free -m | tail -n 2 | head -n 1 | awk '{print $3}'` | awesome-client