# MateDialog-Handbuch

## Einführung

MateDialog 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 MateDialog 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 MateDialog den vom Dialog ausgegebenen Text in die Standardausgabe.

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

For example, use:

    matedialog --calendar --title="Holiday Planner"

Do not use:

    matedialog --calendar --title=Holiday Planner

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 MateDialog-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.

    "_Choose a name".

### Rückgabewerte

MateDialog 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 MateDialog-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

MateDialog 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

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

`--about`

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

`--version`

- Damit zeigen Sie die Versionsnummer von MateDialog an.

### GTK+-Optionen

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

### Umgebungsvariablen

Normalerweise erkennt MateDialog 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. MateDialog 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`.

The following example script shows how to create a calendar dialog:

            #!/bin/sh

            if matedialog --calendar \
            --title="Select a Date" \
            --text="Click on a date to select that date." \
            --day=10 --month=8 --year=2004
              then echo $?
              else echo "No date selected"
            fi

### Beispiel für einen Kalenderdialog

MateDialog calendar dialog example

## Dateiauswahldialog

Verwenden Sie die Option `--file-selection` zur Erzeugung eines Dateiauswahldialogs. MateDialog 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.

The following example script shows how to create a file selection dialog:

            #!/bin/sh

            FILE=`matedialog --file-selection --title="Select a File"`

            case $? in
                     0)
                            echo "\"$FILE\" selected.";;
                     1)
                            echo "No file selected.";;
                    -1)
                            echo "No file selected.";;
            esac

### Beispiel für einen Dateiauswahldialog

MateDialog file selection dialog example

## Benachrichtigungssymbol

`--text`=`Text`

- Legt den Text fest, der im Benachrichtigungsfeld angezeigt wird.

The following example script shows how to create a notification icon:

            #!/bin/sh

            matedialog --notification\
              --window-icon="info" \
              --text="There are system updates necessary!"

### Beispiel für ein Benachrichtigungssymbol

MateDialog notification icon example

## Listendialog

Verwenden Sie die Option `--list`, um einen Listendialog zu erzeugen. MateDialog 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.

The following example script shows how to create a list dialog:

            #!/bin/sh

            matedialog --list \
              --title="Choose the Bugs You Wish to View" \
              --column="Bug Number" --column="Severity" --column="Description" \
                992383 Normal "GtkTreeView crashes on multiple selections" \
                293823 High "MATE Dictionary does not handle proxy" \
                393823 Critical "Menu editing does not work in MATE 2.0"

### Beispiel für einen Listendialog

MateDialog list dialog example

## Meldungsdialoge

MateDialog 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.

The following example script shows how to create an error dialog:

              #!/bin/bash

              matedialog --error \
              --text="Could not find /var/log/syslog."

#### Beispiel für einen Fehlerdialog

MateDialog error dialog example

### Informationsdialog

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

The following example script shows how to create an information dialog:

              #!/bin/bash

              matedialog --info \
              --text="Merge complete. Updated 3 of 10 files."

#### Beispiel für einen Informationsdialog

MateDialog information dialog example

### Fragedialog

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

The following example script shows how to create a question dialog:

              #!/bin/bash

              matedialog --question \
              --text="Are you sure you wish to proceed?"

#### Beispiel für einen Fragedialog

MateDialog question dialog example

### Warndialog

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

The following example script shows how to create a warning dialog:

              #!/bin/bash

              matedialog --warning \
              --text="Disconnect the power cable to avoid electrical shock."

#### Beispiel für einen Warndialog

MateDialog warning dialog example

## Fortschrittsanzeige-Dialog

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

MateDialog 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.

The following example script shows how to create a progress dialog:

            #!/bin/sh
            (
            echo "10" ; sleep 1
            echo "# Updating mail logs" ; sleep 1
            echo "20" ; sleep 1
            echo "# Resetting cron jobs" ; sleep 1
            echo "50" ; sleep 1
            echo "This line will just be ignored" ; sleep 1
            echo "75" ; sleep 1
            echo "# Rebooting system" ; sleep 1
            echo "100" ; sleep 1
            ) |
            matedialog --progress \
              --title="Update System Logs" \
              --text="Scanning mail logs..." \
              --percentage=0

            if [ "$?" = -1 ] ; then
                    matedialog --error \
                      --text="Update canceled."
            fi

### Beispiel für einen Fortschrittsanzeige-Dialog

MateDialog progress dialog example

## Texteingabe-Dialog

Verwenden Sie die Option `--entry`, um einen Texteingabedialog zu erzeugen. MateDialog 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.

The following example script shows how to create a text entry dialog:

            #!/bin/sh

            if matedialog --entry \
            --title="Add an Entry" \
            --text="Enter your _password:" \
            --entry-text "password" \
            --hide-text
              then echo $?
              else echo "No password entered"
            fi

### Beispiel für einen Texteingabe-Dialog

MateDialog text entry dialog example

## 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.

The following example script shows how to create a text information dialog:

            #!/bin/sh

            FILE=`matedialog --file-selection \
              --title="Select a File"`

            case $? in
                     0)
                            matedialog --text-info \
                              --title=$FILE \
                              --filename=$FILE \
                              --editable 2>/tmp/tmp.txt;;
                     1)
                            echo "No file selected.";;
                    -1)
                            echo "No file selected.";;
            esac

### Beispiel für einen Text-Informationsdialog

MateDialog text information dialog example