Karamba auf dem Desktop
KDE-Hintergrund mit SuperKaramba aufwerten
Systemparameter erfragen
Um an Uhrzeit, Datum und CPU-Last zu kommen, fragen wir mit Hilfe von zwei verschiedenen Sensoren Systemwerte ab: SENSOR=TIME liefert die ersten beiden Werte, SENSOR=CPU die Prozessor-Auslastung. SuperKaramba kennt aber auch noch andere:
- DISK zeigt Informationen über gemountete Laufwerke an und zwar auch die, bei denen NFS und Samba im Spiel sind.
- MEMORY verrät, wie ausgelastet Hauptspeicher und die Swap-Partition sind.
- NETWORK liefert Informationen über den Netzwerkverkehr.
- NOATUN informiert darüber, welchen Audiotrack
noatun[6] gerade abspielt. - PROGRAM holt sich die Standardausgabe eines beliebigen Programms zum Anzeigen. So gibt
TEXT … sensor=program program="who | cut -d\ -f 1 | sort | uniq"
die aktuell eingeloggten User an.
- SENSOR benutzt das externe Programm
sensors[7] zum Erfassen von Messwerten. - TEXTFILE liest kontinuierlich eine Textdatei und gibt deren Inhalt aus. Ein Beispiel:
TEXT … sensor=textfile path="/proc/acpi/thermal_zone/THRM/temperature"
zeigt – so auf dem Rechner möglich – die aktuelle Systemtemperatur an.
- UPTIME liefert die Zeit, die seit dem letzten Booten des Rechners vergangen ist.
- XMMS gibt Informationen zum Audiotrack, den
xmms[8] gerade abspielt.Eine vollständige Übersicht über diese Parameter bietet [4].
Tabelle 1: Generelle Kommandos in .theme-Dateien
| Kommando | Bedeutung | wichtige Parameter |
|---|---|---|
| KARAMBA | definiert das Hauptfenster | X: horizontale Position (Standard: x=0)
|
Y: vertikale Position (Standard: y=0)
|
||
W: Breite (Standard: w=300)
|
||
H: Höhe (Standard: h=300)
|
||
LOCKED: Größenänderungen bzw. Verschiebungen verbieten (true) oder zulassen (false) (Standard: locked=false)
|
||
INTERVAL: Aktualisierungszyklus in Millisekunden (Standard: interval=5000)
|
||
| CLICKAREA | legt einen Bereich fest, in dem auf Mausklick ein Programm startet | X: horizontale Position (relativ zum Hauptfenster bzw. zur übergeordneten Gruppe) |
| Y: vertikale Position (relativ zum Hauptfenster bzw. zur übergeordneten Gruppe) | ||
| W: Breite | ||
| H: Höhe | ||
PREVIEW: Soll der User sehen, wo der Klickbereich verläuft? Wenn ja umrahmt preview=true ihn
|
||
| ONCLICK: das zu startende Programm | ||
| DEFAULTFONT | legt Standardschriftart fest | FONT: Schriftfamilie (Beispiel: font="times"). Die auf dem eigenen System verfügbaren Familien verrät das Tool xfontsel im Menüpunkt fmly.
|
COLOR: RGB-Farbwert der Schrift (Beispiel: color=255,0,0 für rot)
|
||
SHADOW: Schattendicke in Punkten (Beispiel: shadow=2)
|
||
<GROUP>, </GROUP>
|
fasst mehrere Elemente zu Gruppen zusammen |
Optische Verbesserungen
Gerade für Messwerte ist die Darstellung als Text nicht unbedingt die eleganteste Variante. So bietet sich für die CPU-Last eine Pegelanzeige an. Dazu tauschen wir die letzte Zeile der zweiten Gruppe in Listing 1 gegen folgenden Code:
BAR x=42 y=0 sensor=CPU path="bar.png"
Die Datei bar.png erstellen wir mit Gimp [9] oder einem anderen Grafikprogramm – für Abbildung 5 enthält sie ein weißes Rechteck mit den Abmaßen 70×12 Pixel, von der SuperKaramba einen dem jeweiligen "Pegelausschlag" entsprechenden Ausschnitt zeigt. Dieser beginnt dabei in der linken oberen Ecke des Bildes; ein Bildpixel entspricht einem Punkt in der Pegelanzeige.
Ist die Grafik größer als das Hauptfenster oder wird die Anzeige in der Breite w bzw. Höhe h beschränkt, stutzt SuperKaramba die Grafik automatisch. Selbstverständlich darf die Bilddatei formatspezifische Transparenzeffekte, wie sie etwa PNG im Gegensatz zu JPG unterstützt, enthalten.
Gibt man in path kein konkretes Verzeichnis an, sucht SuperKaramba in dem Ordner, in dem sich die .theme-Datei befindet. Statt eines Bilds von der Festplatte kann auch eine http://http-URL als Bildpfad angegeben werden. Weitere Parameter für die Pegelanzeige erläutert Tabelle 2.
Damit SuperKaramba Änderungen an einem bereits geladenenen Theme wahrnimmt, klickt man mit der rechten Maustaste auf die Anzeige und wählt im Kontextmenü den Punkt Reload theme an.
Ersetzen wir die eben geänderte Zeile durch
GRAPH x=42 y=0 w=70 h=12 color=255,255,255 points=100 sensor=cpu
ergibt sich für die CPU-Last eine Kurve wie in Abbildung 6. XYW und H definieren hierbei wieder die relative Position der Anzeige sowie deren Breite und Höhe. Ihre Farbe legt man wie bei Texten mit dem Stichwort COLOR fest. Der neue Parameter POINTS gibt die Anzahl der anzuzeigenden Messpunkte an, in unserem Fall 100. Auch hier geschieht die Normierung auf die Breite (im Beispiel 70) automatisch.
SuperKaramba interpretiert geeignete Rückgabewerte eines Sensors auch als Bilddatei und stellt sie an einer festen Position nach dem Muster
IMAGE x=Zahl y=Zahl w=Breite h=Hoehe path="Pfad/zur/oder/URL/der/Bilddatei "
dar. Diese Funktion eignet sich zum Beispiel zum Einbinden von Webcam-Bildern in ein Theme. Weitere Anregungen bietet [5].
Tabelle 2: Die wichtigsten Parameter der Pegelanzeige BAR
| Parameter | Bedeutung |
|---|---|
| X | horizontale Position der linken oberen Ecke (relativ zum Hauptfenster bzw. zur übergeordneten Gruppe) |
| Y | vertikale Position der unteren linken Ecke (relativ zum Hauptfenster bzw. zur übergeordneten Gruppe) |
| W | Breite (optional; bei Nichtangabe verwendet SuperKaramba die Breite des Bildes) |
| H | Höhe (optional; per Default Höhe des Bildes) |
| PATH | Pfad zum zu verwendenden Bild |
| VERTICAL | Anzeige von unten nach oben statt von links nach rechts (Standard: vertical=false)
|



