Integrating widgets into awesome/de
| Languages: |
English • Deutsch |
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 <screen> widget_tell <statusbar> <textbox name> text `<befehl>` | awesome-client
Legen wir nun das Bashscript ~/.awesome/widgets mit folgendem Inhalt an:
#!/bin/bash
while true
do
echo 0 widget_tell mystatusbar uhrzeit text `date | awk '{print "["$4"]"}'` | awesome-client
sleep 1
done
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