# Manuel de MateDialog

## Introduction

Vous trouverez ci-dessous les différents types de boîte de dialogue que MateDialog peut créer :

- Calendrier

- Sélection de fichier

- Liste

- Icône de notification

- Message

  - Erreur

  - Information

  - Question

  - Avertissement

- Barre de progression

- Saisie de texte

- Texte d'information

## Utilisation

Quand vous écrivez des scripts, vous pouvez utiliser MateDialog pour créer des boîtes de dialogue simples avec lesquels l'utilisateur interagit graphiquement :

- Pour obtenir des informations de la part de l'utilisateur. Par exemple en demandant de choisir une date dans une boîte de dialogue de calendrier, ou en demandant de sélectionner un fichier dans une boîte de dialogue de sélection de fichier.

- Pour donner des informations à l'utilisateur. Par exemple en utilisant une boîte de dialogue de barre de progression pour indiquer l'avancement d'une opération, ou en utilisant une boîte de dialogue d'avertissement pour alerter l'utilisateur.

Quand l'utilisateur ferme la boîte de dialogue, MateDialog affiche le texte produit sur le flux de sortie standard.

Quand vous écrivez des commandes MateDialog, assurez vous de bien placer des guillements autour de chaque argument.

For example, use:

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

Do not use:

    matedialog --calendar --title=Holiday Planner

Si vous n'utilisez pas les guillemets, vous risquez d'obtenir des résultats inattendus.

### Touches d'accès

Une touche d'accès est une touche permettant d'effectuer une action au clavier plutôt qu'en utilisant la souris. Une touche d'accès est identifiée avec une lettre soulignée dans les entrées de menu ou de boîtes de dialogue.

Certaines boîtes de dialogue de MateDialog permettent l'utilisation de touches d'accès. Pour indiquer la lettre à utiliser comme touche d'accès, placez un souligné « _ » avant cette lettre dans le texte de la boîte de dialogue. L'exemple suivant montre comment utiliser la lettre 'C' comme touche d'accès :

    "_Choose a name".

### Code de sortie

MateDialog retourne les codes de sortie suivants :

Code de sortie | Description
`0` | L'utilisateur a appuyé sur OK ou sur Fermer.
`1` | L'utilisateur a soit appuyé sur le bouton Annuler, soit fermé la boîte de dialogue.
`-1` | Une erreur inattendue s'est produite.
`5` | La boîte de dialogue a été fermée car le délai d'affichage a expiré.

### Options générales

Toutes les boîtes de dialogue MateDialog supportent les options générales suivantes :

`--title`=`titre`

- Indique le titre d'une boîte de dialogue.

`--window-icon`=`chemin_icone`

- Indique l'icône affichée dans le cadre de la boîte de dialogue. Quatre icônes prédéfinies sont également disponibles en utilisant l'un des mots-clés suivants : 'info', 'warning', 'question' et 'error'.

`--width`=`largeur`

- Indique la largeur de la boîte de dialogue.

`--height`=`hauteur`

- Indique la hauteur de la boîte de dialogue.

`--timeout`=`délai`

- Indique en secondes le délai après lequel la boîte de dialogue est fermée.

### Options d'aide

MateDialog fournit les options d'aide suivantes :

`--help`

- Afficher un court texte d'aide.

`--help-all`

- Afficher le texte d'aide complet pour toutes les boîtes de dialogue.

`--help-general`

- Afficher l'aide pour les options générales.

`--help-calendar`

- Afficher l'aide pour les options de la boîte de dialogue de calendrier.

`--help-entry`

- Afficher l'aide pour les options de la boîte de dialogue de saisie.

`--help-error`

- Afficher l'aide pour les options de la boîte de dialogue d'erreur.

`--help-info`

- Afficher l'aide pour les options de la boîte de dialogue d'information.

`--help-file-selection`

- Afficher l'aide pour les options de la boîte de dialogue de sélection de fichier.

`--help-list`

- Afficher l'aide pour les options de la boîte de dialogue de liste.

`--help-notification`

- Afficher l'aide pour les options de l'icône de notification.

`--help-progress`

- Afficher l'aide pour les options de la boîte de dialogue de barre de progression.

`--help-question`

- Afficher l'aide pour les options de la boîte de dialogue de question.

`--help-warning`

- Afficher l'aide pour les options de la boîte de dialogue d'avertissement.

`--help-text-info`

- Afficher l'aide pour les options de la boîte de dialogue de texte d'information.

`--help-misc`

- Afficher l'aide pour les options diverses.

`--help-gtk`

- Afficher l'aide pour les options GTK+.

### Options diverses

MateDialog fournit également les options suivantes :

`--about`

- Afficher la boîte de dialogue À propos de MateDialog, qui contient des informations sur la version de MateDialog, des informations sur la licence, et des informations sur les développeurs.

`--version`

- Afficher le numéro de version de MateDialog.

### Options GTK+

MateDialog supporte les options GTK+ standards. Pour plus d'informations à propos des options GTK+, lancez la commande `matedialog --help-gtk`.

### Variables d'environnement

Normalement, MateDialog détecte la fenêtre de terminal à partir de laquelle il a été lancé et demeure au-dessus de cette fenêtre. Ce comportement peut être désactivé en déconfigurant la variable d'environnement `WINDOWID`.

## Boîte de dialogue de calendrier

L'option `--calendar` crée une boîte de dialogue de calendrier. MateDialog retourne la date sélectionnée sur le flux de sortie standard. Si aucune date n'est indiquée en ligne de commande, la boîte de dialogue utilise la date actuelle.

Options de la boîte de dialogue de calendrier :

`--text`=`texte`

- Spécifier le texte affiché dans la boîte de dialogue de calendrier.

`--day`=`jour`

- Spécifier le jour sélectionné dans la boîte de dialogue de calendrier. `jour` doit être un nombre compris entre 1 et 31 inclus.

`--month`=`mois`

- Spécifier le mois sélectionné dans la boîte de dialogue de calendrier. `mois` doit être un nombre compris entre 1 et 12 inclus.

`--year`=`année`

- Spécifier l'année sélectionnée dans la boîte de dialogue de calendrier.

`--date-format`=`format`

- Spécifier sous quel format la boîte de dialogue de calendrier retourne la date sélectionnée. Le format par défaut dépend de votre localisation. `format` doit être un format que la fonction `strftime` accepte, par exemple `%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

### Exemple de boîte de dialogue de calendrier

MateDialog calendar dialog example

## Boîte de dialogue de sélection de fichier

L'option `--file-selection` crée une boîte de dialogue de sélection de fichier. MateDialog retourne les fichiers ou les dossiers sélectionnés sur le flux de sortie standard. Par défaut, la boîte de dialogue de sélection de fichier est en mode ouverture.

Options de la boîte de dialogue de sélection de fichiers :

`--filename`=`nom_du_fichier`

- Spécifier le fichier ou le dossier sélectionné au premier affichage de la boîte de dialogue de sélection de fichier.

`--multiple`

- Permettre la sélection de plusieurs fichiers.

`--directory`

- Permettre uniquement la sélection de dossiers.

`--save`

- Mettre la boîte de dialogue de sélection de fichier en mode sauvegarde.

`--separator`=`séparateur`

- Spécifier le texte utilisé comme séparateur pour diviser la liste des noms de fichiers retournée.

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

### Exemple de boîte de dialogue de sélection de fichier

MateDialog file selection dialog example

## Icône de notification

`--text`=`texte`

- Spécifier le texte affiché dans la zone de notification.

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

            #!/bin/sh

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

### Exemple d'icône de notification

MateDialog notification icon example

## Boîte de dialogue de liste

L'option `--list` crée une boîte de dialogue de liste. MateDialog retourne les entrées de la première colonne de texte des lignes sélectionnées sur le flux de sortie standard.

Spécifiez les données de la boîte de dialogue colonne par colonne, ligne par ligne. Ces données peuvent être transmises par le flux d'entrée standard. Utilisez un retour chariot pour séparer chaque ligne de données.

Si vous utilisez les options `--checklist` ou `--radiolist`, chaque ligne doit commencer par 'TRUE' ou 'FALSE'.

Options de la boîte de dialogue de liste :

`--column`=`titre`

- Spécifier le titre de colonne affiché dans la boîte de dialogue de liste. Vous devez utiliser une option `--column` pour chaque colonne que vous voulez afficher dans la boîte de dialogue.

`--checklist`

- Utiliser des cases à cocher pour la première colonne de la liste.

`--radiolist`

- Utiliser des boutons radio pour la première colonne de la liste.

`--editable`

- Permettre l'édition des éléments affichés.

`--separator`=`séparateur`

- Spécifier le texte utilisé comme séparateur pour diviser la liste des entrées sélectionnées que la boîte de dialogue retourne.

`--print-column`=`colonne`

- Spécifier de quelle colonne afficher le contenu après sélection. La colonne par défaut est '1'. 'ALL' peut être utilisé pour afficher le contenu de toutes les colonnes de la liste.

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"

### Exemple de boîte de dialogue de liste

MateDialog list dialog example

## Boîtes de dialogue de message

MateDialog sait créer quatre types de boîte de dialogue de message :

- Erreur

- Information

- Question

- Avertissement

Pour chaque type, utilisez l'option `--text` pour spécifier le texte affiché dans la boîte de dialogue.

### Boîte de dialogue d'erreur

Utilisez l'option `--error` pour créer une boîte de dialogue d'erreur.

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

              #!/bin/bash

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

#### Exemple de boîte de dialogue d'erreur

MateDialog error dialog example

### Boîte de dialogue d'information

Utilisez l'option `--info` pour créer une boîte de dialogue d'information.

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

              #!/bin/bash

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

#### Exemple de boîte de dialogue d'information

MateDialog information dialog example

### Boîte de dialogue de question

Utilisez l'option `--question` pour créer une boîte de dialogue de question.

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

              #!/bin/bash

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

#### Exemple de boîte de dialogue de question

MateDialog question dialog example

### Boîte de dialogue d'avertissement

Utilisez l'option `--warning` pour créer une boîte de dialogue d'avertissement.

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

              #!/bin/bash

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

#### Exemple de boîte de dialogue d'avertissement

MateDialog warning dialog example

## Boîte de dialogue de barre de progression

L'option `--progress` crée une boîte de dialogue de barre de progression.

MateDialog lit les données à partir de l'entrée standard, ligne par ligne. Si une ligne commence par '#', le texte est mis à jour avec le texte de cette ligne. Si une ligne contient seulement un nombre, le pourcentage est mis à jour avec ce nombre.

Options de la boîte de dialogue de barre de progression :

`--text`=`texte`

- Spécifier le texte affiché dans la boîte de dialogue de barre de progression.

`--percentage`=`pourcentage`

- Spécifier le pourcentage initial réglé dans la boîte de dialogue de barre de progression.

`--auto-close`

- Fermer la boîte de dialogue quand la barre de progression atteint 100%.

`--pulsate`

- Utiliser une barre de progression discontinue jusqu'à ce qu'un caractère EOF soit lu sur l'entrée standard.

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

### Exemple de boîte de dialogue de barre de progression

MateDialog progress dialog example

## Boîte de dialogue de saisie

L'option `--entry` crée une boîte de dialogue de saisie. MateDialog retourne le texte saisi sur le flux de sortie standard.

Options de la boîte de saisie :

`--text`=`texte`

- Spécifier le texte affiché dans la boîte de dialogue de saisie.

`--entry-text`=`texte`

- Spécifier le texte affiché dans le champ de saisie de la boîte de dialogue.

`--hide-text`

- Cacher le texte dans le champ de saisie de la boîte de dialogue.

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

### Exemple de boîte de dialogue de saisie

MateDialog text entry dialog example

## Boîte de dialogue de texte d'information

L'option `--text-info` crée une boîte de dialogue de texte d'information.

Options de la boîte de dialogue de texte d'information :

`--filename`=`nom_du_fichier`

- Spécifier un fichier texte à charger dans la boîte de dialogue de texte d'information.

`--editable`

- Permettre l'édition du texte affiché. Le texte édité est retourné sur le flux de sortie standard à la fermeture de la boîte de dialogue.

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

### Exemple de boîte de dialogue de texte d'information

MateDialog text information dialog example