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

## Въведение

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

- Календар

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

- Списък

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

- Съобщение

  - Грешка

  - Информация

  - Въпрос

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

- Прогрес

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

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

## Употреба

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

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

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

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

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

Например, използвайте:

    matedialog --calendar --title="Планиране на почивка"

Не използвайте:

    matedialog --calendar --title=Планиране на почивка

.

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

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

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

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

    "_Изберете име".

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

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

Следният примерен скрипт показва как да създадете прозорец с календар:

            #!/bin/sh

            if matedialog --calendar \
            --title="Изберете дата" \
            --text="Натиснете върху дата, за да я изберете." \
            --day=10 --month=8 --year=2004
              then echo $?
              else echo "Няма избрана даата"
            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`=`разделител`

- Определя низа използван за разделяне на върнатия списък от файлови имена.

Следният примерен скрипт показва как да създадете прозорец за избро на файлове:

            #!/bin/sh

            FILE=`matedialog --file-selection --title="Изберете файл"`

            case $? in
                     0)
                            echo "Избран е файлът \"$FILE\".";;
                     1)
                            echo "Няма избран файл.";;
                    -1)
                            echo "Няма избран файл.";;
            esac

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

MateDialog file selection dialog example

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

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

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

Следният примерен скрипт показва как да създадете икона за уведомяване:

            #!/bin/sh

            matedialog --notification\
              --window-icon="info" \
              --text="Има налични обновления по системата!"

### Примерна икона за уведомяване

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" може да се използва, за да се изведат всички колони в списъка.

Следният пример показва как да създадете списъчен прозорец:

            #!/bin/sh

            matedialog --list \
              --title="Изберете грешките, които искате да прегледате" \
              --column="Номер на грешка" --column="Сериозност" --column="Описание" \
                992383 Нормална "GtkTreeView забива при множествен избор" \
                293823 Висока "MATE Dictionary не поддържа сървър посредник" \
                393823 Критична "Редактирането на менюто не работи в MATE 2.0"

### Пример за прозорец със списък

MateDialog list dialog example

## Прозорци със съобщения

MateDialog може да създава четири вида прозорци със съобщения:

- Грешка

- Информация

- Въпрос

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

За всеки вид, използвайте настройката `--text`, за да определите текста, който да се показва в прозореца.

### Прозорец за грешка

Използвайте настройката `--error`, за да създадете прозорец за грешка.

Следният примерен скрипт показва как да създадете прозорец за грепка:

              #!/bin/bash

              matedialog --error \
              --text="Не може да се открие /var/log/syslog."

#### Пример за прозорец за грешка

MateDialog error dialog example

### Прозорец за информация

Използвайте настройката `--info`, за да създадете прозорец за информация.

Следният примерен скрипт показва как да създадете прозорец за информация:

              #!/bin/bash

              matedialog --info \
              --text="Сливането е завършено. Обновени са 3 от 10 файла."

#### Пример за прозорец за информация

MateDialog information dialog example

### Прозорец за въпроси

Използвайте настройката `--question`, за да създадете прозорец за въпроси.

Следният примерен скрипт показва как да създадете прозорец за въпроси:

              #!/bin/bash

              matedialog --question \
              --text="Сигурни ли сте, че искате да продължите?"

#### Пример за прозорец за въпроси

MateDialog question dialog example

### Прозорец за предупреждение

Използвайте настройката `--warning`, за да създадете прозорец за предупреждение.

Следният примерен скрипт показва как да създадете прозорец за предупреждение:

              #!/bin/bash

              matedialog --warning \
              --text="Изключете захранващия кабел, за да избегнете токов удар."

#### Пример за прозорец за предупреждение

MateDialog warning dialog example

## Прозорец за прогрес

Използвайте настройката `--progress`, за да създадете прозорец за прогрес.

MateDialog чете данни от стандартния вход ред по ред. Ако някой ред започва с #, текстът се обновява с текста на този ред. Ако ред съдържа само число, процентът се обновява към това число.

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

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

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

`--percentage`=`проценти`

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

`--auto-close`

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

`--pulsate`

- Указва, че лентата за прогреса пулсира докато във входа не се достигне до знака EOF.

Следният примерен скрипт показва как да създадете прозорец с прогрес:

            #!/bin/sh
            (
            echo "10" ; sleep 1
            echo "# Обновяване на пощенските журнали" ; sleep 1
            echo "20" ; sleep 1
            echo "# Зануляване на cron" ; sleep 1
            echo "50" ; sleep 1
            echo "Този ред просто ще бъде игнориран" ; sleep 1
            echo "75" ; sleep 1
            echo "# Рестартиране на системата" ; sleep 1
            echo "100" ; sleep 1
            ) |
            matedialog --progress \
              --title="Обновяване на системните журнали" \
              --text="Сканиране на пощенските журнали..." \
              --percentage=0

            if [ "$?" = -1 ] ; then
                    matedialog --error \
                      --text="Обновяването е отказано."
            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`

- Скрива текста в полето за въвеждане на текст в прозореца за въвеждане на текст.

Следният примерен скрипт показва как да създадете прозорец за въвеждане на текст:

            #!/bin/sh

            if matedialog --entry \
            --title="Добавяне на запис" \
            --text="Въведете _паролата си:" \
            --entry-text "парола" \
            --hide-text
              then echo $?
              else echo "Няма въведена парола"
            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.

Следният примерен скрипт показва как да създадете прозорец с текстова информация:

            #!/bin/sh

            FILE=`matedialog --file-selection \
              --title="Избор на файл"`

            case $? in
                     0)
                            matedialog --text-info \
                              --title=$FILE \
                              --filename=$FILE \
                              --editable 2>/tmp/tmp.txt;;
                     1)
                            echo "Няма избран файл.";;
                    -1)
                            echo "Няма избран файл.";;
            esac

### Пример за прозорец с текстова информация

MateDialog text information dialog example