K-splitter
Ich glotz' TV…
… war das Motto der K-Tools 09/2001. Wer nach der Lektüre des Artikels Gefallen an KWinTV gefunden hat, wird sich freuen zu hören, dass diese nützliche Applikation endlich einen neuen Maintainer erhalten hat.
George Staikos war es leid, das Projekt im Leerlauf zu sehen und hat die Weiterentwicklung selbst in die Hand genommen. Zwar besitzt das neue Projekt noch keine umfangreiche Homepage, aber unter http://www.staikos.on.ca/~staikos/kwintv/ finden TV-Enthusiasten künftig häufige Updates des komfortablen KDE-TV-Programms.
KDE gibt Laut
Sie haben ein Skript, das Sie unter KDE verwenden wollen und hätten gern ein passendes Informationsfenster im gewohnten Look&Feel dazu? Dann hat Karl-Heinz Zimmer die Lösung für Sie. Er hat ein Shell-Programm entworfen, das sich wunderbar dafür eignet, eine KDE-Infobox nach Beendigung eines langen Skripts abzufeuern.
Listing 1
messageBox
#!/bin/bash
if test -z `dcop|grep kio_uiserver`; then
kio_uiserver
fi
JOB_ID=`dcop kio_uiserver UIServer newJob 0 0`
dcop kio_uiserver UIServer messageBox $JOB_ID 5 "$1" Information a b > /dev/null
dcop kio_uiserver UIServer jobFinished $JOB_ID
Legen Sie das Shell-Skript aus Listing 1 unter dem Namen messageBox in ein Verzeichnis, das in Ihrem Suchpfad steht, zum Beispiel nach /usr/local/bin, und machen Sie es mit dem Befehl
chmod a+x messageBox
ausführbar.
Wenn Sie es nun in einer Terminal-Emulation mit einem freundlichen messageBox "KDE rocks" aufrufen, erhalten Sie eine Dialogbox wie in Abbildung 2, die nur darauf wartet, dass Sie Ihr Okay geben.
Wer sich erst einmal ganz unverfänglich anschauen möchte, was man mit solchen Dialogboxen anstellen kann, sollte sich Listing 2 unter dem Namen dialogabfragen im Suchpfad anlegen. Bevor Sie es in einer Terminal-Emulation mit dem Befehl dialogabfragen starten, müssen Sie es selbstverständlich ausführbar machen. Wenn Sie alles richtig abgetippt haben, sollten Sie Dialogboxen wie in Abbildung 3 erfreuen.
Listing 2
dialogabfragen
#!/bin/sh
if test -z `dcop|grep kio_uiserver`; then
kio_uiserver
fi
JOB_ID=`dcop kio_uiserver UIServer newJob 0 0`
NOCHMAL=3
while test "$NOCHMAL" = "3" ; do
echo —– neue Runde —–
if test 3 = `dcop kio_uiserver UIServer messageBox $JOB_ID 1 "Wollen Sie das <b>wirklich</b> tun?" "Kleine Rückfrage" "&Ja klar" "Ach &nee, lieber doch nicht"`; then
echo Sie haben Ja gewählt.
else
echo Sie haben Nein gewählt \(oder Esc betätigt\).
fi
if test 3 = `dcop kio_uiserver UIServer messageBox $JOB_ID 2 "Gehen Sie in sich, wollen sie wirklich auf diese Weise weitermachen?" "Unheimlich wichtige Frage" "Klar, bringen wir's hinter uns." "Halt, &nein, ich ändere mein Leben."`; then
echo Sie haben Ja gewählt.
else
echo Sie haben Nein gewählt \(oder Esc betätigt\).
fi
RES=`dcop kio_uiserver UIServer messageBox $JOB_ID 4 "<b>Gefahr des Datenverlustes</b><br>Woll'mer noch rasch alles abspeichern ?" "Unheimlich wichtige Frage" "&Ja, super Idee." "&Nee, ist mir egal."`
case "$RES" in
2) echo Sie haben Cancel gewählt \(oder Esc betätigt\).;;
3) echo Sie haben Ja gewählt.;;
4) echo Sie haben Nein gewählt.;;
esac
NOCHMAL=`dcop kio_uiserver UIServer messageBox $JOB_ID 1 "Nochmal?" "Frage" "&Ja" "&Nein"`
if test "3" = "$NOCHMAL"; then
echo Sie haben Ja gewählt, also nochmal die ganze Sause.
else
echo Sie haben Nein gewählt \(oder Esc betätigt\) - war ja auch lange genug. :-D
fi
echo ———————-
done
dcop kio_uiserver UIServer messageBox $JOB_ID 5 "<center>ICH<br>HABE<br><b>F E R T I G</b></center>" Information a b > /dev/null
dcop kio_uiserver UIServer jobFinished $JOB_ID



