# Příručka k aplikaci Zenity

## Úvod

Aplikace Zenity vám umožňuje vytvářet následující typy jednoduchých dialogových oken:

- Kalendář

- Výběr souboru

- Seznam

- Oznamovací ikona

- Zpráva

  - Chybové hlášení

  - Informační hlášení

  - Dotaz

  - Varovné hlášení

- Ukazatel průběhu

- Textový vstup

- Textová informace

## Použití

Pokud píšete skripty, můžete využít aplikaci Zenity k vytváření jednoduchých dialogových oken, díky čemuž můžete graficky komunikovat s uživatelem. Využití je pro následující dva účely:

- Můžete vytvořit dialogové okno k získání informací od uživatele. Například se můžete uživatele dotázat na datum pomocí výběru z dialogového okna s kalendářem nebo na název souboru pomocí dialogového okna pro výběr souboru.

- Můžete vytvořit dialogové okno pro sdělení informace uživateli. Například můžete použít dialogové okno s ukazatelem průběhu k informování o stavu operace nebo dialogové okno s varovnou zprávou k upozornění uživatele.

Po té, co uživatel zavře dialog, vypíše aplikace Zenity text vytvořený dialogem na standardní výstup.

Při zapisování příkazů Zenity se ujistěte, že máte všechny argumenty uzavřené do uvozovek.

Například, používejte:

    zenity --calendar --title="Plánovač svátků"

Nepoužívejte:

    zenity --calendar --title=Plánovač svátků

Pokud uvozovky nepoužijete, můžete získat nepředvídatelné výsledky.

### Horké klávesy

Horké klávesy jsou klávesy, které vám umožňují provádět činnost z klávesnice místo abyste museli použít myš k výběru z nabídky nebo dialogového okna. Každá horká klávesa je symbolizovaná podtržením příslušného písmene v položce nabídky nebo dialogového okna.

Některá dialogová okna Zenity podporují horké klávesy. Pokud chcete určit, že některý znak má fungovat jako horká klávesa, umístěte před něj podtržítko. Následující příklad ukazuje, jak určit jako horkou klávesu znak „Z“

    "_Změnit název"

### Návratové kódy

Zenity vrací následující návratové kódy:

Návratový kód | Popis
`0` | Uživatel zmáčkl buď OK nebo Zavřít.
`1` | Uživatel buď zmáčkl Zrušit nebo použil ovládací prvky okna k zavření dialogu.
`-1` | Vyskytla se neznámá chyba.
`5` | Dialogové okno bylo zavřeno, protože vypršel časový limit.

### Všeobecné přepínače

Všechna dialogová okna Zenity podporují následující všeobecné přepínače:

`--title`=`název`

- Určuje název dialogového okna.

`--window-icon`=`cesta_k_ikoně`

- Určuje ikonu, která se zobrazí v záhlaví dialogového okna. K dispozici jsou také 4 předdefinované ikony dostupné pomocí klíčových slov „info“ (informace), „warning“ (varování), „question“ (dotaz) a „error“ (chyba).

`--width`=`šířka`

- Určuje šířku dialogového okna.

`--height`=`výška`

- Určuje výšku dialogového okna.

`--timeout`=`časový_limit`

- Určuje časový limit v sekundách, po kterém se dialog zavře.

### Přepínače nápovědy

Zenity poskytuje následující přepínače pro nápovědu:

`--help`

- Zobrazí zkrácenou nápovědu.

`--help-all`

- Zobrazí celou nápovědu pro všechny typy dialogových oken.

`--help-general`

- Zobrazí nápovědu pro všeobecné přepínače dialogových oken.

`--help-calendar`

- Zobrazí nápovědu pro přepínače dialogového okna s kalendářem.

`--help-entry`

- Zobrazí nápovědu pro přepínače dialogového okna na vkládání údajů.

`--help-error`

- Zobrazí nápovědu pro přepínače dialogového okna s chybovým hlášením.

`--help-info`

- Zobrazí nápovědu pro přepínače dialogového okna s informačním hlášením.

`--help-file-selection`

- Zobrazí nápovědu pro přepínače dialogového okna na výběr souboru.

`--help-list`

- Zobrazí nápovědu pro přepínače dialogového okna se seznamem.

`--help-notification`

- Zobrazí nápovědu pro přepínače oznamovací ikony.

`--help-progress`

- Zobrazí nápovědu pro přepínače dialogového okna s ukazatele průběhu.

`--help-question`

- Zobrazí nápovědu pro přepínače dialogového okna s dotazem.

`--help-warning`

- Zobrazí nápovědu pro přepínače dialogového okna s varovným hlášením.

`--help-text-info`

- Zobrazí nápovědu pro přepínače dialogového okna s informačním textem.

`--help-misc`

- Zobrazí nápovědu pro různé přepínače.

`--help-gtk`

- Zobrazí nápovědu pro přepínače GTK+.

### Různé přepínače

Zenity také poskytuje následující různorodé přepínače:

`--about`

- Zobrazí dialogové okno O aplikaci Zenity, které obsahuje informace o verzi Zenity, informace o autorských právech a informace o vývojářích.

`--version`

- Zobrazí číslo verze aplikace Zenity.

### Přepínače GTK+

Aplikace Zenity podporuje standardní přepínače GTK+. Více informací o přepínačích GTK+ získáte spuštěním příkazu `zenity -?`.

### Proměnné prostředí

Normálně Zenity detekuje terminálové okno, ze kterého byla spuštěná a drží se nad tímto oknem. Toto chování lze zakázat zrušením nastavení proměnné prostředí `WINDOWID`.

## Dialogové okno s kalendářem

K vytvoření dialogového okna s kalendářem použijte přepínač `--calendar`. Aplikace Zenity vrátí vybrané datum na standardní výstup. Pokud neurčíte v příkazovém řádku žádné datum, použije se aktuální.

Dialogové okno s kalendářem podporuje následující přepínače:

`--text`=`text`

- Určuje text, který se v dialogovém okně s kalendářem zobrazí.

`--day`=`den`

- Určuje den, který bude v kalendáři vybraný. `den` musí být číslo v rozmezí 1 až 31 včetně.

`--month`=`měsíc`

- Určuje měsíc, který bude v kalendáři vybraný. `měsíc` musí být číslo v rozmezí 1 až 12 včetně.

`--year`=`rok`

- Určuje rok, který bude v kalendáři vybraný.

`--date-format`=`formát`

- Určuje formát, v jakém má dialogové okno s kalendářem vrátit vybrané datum. Výchozí formát je daný vaším národním prostředím. `formát` musí být formát, který akceptuje funkce `strftime`, např. `%A %d/%m/%y`.

Následující příklad skriptu ukazuje, jak vytvořit dialogové okno s kalendářem:

            #!/bin/sh

            if zenity --calendar \
            --title="Výběr data" \
            --text="Vyberte datum kliknutím v kalendáři." \
            --day=10 --month=8 --year=2004
              then echo $?
              else echo "Žádné datum nebylo vybráno"
            fi

### Příklad dialogového okna s kalendářem

Zenity ukázka dialogového okna s kalendářem

## Dialogové okno s výběrem souboru

K vytvoření dialogového okna s výběrem souboru použijte přepínač `--file-selection`. Aplikace Zenity vrátí vybrané soubory nebo složky na standardní výstup. Výchozí režim dialogového okna s výběrem souboru je open (otevřít).

Dialogové okno s výběrem souboru podporuje následující přepínače:

`--filename`=`název_souboru`

- Určuje soubor nebo složku, kteří budou vybraní po prvním spuštění dialogového okna.

`--multiple`

- Umožní v dialogovém okně vybrat více souborů naráz.

`--directory`

- Umožní v dialogovém okně pouze výběr složek.

`--save`

- Přepne dialogové okno s výběrem souboru do režimu save (uložit).

`--separator`=`oddělovač`

- Určuje řetězec, který se použije k oddělení jednotlivých názvů souborů ve vráceném seznamu.

Následující příklad skriptu ukazuje, jak vytvořit dialogové okno s výběrem souboru:

            #!/bin/sh

            FILE=`zenity --file-selection --title="Výběr souboru"`

            case $? in
                     0)
                            echo "Vybrán soubor „$FILE“.";;
                     1)
                            echo "Nebyl vybrán žádný soubor.";;
                    -1)
                            echo "Nebyl vybrán žádný soubor.";;
            esac

### Příklad dialogového okna na výběr souboru

Zenity ukázka dialogového okna na výběr souboru

## Oznamovací ikona

`--text`=`text`

- Určuje text, který se zobrazí v oznamovací oblasti.

Následující příklad skriptu ukazuje, jak vytvořit oznamovací ikonu:

            #!/bin/sh

            zenity --notification\
              --window-icon="info" \
              --text="Jsou k dispozici důležité aktualizace!"

### Příklad oznamovací ikony

Zenity ukázka oznamovací ikony

## Dialogové okno se seznamem

K vytvoření dialogového okna se seznamem použijte přepínač `--list`. Aplikace Zenity vrátí položky z prvního sloupce vybraných řádků na standardní výstup.

Data pro dialogové okno se musí zadat sloupec po sloupci, řádek po řádku. Data lze dialogovému oknu předat i přes standardní vstup. Každá položka musí být oddělená znakem nového řádku.

Pokud použijete přepínače `--checklist` nebo `--radiolist`, musí každý řádek začínat buď hodnotou „TRUE“ (bude zaškrtnuté) nebo „FALSE“ (nebude zaškrtnuté).

Dialogové okno se seznamem podporuje následující přepínače:

`--column`=`sloupec`

- Určuje záhlaví sloupců zobrazených v seznamu. Přepínač `--column` musíte zadat opakovaně zvlášť pro každý ze sloupců, které chcete v seznamu zobrazit.

`--checklist`

- Určuje, že první sloupec v seznamu bude obsahovat zaškrtávací pole.

`--radiolist`

- Určuje, že první sloupec v seznamu bude obsahovat skupinový přepínač.

`--editable`

- Povolit v zobrazených položkách provádění úprav.

`--separator`=`oddělovač`

- Určuje řetězec použitý jako oddělovač vybraných položek seznamu, které dialogové okno vrátí.

`--print-column`=`sloupec`

- Určuje sloupec, který se má z vybraného řádku vracet. Výchozí hodnota je „1“. Pokud chcete vrátit všechny sloupce seznamu, můžete použít hodnotu „ALL“.

Následující příklad skriptu ukazuje, jak vytvořit dialogové okno se seznamem:

            #!/bin/sh

            zenity --list \
              --title="Vyberte chybu, kterou chcete zobrazit" \
              --column="Číslo chyby" --column="Priorita" --column="Popis" \
                992383 Normální "GtkTreeView se hroutí při výběru více položek" \
                293823 Vysoká "Slovník GNOME neumí pracovat s proxy" \
                393823 Kritická "Úprava nabídek nefunguje v GNOME 2.0"

### Příklad dialogového okna se seznamem

Zenity ukázka dialogového okna se seznamem

## Dialogové okno s hlášením

Aplikace Zenity umí vytvářet čtyři typy dialogových oken s hlášením:

- Chybové hlášení

- Informační hlášení

- Dotaz

- Varovné hlášení

U každého z typů použijte přepínač `--text` k zadání textu, který se má v dialogovém okně zobrazit.

### Dialogové okno s chybovým hlášením

K vytvoření dialogového okna s chybovým hlášením použijte přepínač `--error`.

Následující příklad skriptu ukazuje, jak vytvořit dialogové okno s chybovým hlášením:

              #!/bin/bash

              zenity --error \
              --text="Nelze najít /var/log/syslog."

#### Příklad dialogového okna s chybovým hlášením

Zenity ukázka dialogového okna s chybovým hlášením

### Dialogové okno s informačním hlášením

K vytvoření dialogového okna s informačním hlášením použijte přepínač `--info`.

Následující příklad skriptu ukazuje, jak vytvořit dialogové okno s informačním hlášením:

              #!/bin/bash

              zenity --info \
              --text="Sloučení dokončeno. Aktualizovány 3 z 10 souborů."

#### Příklad dialogového okna s informačním hlášením

Zenity ukázka dialogového okna s informačním hlášením

### Dialogové okno s dotazem

K vytvoření dialogového okna s dotazem použijte přepínač `--question`.

Následující příklad skriptu ukazuje, jak vytvořit dialogové okno s dotazem:

              #!/bin/bash

              zenity --question \
              --text="Opravdu chcete pokračovat?"

#### Příklad dialogového okna s dotazem

Zenity ukázka dialogového okna s dotazem

### Dialogové okno s varovným hlášením

K vytvoření dialogového okna s varovným hlášením použijte přepínač `--warning`.

Následující příklad skriptu ukazuje, jak vytvořit dialogové okno s varovným hlášením:

              #!/bin/bash

              zenity --warning \
              --text="Odpojte kabel napájení, abyste předešli poškození."

#### Příklad dialogového okna s varovným hlášením

Zenity ukázka dialogového okna s varovným hlášením

## Dialogové okno s ukazatelem průběhu

K vytvoření dialogového okna s ukazatelem průběhu použijte přepínač `--progress`.

Aplikace Zenity čte data ze standardního vstupu řádek po řádku. Když řádek začíná znakem #, provede se aktualizace textu pomocí textu na zbytku tohoto řádku. Když řádek obsahuje pouze číslo, aktualizují se procenta ukazatele.

Dialogové okno s ukazatelem průběhu podporuje následující přepínače:

`--text`=`text`

- Určuje text, který se má v dialogovém okně zobrazit.

`--percentage`=`procenta`

- Určuje počáteční stav procent, na které se má ukazatel průběhu nastavit.

`--auto-close`

- Zavřít dialogové okno po dosažení 100%.

`--pulsate`

- Určuje, že ukazatel průběhu bude pulzovat, dokud se ze standardního vstupu nenačte znak EOF (konce souboru).

Následující příklad skriptu ukazuje, jak vytvořit dialogové okno s ukazatelem průběhu:

            #!/bin/sh
            (
            echo "10" ; sleep 1
            echo "# Aktualizuje se evidence e-mailů" ; sleep 1
            echo "20" ; sleep 1
            echo "# Restartují se úlohy cronu" ; sleep 1
            echo "50" ; sleep 1
            echo "Tento řádek se bude ignorovat" ; sleep 1
            echo "75" ; sleep 1
            echo "# Restartuje se systém" ; sleep 1
            echo "100" ; sleep 1
            ) |
            zenity --progress \
              --title="Aktualizace systémové evidence" \
              --text="Prohledává se evidence e-mailů..." \
              --percentage=0

            if [ "$?" = -1 ] ; then
                    zenity --error \
                      --text="Aktualizace přerušena."
            fi

### Příklad dialogového okna s ukazatelem průběhu

Zenity ukázka dialogového okna s ukazatelem průběhu

## Dialogové okno s vkládáním údajů

K vytvoření dialogového okna s textovým vstupem použijte přepínač `--entry`. Aplikace Zenity vrátí zadaný text na standardní výstup.

Dialogové okno s vkládáním údajů podporuje následující přepínače:

`--text`=`text`

- Určuje text, který se má v dialogovém okně zobrazit.

`--entry-text`=`text`

- Určujte text, který se má zobrazit ve vstupním poli dialogového okna.

`--hide-text`

- Skrýt text ve vstupním poli dialogového okna.

Následující příklad skriptu ukazuje, jak vytvořit dialogové okno s vkládáním údajů:

            #!/bin/sh

            if zenity --entry \
            --title="Zadání údajů" \
            --text="Zadejte své heslo:" \
            --entry-text "heslo" \
            --hide-text
              then echo $?
              else echo "Heslo nebylo zadáno"
            fi

### Příklad dialogového okna na vkládání údajů

Zenity ukázka dialogového okna na vkládání údajů

## Dialogové okno s informačním textem

K vytvoření dialogového okna s informačním textem použijte přepínač `--text-info`.

Dialogové okno s informačním textem podporuje následující přepínače:

`--filename`=`název_souboru`

- Určuje soubor, ze kterého se má do dialogového okna načíst text.

`--editable`

- Povolit provádění úprav zobrazeného textu. Upravený text bude po zavření dialogového okna vrácen na standardní výstup.

Následující příklad skriptu ukazuje, jak vytvořit dialogové okno s informačním textem:

            #!/bin/sh

            FILE=`zenity --file-selection \
              --title="Výběr souboru"`

            case $? in
                     0)
                            zenity --text-info \
                              --title=$FILE \
                              --filename=$FILE \
                              --editable 2>/tmp/tmp.txt;;
                     1)
                            echo "Nebyl vybrán žádný soubor.";;
                    -1)
                            echo "Nebyl vybrán žádný soubor.";;
            esac

### Příklad dialogového okna s informačním textem

Zenity ukázka dialogového okna s informačním textem