# Zenity-Handbuch

Zenity-Desktop-Anwenderhandbuch V2.0

2003 2004 Sun Microsystems, Inc.
2008, 2009 Mario Blättermann (mariobl@gnome.org)
Sun Microsystems, Inc.

Das vorliegende Dokument kann gemäß den Bedingungen der GNU Free Documentation License (GFDL), Version 1.1 oder jeder späteren, von der Free Software Foundation veröffentlichten Version ohne unveränderbare Abschnitte sowie ohne Texte auf dem vorderen und hinteren Buchdeckel kopiert, verteilt und/oder modifiziert werden. Eine Kopie der GFDL finden Sie unter diesem Link oder in der mit diesem Handbuch gelieferten Datei COPYING-DOCS.

Dieses Handbuch ist Teil einer Sammlung von GNOME-Handbüchern, die unter der GFDL veröffentlicht werden. Wenn Sie dieses Handbuch getrennt von der Sammlung weiterverbreiten möchten, können Sie das tun, indem Sie eine Kopie der Lizenz zum Handbuch hinzufügen, wie es in Abschnitt 6 der Lizenz beschrieben ist.

Viele der Namen, die von Unternehmen verwendet werden, um ihre Produkte und Dienstleistungen von anderen zu unterscheiden, sind eingetragene Warenzeichen. An den Stellen, an denen diese Namen in einer GNOME-Dokumentation erscheinen, werden die Namen in Großbuchstaben oder mit einem großen Anfangsbuchstaben geschrieben, wenn das GNOME-Dokumentationsprojekt auf diese Warenzeichen hingewiesen wird.

DAS DOKUMENT UND VERÄNDERTE FASSUNGEN DES DOKUMENTS WERDEN UNTER DEN BEDINGUNGEN DER GNU FREE DOCUMENTATION LICENSE ZUR VERFÜGUNG GESTELLT MIT DEM WEITERGEHENDEN VERSTÄNDNIS, DASS:

1. DIESES DOKUMENT WIRD »WIE VORLIEGEND« GELIEFERT, OHNE GARANTIEN IRGENDEINER ART, SOWOHL AUSDRÜCKLICH GENANNTE ALS AUCH ANGEDEUTETE. DIES BEZIEHT SICH AUCH OHNE EINSCHRÄNKUNG AUF GARANTIEN, DASS DIESES DOKUMENT ODER VERÄNDERTE FASSUNGEN DIESES DOKUMENTS FREI VON HANDELSDEFEKTEN, FÜR EINEN BESTIMMTEN ZWECK GEEIGNET IST ODER DASS ES KEINE RECHTE DRITTER VERLETZT. DAS VOLLE RISIKO WAS QUALITÄT, GENAUIGKEIT UND LEISTUNG DES DOKUMENTS ODER VERÄNDERTE FASSUNGEN DES DOKUMENTS LIEGT BEI IHNEN. SOLLTE EIN DOKUMENT ODER EINE VERÄNDERTE FASSUNG DAVON FEHLER IRGENDEINER ART BEINHALTEN, TRAGEN SIE (NICHT DER URSPRUNGSAUTOR, DER AUTOR ODER EIN MITWIRKENDER) DIE KOSTEN FÜR NOTWENDIGE DIENSTLEISTUNGEN, REPARATUREN ODER FEHLERKORREKTUREN. DIESER HAFTUNGSAUSSCHLUSS IST EIN ESSENZIELLER TEIL DIESER LIZENZ. DIE VERWENDUNG EINES DOKUMENTS ODER EINER VERÄNDERTEN VERSION DES DOKUMENTS IST NICHT GESTATTET AUßER UNTER BEACHTUNG DIESES HAFTUNGSAUSSCHLUSSES UND

2. UNTER KEINEN UMSTÄNDEN UND AUF BASIS KEINER RECHTSGRUNDLAGE, EGAL OB DURCH UNERLAUBTEN HANDLUNGEN (EINSCHLIEßLICH FAHRLÄSSIGKEIT), VERTRAG ODER ANDERWEITIG KANN DER AUTOR, URSPRUNGSAUTOR, EIN MITWIRKENDER ODER EIN VERTRIEBSPARTNER DIESES DOKUMENTS ODER EINER VERÄNDERTEN FASSUNG DES DOKUMENTS ODER EIN ZULIEFERER EINER DIESER PARTEIEN, HAFTBAR GEMACHT WERDEN FÜR DIREKTE, INDIREKTE, SPEZIELLE, VERSEHENTLICHE ODER FOLGESCHÄDEN JEGLICHER ART, EINSCHLIEßLICH UND OHNE EINSCHRÄNKUNGEN SCHÄDEN DURCH VERLUST VON KULANZ, ARBEITSAUSFALL, COMPUTERVERSAGEN ODER COMPUTERFEHLFUNKTIONEN ODER ALLE ANDEREN SCHÄDEN ODER VERLUSTE, DIE SICH AUS ODER IN VERBINDUNG MIT DER VERWENDUNG DES DOKUMENTS UND VERÄNDERTER FASSUNGEN DES DOKUMENTS ERGEBEN, AUCH WENN DIE OBEN GENANNTEN PARTEIEN ÜBER DIE MÖGLICHKEIT SOLCHER SCHÄDEN INFORMIERT WAREN.

Sun Java-Desktopsystem-Dokumentationsteam
Sun Microsystems, Inc.
Glynn Foster
GNOME-Dokumentationsprojekt
Nicholas Curran
GNOME-Dokumentationsprojekt
Zenity-Desktop-Anwenderhandbuch V2.0
August 2004

Sun Java-Desktopsystem-Dokumentationsteam

Sun Microsystems, Inc.

Zenity-Handbuch V1.0
Januar 2003

Glynn Foster

GNOME-Dokumentationsprojekt

Dieses Handbuch beschreibt Version 2.6.0 von Zenity.

Rückmeldungen

Zum Senden von Rückmeldungen folgen Sie den Anweisungen auf der GNOME-Seite für Rückmeldungen.

Zenity entstand aus »gdialog«, der GNOME-Variante von »dialog«, welches Ihnen erlaubt, Dialogfenster über die Befehlszeile und mittels Shell-Skripten anzuzeigen.

## Einführung

Zenity erlaubt Ihnen die Erzeugung der folgenden Typen simpler Dialoge:

- Kalender

- Dateiauswahl

- Liste

- Benachrichtigungssymbol

- Meldung

  - Fehler

  - Information

  - Frage

  - Warnung

- Fortschritt

- Textfeld

- Textinformation

## Benutzung

Wenn Sie Skripte schreiben, können Sie Zenity zur Erzeugung einfacher Dialoge zur Interaktion mit dem Benutzer verwenden, wie folgende:

- Sie können einen Dialog erzeugen, der die Eingabe von Informationen durch den Benutzer erfordert. Beispielsweise können Sie den Benutzer anweisen, ein Datum aus einem Kalenderdialog oder eine Datei aus einem Dateiauswahldialog zu wählen.

- Sie können einen Dialog erzeugen, um dem Benutzer Informationen zur Verfügung zu stellen. Beispielsweise können Sie einen Fortschrittsanzeige-Dialog erzeugen, um auf den aktuellen Status eines Vorgangs hinzuweisen, oder einen Warndialog, um den Benutzer zu warnen.

Wenn der Benutzer den Dialog schließt, schreibt Zenity den vom Dialog ausgegebenen Text in die Standardausgabe.

Wenn Sie Zenity-Befehle schreiben, stellen Sie bitte sicher, dass Sie jedes Argument stets in Anführungszeichen einschließen.

Benutzen Sie beispielsweise:

    zenity --calendar --title="Urlaubsplaner"

Benutzen Sie nicht:

    zenity --calendar --title=Urlaubsplaner

Wenn Sie keine Anführungszeichen verwenden, könnten Sie unerwartete Ergebnisse erhalten.

### Zugriffstasten

Eine Zugriffstaste ist eine Taste, die Ihnen die Ausführung einer Aktion mit der Tastatur zur Auswahl eines Befehls aus einem Menü oder einem Dialog erlaubt, anstatt dafür die Maus zu benutzen.

Einige Zenity-Dialoge unterstützen die Verwendung von Zugriffstasten. Um das Zeichen für den Tastaturzugriff festzulegen, setzen Sie einen Unterstrich vor das Zeichen im Dialogtext. Das folgende Beispiel zeigt, wie Sie den Buchstaben »W« als Zugriffstaste festlegen.

    "_Wählen Sie einen Namen"

### Rückgabewerte

Zenity erzeugt die folgenden Rückgabewerte:

Rückgabewert | Beschreibung
--- | ---
`0` | Der Benutzer hat entweder auf OK oder auf Schließen gedrückt.
`1` | Der Benutzer hat entweder auf Abbrechen gedrückt oder die Fensterfunktionen zum Schließen des Dialogs benutzt.
`-1` | Es ist ein unerwarteter Fehler aufgetreten.
`5` | Der Dialog wurde geschlossen, weil die Wartezeit verstrichen ist.

### Allgemeine Einstellungen

Alle Zenity-Dialoge unterstützen die folgenden allgemeinen Optionen:

`--title`=Titel

  Damit legen Sie den Titel des Dialogs fest.

`--window-icon`=Symbolpfad

  Damit legen Sie das Symbol fest, das im Fensterrahmen des Dialogs angezeigt wird. Es gibt 4 Standardsymbole, die auch über die Schlüsselwörter »info«, »warning«, »question« und »error« bereitgestellt werden.

`--width`=Breite

  Damit legen Sie die Breite des Dialogs fest.

`--height`=Höhe

  Damit legen Sie die Höhe des Dialogs fest.

`--timeout`=timeout

  Damit legen Sie die Wartezeit in Sekunden bis zum Schließen des Dialogs fest.

### Hilfeoptionen

Zenity stellt die folgenden Hilfeoptionen bereit:

`--help`

  Damit zeigen Sie einen Hilfetext in Kurzform an.

`--help-all`

  Damit zeigen Sie den kompletten Hilfetext für alle Dialoge an.

`--help-general`

  Damit zeigen Sie den Hilfetext für allgemeine Dialogoptionen an.

`--help-calendar`

  Damit zeigen Sie den Hilfetext für Kalenderdialogoptionen an.

`--help-entry`

  Damit zeigen Sie den Hilfetext für Optionen des Texteingabedialogs an.

`--help-error`

  Damit zeigen Sie den Hilfetext für Optionen des Fehlerdialogs an.

`--help-info`

  Damit zeigen Sie den Hilfetext für Informationsdialogoptionen an.

`--help-file-selection`

  Damit zeigen Sie den Hilfetext für Optionen des Dateiauswahldialogs.

`--help-list`

  Damit zeigen Sie den Hilfetext für Optionen des Listendialogs an.

`--help-notification`

  Damit zeigen Sie den Hilfetext für Optionen des Benachrichtigungsymbols an.

`--help-progress`

  Damit zeigen Sie den Hilfetext für Optionen des Fortschrittsanzeige-Dialogs an.

`--help-question`

  Damit zeigen Sie den Hilfetext für Optionen des Fragedialogs an.

`--help-warning`

  Damit zeigen Sie den Hilfetext für die Optionen des Warndialogs an.

`--help-text-info`

  Damit zeigen Sie den Hilfetext für Optionen des Informationsdialogs an.

`--help-misc`

  Damit zeigen Sie den Hilfetext für nicht auf einen bestimmten Dialog bezogene Optionen an.

`--help-gtk`

  Damit zeigen Sie den Hilfetext für die GTK+-Optionen an.

### Verschiedene Optionen

Zenity stellt außerdem die folgenden verschiedenen Optionen zur Verfügung:

`--about`

  Damit zeigen Sie den Info zu Zenity-Dialog an, der Versionsinformationen, Copyright-Informationen und Entwicklerinformationen über Zenity enthält.

`--version`

  Damit zeigen Sie die Versionsnummer von Zenity an.

### GTK+-Optionen

Zenity unterstützt die Standardoptionen von GTK+. Um weitere Informationen über die GTK+-Optionen anzuzeigen, führen Sie den Befehl `zenity -?` aus.

### Umgebungsvariablen

Normalerweise erkennt Zenity das Terminalfenster, aus dem es gestartet wurde und hält sein eigenes Fenster im Vordergrund dieses Fensters. Dieses Verhalten kann deaktiviert werden, wenn Sie das Setzen der Umgebungsvariable `WINDOWID` deaktivieren.

## Kalenderdialog

Benutzen Sie die Option `--calendar` zur Erzeugung eines Kalenderdialogs. Zenity gibt das gewählte Datum an die Standardausgabe zurück. Wenn kein Datum auf der Befehlszeile angegeben wird, verwendet der Dialog das aktuelle Datum.

Der Kalenderdialog unterstützt die folgenden Optionen:

`--text`=Text

  Damit legen Sie den Text fest, der im Kalenderdialog angezeigt wird.

`--day`=Tag

  Damit legen Sie den im Kalenderdialog ausgewählten Tag fest. Tag muss eine Zahl von 1 bis 31 sein.

`--month`=Monat

  Damit legen Sie den im Kalenderdialog ausgewählten Monat fest. Monat muss eine Zahl zwischen 1 und 12 sein.

`--year`=Jahr

  Damit legen Sie das im Kalenderdialog ausgewählte Jahr fest.

`--date-format`=Format

  Damit legen Sie das Format fest, das vom Kalenderdialog nach der Auswahl des Datums zurückgegeben wird. Das Standardformat ist abhängig von Ihren Spracheinstellungen. Format muss ein Format sein, das von der `strftime`-Funktion unterstützt wird, zum Beispiel `%A %d/%m/%y`.

Das folgende Beispielskript zeigt, wie Sie einen Kalenderdialog erzeugen können:

            #!/bin/sh

            if zenity --calendar \
            --title="Datum auswählen" \
            --text="Klicken Sie auf ein Datum, um es auszuwählen." \
            --day=9 --month=4 --year=2008
              then echo $?
              else echo "Kein Datum ausgewählt"
            fi

Beispiel für einen Kalenderdialog

Zenity Beispiel für einen Kalenderdialog

## Dateiauswahldialog

Verwenden Sie die Option `--file-selection` zur Erzeugung eines Dateiauswahldialogs. Zenity gibt die ausgewählten Dateien oder Ordner an die Standardausgabe zurück. Der Standardmodus für den Dateiauswahldialog ist »Öffnen«.

Der Dateiauswahldialog unterstützt die folgenden Optionen:

`--filename`=Dateiname

  Legt die Datei oder den Ordner fest, die oder der bei der ersten Anzeige des Dateiauswahldialogs angezeigt wird.

`--multiple`

  Erlaubt die Mehrfachauswahl von Dateien im Dateiauswahldialog.

`--directory`

  Erlaubt nur die Auswahl von Ordnern im Dateiauswahldialog.

`--save`

  Setzt den Dateiauswahldialog in den Modus »Speichern«.

`--separator`=Trenner

  Legt die Zeichenkette fest, die für die Trennung der zurückgegebenen Liste der Dateinamen verwendet wird.

Das folgende Beispielskript zeigt, wie Sie einen Dateiauswahldialog erzeugen können:

            #!/bin/sh

            FILE=`zenity --file-selection --title="Wählen Sie eine Datei"`

            case $? in
                     0)
                            echo "\"$FILE\" ausgewählt.";;
                     1)
                            echo "Keine Datei ausgewählt.";;
                    -1)
                            echo "Keine Datei ausgewählt.";;
            esac

Beispiel für einen Dateiauswahldialog

Zenity Beispiel für einen Dateiauswahldialog

## Benachrichtigungssymbol

`--text`=Text

  Legt den Text fest, der im Benachrichtigungsfeld angezeigt wird.

Das folgende Beispielskript zeigt, wie Sie ein Benachrichtigungssymbol erzeugen:

            #!/bin/sh

            zenity --notification\
              --window-icon="info" \
              --text="Wichtige Systemaktualisierungen sind verfügbar!"

Beispiel für ein Benachrichtigungssymbol

Zenity Beispiel für ein Benachrichtigungssymbol

## Listendialog

Verwenden Sie die Option `--list`, um einen Listendialog zu erzeugen. Zenity gibt die Einträge in der ersten Spalte der ausgewählten Zeile an die Standardausgabe zurück.

Die Daten für den Dialog müssen Spalte für Spalte und Zeile für Zeile angegeben werden. Die Daten können dem Dialog durch die Standardeingabe zur Verfügung gestellt werden. Die einzelnen Einträge müssen durch ein Newline-Zeichen voneinander getrennt werden.

Wenn Sie die Optionen `--checklist` oder `--radiolist` verwenden, muss jede Zeile entweder mit 'TRUE' oder mit 'FALSE' beginnen.

Der Listendialog unterstützt die folgenden Optionen:

`--column`=Spalte

  Legt die Spaltenüberschriften fest, die im Listendialog angezeigt werden sollen. Sie müssen eine `--column`-Option für jede Spalte angeben, die Sie im Listendialog anzeigen wollen.

`--checklist`

  Legt fest, dass die erste Spalte im Listendialog Ankreuzfelder enthält.

`--radiolist`

  Legt fest, dass die erste Spalte im Listendialog Radioknöpfe enthalten soll.

`--editable`

  Erlaubt die Bearbeitung der angezeigten Objekte.

`--separator`=Trenner

  Legt fest, welche Zeichenkette verwendet wird, wenn der Listendialog die ausgewählten Einträge zurück gibt.

`--print-column`=Spalte

  Dies legt fest, welche Spalte Ihrer Auswahl ausgegeben werden soll. Die Vorgabe ist »1«. Sie können »ALL« verwenden, um alle Spalten der Liste ausgeben zu lassen.

Das folgende Beispielskript zeigt, wie Sie einen Listendialog erzeugen:

            #!/bin/sh

            zenity --list \
              --title="Fehlerberichte auswählen" \
              --column="Kennung" --column="Wichtigkeit" --column="Beschreibung" \
                992383 Normal "GtkTreeView crashes on multiple selections" \
                293823 High "GNOME Dictionary does not handle proxy" \
                393823 Critical "Menu editing does not work in GNOME 2.0"

Beispiel für einen Listendialog

Zenity Beispiel für einen Listendialog

## Meldungsdialoge

Zenity kann vier verschiedene Typen von Meldungsdialogen erzeugen:

- Fehler

- Information

- Frage

- Warnung

Für jeden dieser Typen geben Sie mit der Option `--text` an, welcher Text im Dialog angezeigt werden soll.

### Fehlerdialog

Verwenden Sie die Option `--error`, um einen Fehlerdialog zu erzeugen.

Das folgende Beispielskript zeigt, wie Sie einen Fehlerdialog erzeugen:

              #!/bin/bash

              zenity --error \
              --text="/var/log/syslog wurde nicht gefunden."

Beispiel für einen Fehlerdialog

Zenity Beispiel für einen Fehlerdialog

### Informationsdialog

Verwenden Sie die Option `--info`, um einen Informationsdialog zu erzeugen.

Das folgende Beispielskript zeigt, wie Sie einen Informationsdialog erzeugen:

              #!/bin/bash

              zenity --info \
              --text="Die Aktualisierung wurde ausgeführt.\n3 von 10 Dateien wurden aktualisiert."

Beispiel für einen Informationsdialog

Zenity Beispiel für einen Informationsdialog

### Fragedialog

Verwenden Sie die Option `--question`, um einen Fragedialog zu erzeugen.

Das folgende Beispielskript zeigt, wie Sie einen Fragedialog erzeugen:

              #!/bin/bash

              zenity --question \
              --text="Wollen Sie wirklich fortsetzen?"

Beispiel für einen Fragedialog

Zenity Beispiel für einen Fragedialog

### Warndialog

Verwenden Sie die Option `--warning`, um einen Warndialog zu erzeugen.

Das folgende Beispielskript zeigt, wie Sie einen Warndialog erzeugen:

              #!/bin/bash

              zenity --warning \
              --text="Ziehen Sie den Netzstecker, um einen elektrischen Schlag zu vermeiden."

Beispiel für einen Warndialog

Zenity Beispiel für einen Warndialog

## Fortschrittsanzeige-Dialog

Verwenden Sie die Option `--progress`, um einen Fortschrittsanzeige-Dialog zu erzeugen.

Zenity liest die Daten aus der Standardeingabe zeilenweise. Wenn einer Zeile ein Raute-Zeichen (#) vorangestellt ist, wird der angezeigte Text durch den Text in dieser Zeile aktualisiert, bei einem angezeigten Prozentsatz durch die angegebene Zahl.

Der Fortschrittsanzeige-Dialog unterstützt die folgenden Optionen:

`--text`=Text

  Legt den Text fest, der im Fortschrittsanzeige-Dialog angezeigt wird.

`--percentage`=Prozentsatz

  Legt den anfänglich im Fortschrittsanzeige-Dialog angezeigten Prozentsatz fest.

`--auto-close`

  Schließt den Fortschrittsanzeige-Dialog, wenn 100% erreicht sind.

`--pulsate`

  Legt fest, dass die Fortschrittsleiste pulsiert, bis ein EOF-Zeichen von der Standardeingabe gelesen wird.

Das folgende Beispielskript zeigt, wie Sie einen Fortschrittsanzeige-Dialog erzeugen:

            #!/bin/sh
            (
            echo "10" ; sleep 1
            echo "# Mail-Logdateien werden aktualisiert" ; sleep 1
            echo "20" ; sleep 1
            echo "# Cronjobs werden zurückgesetzt" ; sleep 1
            echo "50" ; sleep 1
            echo "Diese Zeile wird ignoriert" ; sleep 1
            echo "75" ; sleep 1
            echo "# Neustart des Systems" ; sleep 1
            echo "100" ; sleep 1
            ) |
            zenity --progress \
              --title="Logdateien aktualisieren" \
              --text="Mail-Logdateien werden untersucht …" \
              --percentage=0

            if [ "$?" = -1 ] ; then
                    zenity --error \
                      --text="Aktualisierung wurde abgebrochen."
            fi

Beispiel für einen Fortschrittsanzeige-Dialog

Zenity Beispiel für einen Fortschrittsanzeige-Dialog

## Texteingabe-Dialog

Verwenden Sie die Option `--entry`, um einen Texteingabedialog zu erzeugen. Zenity gibt den Inhalt des Texts an die Standardausgabe zurück.

Der Texteingabedialog unterstützt die folgenden Optionen:

`--text`=Text

  Legt den Text fest, der im Texteingabedialog angezeigt wird.

`--entry-text`=Text

  Legt den Text fest, der im Eingabefeld des Texteingabedialogs angezeigt wird.

`--hide-text`

  Dadurch wird der Text im Eingabefeld des Textreingabedialogs verborgen.

Das folgende Beispielskript zeigt, wie Sie einen Texteingabedialog erzeugen:

            #!/bin/sh

            if zenity --entry \
            --title="Eintrag hinzufügen" \
            --text="Geben Sie Ihr _Passwort ein:" \
            --entry-text "Passwort" \
            --hide-text
              then echo $?
              else echo "Es wurde kein Passwort eingegeben"
            fi

Beispiel für einen Texteingabe-Dialog

Zenity Beispiel für einen Texteingabedialog

## Text-Informationsdialog

Verwenden Sie die Option `--text-info`, um einen Textinformationsdialog zu erzeugen.

Der Textinformationsdialog unterstützt die folgenden Optionen:

`--filename`=Dateiname

  Legt eine Datei fest, die im Textinformationsdialog geladen wird.

`--editable`

  Ermöglicht die Bearbeitung des angezeigten Texts. Der bearbeitete Text wird an die Standardausgabe zurückgegeben, wenn der Dialog geschlossen wird.

Das folgende Beispielskript zeigt, wie Sie einen Textinformationsdialog erzeugen:

            #!/bin/sh

            FILE=`zenity --file-selection \
              --title="Wählen Sie eine Datei"`

            case $? in
                     0)
                            zenity --text-info \
                              --title=$FILE \
                              --filename=$FILE \
                              --editable 2>/tmp/tmp.txt;;
                     1)
                            echo "Keine Datei ausgewählt.";;
                    -1)
                            echo "Keine Datei ausgewählt.";;
            esac

Beispiel für einen Text-Informationsdialog

Zenity Beispiel für einen Textinformationsdialog
Zenity-Befehl
Dialog-Erzeuger