# Ръководство за MateDialog

## Въведение

MateDialog Ви позволява да създавате следните видове прости диалогови прозорци:

- Календар

- Избор на файл

- Списък

- Икона за уведомяване

- Съобщение

  - Грешка

  - Информация

  - Въпрос

  - Предупреждение

- Прогрес

- Текстово поле

- Текстова информация

## Употреба

Когато пишете скриптове, може да използвате MateDialog, за да създавате прости диалогови прозорци, които да интерактират графично с потребителя, както следва:

- Може да създавате прозорци, които да изискват информация от потребителя. Примерно, може да питате потребителя да изберете дата от календарен прозорец или да избере файл от прозорец за избор на файл.

- Може да създавате прозорци, които да предоставят информация на потребителя. Примерно, може да използвате прозорец за прогрес, за да покажете текущото състояние на операция или да използвате предупредително съобщение, за да сигнализирате за нещо на потребителя.

When the user closes the dialog, MateDialog prints the text produced by the dialog to standard output.

Когато пишете MateDialog команди, се уверете, че сте поставили кавички около всеки аргумент.

For example, use:

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

Do not use:

    matedialog --calendar --title=Holiday Planner

Ако не използвате кавички, може да получите неочаквани резулати.

### Бързи клавиши

Бързият клавиш е клавиш, който Ви позволява да извършвате действие от клавиатурата без да използвате мишката, за да изберете командата от менюто или прозореца. Всеки бърз клавиш се идентифицира от подчертана буква в менюто или прозореца.

Някои прозорци на MateDialog поддържат използването на бързи клавиши. За да определите символа, който да се използва като бърз клавиш поставете долна черна пред символа в текста на прозореца. Следният пример показва как да определите буквата "И", като бърз клавиш:

    "_Choose a name".

### Изходни кодове

MateDialog връща следните изходни кодове:

Изходен код | Описание
`0` | Потребителят е натиснал или Добре или Затваряне.
`1` | Потребителят е натиснал Отказ или е използвал функциите на прозореца, за да го затвори.
`-1` | Възникнала е неочаквана грешка.
`5` | The dialog has been closed because the timeout has been reached.

### Общи настройки

Всички MateDialog прозорци поддържат следните общи настройки:

`--title`=`заглавие`

- Определя заглавието на прозореца.

`--window-icon`=`път_до_иконата`

- Определя иконата, която ще се показва в рамката на прозореца. Има 4 генерални икони, които са налични чрез доставяне на следните ключови думи - 'info', warning', 'question' и 'error'.

`--width`=`ширина`

- Определя ширината на прозореца.

`--height`=`височина`

- Определя височината на прозореца.

`--timeout`=`timeout`

- Specifies the timeout in seconds after which the dialog is closed.

### Настройки на помощта

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+ настройки. За повече информация относно настройките на GTK+, изпълнете командата `matedialog -?`

### Environment Variables

Normally, MateDialog detects the terminal window from which it was launched and keeps itself above that window. This behavior can be disabled by unsetting the `WINDOWID` environment variable.

## Прозорец с календар

Use the `--calendar` option to create a calendar dialog. MateDialog returns the selected date to standard output. If no date is specified on the command line, the dialog uses the current date.

Прозорецът с календар поддържа следните настройки:

`--text`=`текст`

- Определя текста, който се показва в прозореца с календар.

`--day`=`ден`

- Определя деня, който е избран в прозореца с календар. `Денят` може да е число между 1 и 31, включително.

`--month`=`месец`

- Определя месеца, който е избран в прозореца с календар. `Месецът` трябва да е число между 1 и 12, включително.

`--year`=`година`

- Определя годината, която е избрана в календарния прозорец.

`--date-format`=`формат`

- Определя формата, който е върнат от календарния прозорец след избора на дата. Стандартният формат зависи от локалата Ви. `Форматът` трябва да е формат, който се приема от функцията `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

## Прозорец за избор на файлове

Use the `--file-selection` option to create a file selection dialog. MateDialog returns the selected files or directories to standard output. The default mode of the file selection dialog is open.

Прозорецът за избор на файлове поддържа следните опции:

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

## Списъчен прозорец

Use the `--list` option to create a list dialog. MateDialog returns the entries in the first column of text of selected rows to standard output.

Данните за прозореца трябва да бъдат определени колона по колона, ред по ред. Данните могат да бъдат предоставени на прозореца през стандартния вход. Всеки запис трябва да бъде разделен от символ за нов ред.

Ако използвате настройките `--checklist` или `--radiolist`, всеки ред трябва да започва или с 'TRUE', или с 'FALSE'.

Прозорецът със списък поддържа следните настройки:

`--column`=`колона`

- Определя заглавната част на колоните, които се показват в списъка. Трябва да определите настройката `--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`

- Затваря прозореца за прогрес, когато се достигнат стоте процента.

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

- Allows the displayed text to be edited. The edited text is returned to standard output when the dialog is closed.

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