# Příručka k aplikaci Zenity

Příručka V2.0 k aplikaci Zenity

2003 2004 Sun Microsystems, Inc.
2009, 2010 Marek Černocký (marek@manet.cz)
Sun Microsystems, Inc.

Je povoleno kopírovat, šířit a/nebo upravovat tento dokument za podmínek GNU Free Documentation License, verze 1.1 nebo jakékoli další verze vydané nadací Free Software Foundation; bez neměnných oddílů, bez textů předních desek a bez textů zadních desek. Kopie této licence je zahrnuta v oddílu jménem GNU Free Documentation License nebo v souboru COPYING-DOCS dodávaném s touto příručkou.

Tato příručka je součástí kolekce příruček GNOME, distribuovaných pod licencí GNU FDL. Pokud chcete tento dokument šířit odděleně od kolekce, musíte přiložit kopii licence dle popisu v sekci 6 dané licence.

Mnoho užívaných jmen určených k zviditelnění produktů nebo služeb jsou ochranné známky. Na místech, kde jsou tato jména v dokumentaci užita a členové Dokumentačního projektu GNOME jsou si vědomi skutečnosti, že se jedná o ochrannou známku, je takové jméno psáno velkými písmeny celé nebo s velkým písmenem na začátku.

DOKUMENT A JEHO UPRAVENÉ VERZE JSOU ŠÍŘENY V SOULADU SE ZNĚNÍM LICENCE GNU FREE DOCUMENTATION LICENSE S NÁSLEDUJÍCÍM USTANOVENÍM:

1. DOKUMENT JE POSKYTOVÁN V PODOBĚ „JAK JE“ BEZ ZÁRUKY V JAKÉKOLIV PODOBĚ, NEPOSKYTUJÍ SE ANI ODVOZENÉ ZÁRUKY, ZÁRUKY, ŽE DOKUMENT, NEBO JEHO UPRAVENÁ VERZE, JE BEZCHYBNÝ NEBO ZÁRUKY PRODEJNOSTI, VHODNOSTI PRO URČITÝ ÚČEL NEBO NEPORUŠENOSTI. RIZIKO NEKVALITY, NEPŘESNOSTI A ŠPATNÉHO PROVEDENÍ DOKUMENTU, NEBO JEHO UPRAVENÉ VERZE, LEŽÍ NA VÁS. POKUD KVŮLI TOMUTO DOKUMENTU, NEBO JEHO UPRAVENÉ VERZI, NASTANE PROBLÉM, VY (NIKOLIV PŮVODNÍ AUTOR NEBO JAKÝKOLIV PŘISPĚVATEL) PŘEBÍRÁTE JAKÉKOLIV NÁKLADY ZA NUTNÉ ÚPRAVY, OPRAVY ČI SLUŽBY. TOTO PROHLÁŠENÍ O ZÁRUCE PŘEDSTAVUJE ZÁKLADNÍ SOUČÁST TÉTO LICENCE. BEZ TOHOTO PROHLÁŠENÍ NENÍ, PODLE TÉTO DOHODY, POVOLENO UŽÍVÁNÍ ANI ÚPRAVY TOHOTO DOKUMENTU; DÁLE

2. ZA ŽÁDNÝCH OKOLNOSTÍ A ŽÁDNÝCH PRÁVNÍCH PŘEDPOKLADŮ, AŤ SE JEDNÁ O PŘEČIN (VČETNĚ NEDBALOSTNÍCH), SMLOUVU NEBO JINÉ, NENÍ AUTOR, PŮVODNÍ PISATEL, KTERÝKOLIV PŘISPĚVATEL NEBO KTERÝKOLIV DISTRIBUTOR TOHOTO DOKUMENTU NEBO UPRAVENÉ VERZE DOKUMENTU NEBO KTERÝKOLIV DODAVATEL NĚKTERÉ Z TĚCHTO STRAN ODPOVĚDNÝ NĚJAKÉ OSOBĚ ZA PŘÍMÉ, NEPŘÍMÉ, SPECIÁLNÍ, NAHODILÉ NEBO NÁSLEDNÉ ŠKODY JAKÉHOKOLIV CHARAKTERU, VČETNĚ, ALE NEJEN, ZA POŠKOZENÍ ZE ZTRÁTY DOBRÉHO JMÉNA, PŘERUŠENÍ PRÁCE, PORUCHY NEBO NESPRÁVNÉ FUNKCE POČÍTAČE NEBO JINÉHO A VŠECH DALŠÍCH ŠKOD NEBO ZTRÁT VYVSTÁVAJÍCÍCH Z NEBO VZTAHUJÍCÍCH SE K POUŽÍVÁNÍ TOHOTO DOKUMENTU NEBO UPRAVENÝCH VERZÍ DOKUMENTU, I KDYŽ BY TAKOVÁTO STRANA BYLA INFORMOVANÁ O MOŽNOSTI TAKOVÉHOTO POŠKOZENÍ.

Sun Dokumentační tým Java Desktop System
Sun Microsystems, Inc.
Glynn Foster
Dokumentační projekt GNOME
Nicholas Curran
Dokumentační projekt GNOME
Příručka V2.0 k aplikaci Zenity
Srpen 2004

Dokumentační tým Sun Java Desktop System

Sun Microsystems, Inc.

Příručka V1.0 k aplikaci Zenity
Leden 2003

Glynn Foster

Dokumentační projekt GNOME

Tato příručka popisuje aplikaci Zenity ve verzi 2.6.0.

Ohlasy

Pokud chcete zaslat náměty a připomínky, použijte následující přímý odkaz na Stránku s ohlasy.

Zenity je přepsaný gdialog, což je port GNOME aplikace dialog, která slouží k zobrazování dialogových oken z příkazové řádky a skriptů shellu.

## Ú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
příkaz zenity
tvůrce dialogových oken