# Εγχειρίδιο του MateDialog

## Εισαγωγή

Η εφαρμογή MateDialog σας επιτρέπει να δημιουργήσετε τους παρακάτω τύπους απλών διαλόγων:

- Ημερολογίου

- Επιλογής αρχείου

- Λίστας

- Εικονίδιο ειδοποίησης

- Μηνυμάτων

  - Σφάλματος

  - Πληροφόρησης

  - Ερώτησης

  - Προειδοποίησης

- Ένδειξης προόδου

- Καταχώρησης κειμένου

- Πληροφοριών κειμένου

## Χρήση

Όταν γράφετε σενάρια, μπορείτε χρησιμοποιώντας το MateDialog να δημιουργήσετε απλούς διαλόγους που αλληλεπιδρούν γραφικά με τον χρήστη, ως εξής:

- Μπορείτε να δημιουργήσετε έναν διάλογο για να αποκτήσετε πληροφορίες από τον χρήστη. Για παράδειγμα, μπορείτε να προτρέψετε τον χρήστη να επιλέξει μία ημερομηνία από διάλογο ημερολογίου, ή να επιλέξει ένα αρχείο από διάλογο επιλογής αρχείου.

- Μπορείτε να δημιουργήσετε έναν διάλογο για να παρέχετε στον χρήστη πληροφορίες. Για παράδειγμα, χρησιμοποιώντας έναν διάλογο προόδου δείχνετε την τρέχουσα κατάσταση μίας εργασίας, ή μπορείτε να χρησιμοποιήσετε έναν διάλογο προειδοποίησης του χρήστη.

Όταν ο χρήστης κλείνει τον διάλογο, το MateDialog εκτυπώνει το κείμενο που παράχθηκε από αυτόν σαν τυπικό λάθος.

Όταν γράφετε εντολές για το MateDialog, βεβαιωθείτε ότι χρησιμοποιείτε εισαγωγικά σε κάθε όρισμα.

For example, use:

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

Do not use:

    matedialog --calendar --title=Holiday Planner

Αν δεν χρησιμοποιήσετε εισαγωγικά, μπορεί να πάρετε μη αναμενόμενα αποτελέσματα.

### Πλήκτρα πρόσβασης

Ένα πλήκτρο πρόσβασης σας επιτρέπει να εκτελέσετε μία ενέργεια από το πληκτρολόγιο χωρίς να χρησιμοποιήσετε το ποντίκι για να επιλέξετε μία εντολή από μενού ή διάλογο. Κάθε πλήκτρο πρόσβασης προσδιορίζεται από ένα υπογραμμισμένο γράμμα σε επιλογές μενού ή διαλόγων.

Κάποιοι από τους διαλόγους του MateDialog υποστηρίζουν την χρήση πλήκτρων πρόσβασης. Για να προσδιορίσετε τον χαρακτήρα που θα χρησιμοποιηθεί σαν πλήκτρο πρόσβασης, βάλτε μία υπογράμμιση _ πριν τον χαρακτήρα στο κείμενο του διαλόγου. Το παρακάτω παράδειγμα σας δείχνει πως να καθορίσετε το γράμμα Ε σαν πλήκτρο πρόσβασης:

    "_Choose a name".

### Κώδικες εξόδου (Exit codes)

Το MateDialog αποδίδει τους εξής κώδικες εξόδου:

Κώδικας εξόδου | Περιγραφή
`0` | Ο χρήστης πάτησε είτε το πλήκτρο Εντάξει είτε το πλήκτρο Κλείσιμο.
`1` | Ο χρήστης είτε πάτησε το πλήκτρο Ακύρωση, ή χρησιμοποίησε τις λειτουργίες του παραθύρου για να κλείσει τον διάλογο.
`-1` | Συνέβη ένα απρόσμενο σφάλμα.
`5` | Ο διάλογος έκλεισε λόγω συμπλήρωσης του χρονικού περιθωρίου.

### Γενικές επιλογές

Όλοι οι διάλογοι του MateDialog υποστηρίζουν τις παρακάτω γενικές επιλογές:

`--title`=`Τίτλος`

- Καθορίζει τον τίτλο του διαλόγου.

`--window-icon`=`διαδρομή του_εικονιδίου`

- Καθορίζει το εικονίδιο που προβάλλεται στο πλαίσιο παραθύρου του διαλόγου. Επίσης είναι διαθέσιμα 4 εικονίδια της εφαρμογής χρησιμοποιώντας τις εξής λέξεις κλειδιά - 'info', 'warning', 'question' και 'error'.

`--width`=`πλάτος`

- Καθορίζει το πλάτος του διαλόγου.

`--height`=`ύψος`

- Καθορίζει το ύψος του διαλόγου.

`--timeout`=`χρονικό περιθώριο`

- Καθορίζει το χρονικό περιθώριο σε δευτερόλεπτα μετά το οποίο ο διάλογος κλείνει.

### Επιλογές βοήθειας

Το MateDialog παρέχει τις παρακάτω επιλογές βοήθειας:

`--help`

- Προβάλλει σύντομο κείμενο βοήθειας.

`--help-all`

- Πλήρες κείμενο βοήθειας για όλους τους διαλόγους.

`--help-general`

- Προβάλλει κείμενο βοήθειας για τις γενικές επιλογές διαλόγου.

`--help-calendar`

- Προβάλλει κείμενο βοήθειας για τις επιλογές του διαλόγου ημερολογίου.

`--help-entry`

- Προβάλλει κείμενο βοήθειας για τις επιλογές του διαλόγου καταχώρησης κειμένου.

`--help-error`

- Προβάλλει κείμενο βοήθειας για τις επιλογές του διαλόγου εμφάνισης σφάλματος.

`--help-info`

- Προβάλλει κείμενο βοήθειας για τις επιλογές του διαλόγου πληροφοριών κειμένου.

`--help-file-selection`

- Προβάλλει κείμενο βοήθειας για τις επιλογές του διαλόγου επιλογής αρχείου.

`--help-list`

- Προβάλλει κείμενο βοήθειας για τις επιλογές του διαλόγου λίστας.

`--help-notification`

- Προβάλλει κείμενο βοήθειας για τις επιλογές του εικονιδίου ειδοποίησης.

`--help-progress`

- Προβάλλει κείμενο βοήθειας για τις επιλογές του διαλόγου ένδειξης προόδου.

`--help-question`

- Προβάλλει κείμενο βοήθειας για τις επιλογές του διαλόγου ερώτησης.

`--help-warning`

- Προβάλλει κείμενο βοήθειας για τις επιλογές του διαλόγου προειδοποίησης.

`--help-text-info`

- Προβάλλει κείμενο βοήθειας για τις επιλογές του διαλόγου πληροφοριών κειμένου.

`--help-misc`

- Προβάλλει κείμενο βοήθειας για διάφορες επιλογές.

`--help-gtk`

- Προβάλλει βοήθεια για τις επιλογές GTK+.

### Διάφορες επιλογές

Το MateDialog επίσης παρέχει τις παρακάτω διάφορες επιλογές:

`--about`

- Προβάλλει το παράθυρο διαλόγου Περί matedialog, που περιέχει πληροφορίες έκδοσης, πνευματικών δικαιωμάτων και υπευθύνων ανάπτυξης του MateDialog.

`--version`

- Εκτυπώνει την έκδοση του MateDialog.

### Επιλογές GTK+

Το MateDialog υποστηρίζει τις συνήθεις επιλογές του GTK+. Για περισσότερες πληροφορίες γύρω από αυτές, εκτελέστε την εντολή `matedialog -?`.

### Μεταβλητές περιβάλλοντος

Υπό κανονικές συνθήκες, το MateDialog ανιχνεύει το παράθυρο τερματικού από το οποίο εκκινήθηκε και παραμένει πάνω από αυτό το παράθυρο. Αυτή η συμπεριφορά μπορεί να ακυρωθεί απενεργοποιώντας την μεταβλητή περιβάλλοντος `WINDOWID`.

## Διάλογος ημερολογίου

Χρησιμοποιώντας την επιλογή `--calendar` δημιουργείτε έναν διάλογο ημερολογίου. Το MateDialog αποδίδει την επιλεγμένη ημερομηνία σαν κανονική έξοδο. Αν δεν καθοριστεί ημερομηνία στην γραμμή εντολών, ο διάλογος χρησιμοποιεί την τρέχουσα ημερομηνία.

Ο διάλογος ημερολογίου υποστηρίζει τις εξής επιλογές:

`--text`=`κείμενο`

- Καθορίζει το κείμενο που προβάλλεται στον διάλογο ημερολογίου.

`--day`=`ημέρα`

- Καθορίζει την ημέρα που επιλέγεται στον διάλογο ημερολογίου. Η `ημέρα` πρέπει να είναι ένας αριθμός από 1 έως και 31.

`--month`=`μήνας`

- Καθορίζει τον μήνα που επιλέγεται στον διάλογο ημερολογίου. Ο `μήνας` πρέπει να είναι ένας αριθμός από 1 έως και 12.

`--year`=`έτος`

- Καθορίζει το έτος που επιλέγεται στον διάλογο ημερολογίου.

`--date-format`=`μορφή`

- Καθορίζει την μορφή που αποδίδεται από τον διάλογο ημερολογίου μετά την επιλογή ημερομηνίας. Η προεπιλεγμένη μορφή εξαρτάται από την προσαρμογή εντοπιότητας(locale) που χρησιμοποιείτε. Η `μορφή` πρέπει να συντάσσεται έτσι ώστε να γίνεται αποδεκτή από την λειτουργία `strftime`, για παράδειγμα `%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

### Παράδειγμα διαλόγου ημερολογίου

MateDialog calendar dialog example

## Διάλογος επιλογής αρχείου

Με την χρήση της επιλογής `--file-selection` δημιουργείτε ένα διάλογο επιλογής αρχείου. Το MateDialog αποδίδει τα επιλεγμένα αρχεία ή καταλόγους σαν κανονική έξοδο. Η προεπιλεγμένη κατάσταση λειτουργίας του διαλόγου επιλογής αρχείου είναι άνοιγμα.

Ο διάλογος επιλογής αρχείου υποστηρίζει τις παρακάτω επιλογές:

`--filename`=`όνομα αρχείου`

- Καθορίζει το αρχείο ή τον κατάλογο που είναι επιλεγμένος στον διάλογο επιλογής αρχείου όταν ανοίγει.

`--multiple`

- Επιτρέπει την επιλογή πολλών ονομάτων αρχείου στον διάλογο επιλογής αρχείου.

`--directory`

- Επιτρέπει μόνο την επιλογή καταλόγων στον διάλογο επιλογής αρχείου.

`--save`

- Ρύθμιση του διαλόγου επιλογής αρχείου σε κατάσταση λειτουργίας αποθήκευσης.

`--separator`=`διαχωριστικό`

- Καθορίζει την συμβολοσειρά που χρησιμοποιείται για να διαχωρίσει την αποδοθείσα λίστα ονομάτων.

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

### Παράδειγμα διαλόγου επιλογής αρχείου

MateDialog file selection dialog example

## Εικονίδιο ειδοποίησης

`--text`=`κείμενο`

- Καθορίζει το κείμενο που προβάλλεται στην περιοχή ειδοποίησης.

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

            #!/bin/sh

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

### Παράδειγμα εικονιδίου ειδοποίησης

MateDialog notification icon example

## Διάλογος λίστας

Χρησιμοποιήστε την επιλογή `--list` για να δημιουργήσετε διαλόγους λίστας. Το MateDialog αποδίδει τις εγγραφές της πρώτης στήλης κειμένου των επιλεγμένων σειρών σαν κανονική έξοδο.

Τα δεδομένα για τον διάλογο πρέπει να οριστούν ανά στήλη και ανά σειρά. Μπορείτε να δώσετε τα δεδομένα στον διάλογο με κανονική εισαγωγή. Κάθε εγγραφή πρέπει να διαχωρίζεται από χαρακτήρα νέας γραμμής.

Αν χρησιμοποιήσετε την επιλογή `--checklist` ή `--radiolist`, κάθε σειρά πρέπει να αρχίζει με 'TRUE' or 'FALSE'.

Ο διάλογος λίστας υποστηρίζει τις παρακάτω επιλογές:

`--column`=`στήλη`

- Καθορίζει τις κεφαλίδες των στηλών που προβάλλονται στον διάλογο λίστας. Πρέπει να ορίσετε μία επιλογή `στήλη` για κάθε στήλη που θέλετε να προβάλλετε στον διάλογο.

`--checklist`

- Καθορίζει ότι η πρώτη στήλη του διαλόγου λίστας περιέχει κουτιά επιλογής.

`--radiolist`

- Καθορίζει ότι η πρώτη στήλη του διαλόγου λίστας περιέχει κουμπιά επιλογής.

`--editable`

- Επιτρέπει την επεξεργασία των προβαλλόμενων αντικειμένων.

`--separator`=`διαχωριστικό`

- Καθορίζει ποια συμβολοσειρά χρησιμοποιείται όταν ο διάλογος λίστας αποδίδει τις επιλεγμένες εγγραφές.

`--print-column`=`στήλη`

- Καθορίζει ποια στήλη πρέπει να τυπώνεται σαν αποτέλεσμα κατά την επιλογή. Η προεπιλεγμένη στήλη είναι '1'. Το 'ALL' μπορεί να χρησιμοποιηθεί για να εκτυπωθούν όλες οι στήλες της λίστας.

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"

### Παράδειγμα διαλόγου λίστας

MateDialog list dialog example

## Διάλογοι μηνυμάτων

Το MateDialog μπορεί να δημιουργήσει τέσσερεις τύπους διαλόγων μηνύματος:

- Σφάλματος

- Πληροφόρησης

- Ερώτησης

- Προειδοποίησης

Για κάθε τύπο, χρησιμοποιήστε την επιλογή `--text` για να καθορίσετε το κείμενο που θα προβάλλεται στον διάλογο.

### Διάλογος σφάλματος

Χρησιμοποιήστε την επιλογή `--error` για την δημιουργία διαλόγου σφάλματος.

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

              #!/bin/bash

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

#### Παράδειγμα διαλόγου σφάλματος

MateDialog error dialog example

### Διάλογος πληροφόρησης

Χρησιμοποιήστε την επιλογή `--info` για να δημιουργήσετε έναν διάλογο πληροφόρησης.

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

              #!/bin/bash

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

#### Παράδειγμα διαλόγου πληροφόρησης

MateDialog information dialog example

### Διάλογος ερώτησης

Χρησιμοποιήστε την επιλογή `--question` για να δημιουργήσετε έναν διάλογο ερώτησης.

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

              #!/bin/bash

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

#### Παράδειγμα διαλόγου ερώτησης

MateDialog question dialog example

### Διάλογος προειδοποίησης

Χρησιμοποιήστε την επιλογή `--warning` για να δημιουργήσετε έναν διάλογο προειδοποίησης.

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

              #!/bin/bash

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

#### Παράδειγμα διαλόγου προειδοποίησης

MateDialog warning dialog example

## Διάλογος ένδειξης προόδου

Χρησιμοποιήστε την επιλογή `--progress` για να δημιουργήσετε έναν διάλογο ένδειξης προόδου.

Το MateDialog διαβάζει τα δεδομένα εισόδου ανά γραμμή. Αν μία γραμμή αρχίζει με #, το κείμενο ενημερώνεται με το κείμενο της γραμμής. Αν η γραμμή περιέχει μόνο έναν αριθμό, το ποσοστό ενημερώνεται με αυτόν τον αριθμό.

Ο διάλογος ένδειξης προόδου υποστηρίζει τις παρακάτω επιλογές:

`--text`=`κείμενο`

- Καθορίζει το κείμενο που προβάλλεται στο διάλογο ένδειξης προόδου.

`--percentage`=`ποσοστό`

- Καθορίζει το αρχικό ποσοστό που μπαίνει στον διάλογο ένδειξης προόδου.

`--auto-close`

- Κλείνει τον διάλογο ενημέρωσης προόδου όταν επιτευχθεί το 100%.

`--pulsate`

- Ορίζει ότι η μπάρα προόδου πάλλεται έως ότου διαβαστεί ένας χαρακτήρας EOF από την κανονική είσοδο.

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

### Παράδειγμα διαλόγου ένδειξης προόδου

MateDialog progress dialog example

## Διάλογος καταχώρησης κειμένου

Use the `--entry` option to create a text entry dialog. MateDialog returns the contents of the text entry to standard output.

Ο διάλογος καταχώρησης κειμένου υποστηρίζει τις ακόλουθες επιλογές:

`--text`=`κείμενο`

- Καθορίζει το κείμενο που προβάλλεται στον διάλογο καταχώρησης κειμένου.

`--entry-text`=`κείμενο`

- Καθορίζει το κείμενο που προβάλλεται στο πεδίο εισαγωγής του διαλόγου καταχώρησης κειμένου.

`--hide-text`

- Αποκρύπτει το κείμενο στο πεδίο εισαγωγής του διαλόγου καταχώρησης κειμένου.

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

### Παράδειγμα διαλόγου καταχώρησης κειμένου

MateDialog text entry dialog example

## Διάλογος πληροφορίων κειμένου

Χρησιμοποιήστε την επιλογή `--text-info` για να δημιουργήσετε έναν διάλογο πληροφοριών κειμένου.

Ο διάλογος πληροφοριών κειμένου υποστηρίζει τις παρακάτω επιλογές:

`--filename`=`όνομα αρχείου`

- Καθορίζει ένα αρχείο που φορτώνεται στον διάλογο πληροφοριών κειμένου.

`--editable`

- Επιτρέπει την επεξεργασία του προβαλλόμενου κειμένου. Το επεξεργασμένο κείμενο αποδίδεται σαν κανονική έξοδος όταν κλείνει ο διάλογος.

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

### Παράδειγμα διαλόγου πληροφοριών κειμένου

MateDialog text information dialog example