# Zenityn ohje

Zenity-työpöytäsovelluksen ohje v2.0
2003
2004
Sun Microsystems, Inc.
2008.
Tommi Vainikainen (thv@iki.fi)
Sun Microsystems, Inc.

Tätä asiakirjaa saa kopioida, jakaa edelleen ja/tai muokata Free Software Foundationin julkaiseman GNU Free Documentation Licensen (GFDL) version 1.1 tai valinnaisesti myöhemmän version mukaisesti, ilman vaatimuksia muuttamattomista osioista ja etu- tai takakansiteksteistä. Kopion GFDL:stä voi nähdä napsauttamalla tätä linkkiä, tai lukemalla ohjeen mukana toimitetun COPYING-DOCS-nimisen tiedoston.

Tämä käyttöohje on osa Gnomen käyttöohjekokoelmaa, jota levitetään GFDL-lisenssin alaisena. Jos haluat levittää tätä käyttöohjetta erillään kokoelmasta, voit tehdä sen liittämällä lisenssin kopion ohjeen mukaan, kuten lisenssin luku 6 sanelee.

Monet nimistä, joita yhtiöt käyttävät tuotteistansa ja palveluistansa, ovat tuotemerkkejä. Gnomen dokumentointiprojektissa nämä nimet pyritään kirjoittamaan suuraakkosin tai isolla alkukirjaimella, sikäli kun projektin jäsenet tietävät kyseisistä tuotemerkeistä.

ASIAKIRJA JA SEN MUOKATUT VERSIOT TARJOTAAN GNU FREE DOCUMENTATION LICENSEN EHTOJEN MUKAISESTI YMMÄRTÄEN ETTÄ:

1. ASIAKIRJA TARJOTAAN "SELLAISENAAN", ILMAN MINKÄÄN LAISTA TAKUUTA, NIIN ILMAISTUA KUIN IMPLISIITTISTÄ, SISÄLTÄEN ILMAN RAJOITUKSIA TAKUUTA SIITÄ, ETTÄ ASIAKIRJA TAI SEN MUOKATTU VERSIO OLISI ILMAN VIRHEITÄ, MYYNTIKELPOINEN, SOVELTUVAT JOHONKIN TARKOITUKSEEN TAI EI-LOUKKAAVA. TÄYSI RISKI ASIAKIRJAN TAI SEN MUOKATUN VERSION LAADUSTA, TARKKUUDESTA TAI HYÖDYLLISYYDESTÄ ON SINULLA. MIKÄLI ASIAKIRJA TAI SEN MUOKATTU VERSIO OSOITTAUTUU VIALLISEKSI MISSÄÄN MIELESSÄ, SINÄ (EI ALKUPERÄINEN KIRJOITTAJA, TEKIJÄ TAI MUU MYÖTÄVAIKUTTAJA) VASTAAT KAIKKIEN TARPEELLISTEN PALVELUIDEN, KORJAUSTEN TAI OIKAISUJEN KULUISTA. TÄMÄ VASTUUVAPAUSLAUSEKE MUODOSTAA OLEELLISEN OSAN TÄSTÄ LISENSSISTÄ. MIHINKÄÄN ASIAKIRJAN TAI SEN MUOKATUN VERSION KÄYTTÖÖN EI OLE MYÖNNETTY LUPAA TÄSSÄ PAITSI TÄMÄN VASTUUVAPAUSLAUSEKKEEN MUKAISESTI; JA

2. EI MISSÄÄN OLOSUHTEISSA TAI MINKÄÄN LAKITEORIAN ALAISUUDESSA, OIKEUDENLOUKKAUKSEN (SISÄLTÄEN HUOLIMATTOMUUDEN), SOPIMUKSEN TAI MUUTOIN, ASIAKIRJAN TAI SEN MUOKATUN VERSION ALKUPERÄISTÄ KIRJOITTAJAA, KETÄÄN MYÖTÄVAIKUTTAJAA TAI KETÄÄN JAKELIJAA, TAI KETÄÄN MINKÄÄN NÄISTÄ OSAPUOLISTA TOIMITTAJAA, OLE VASTUUSSA KENELLEKÄÄN HENKILÖLLE MISTÄÄN SUORASTA, EPÄSUORASTA, ERITYISESTÄ, VÄLITTÖMISTÄ TAI VÄLILLISISTÄ MINKÄÄN SORTIN VAHINGOISTA SISÄLTÄEN ILMAN RAJOITUSTA VAHINGOT MAINEEN MENETYKSESTÄ, TYÖN SEISAUKSISTA, TIETOKONEVAHINGOISTA TAI -VIRHEISTÄ, TAI MISTÄÄN MUUSTAKAAN VAHINGOSTA TAI TAPPIOISTA, JOTKA LIITTYVÄT ASIAKIRJAN JA SEN MUOKATTUJEN VERSIOIDEN KÄYTTÖÖN, EI EDES SILLOIN KUN OSAPUOLELLE ON KERROTTU TÄLLAISTEN VAHINKOJEN MAHDOLLISUUDESTA.

Sun
Java-työpöytäjärjestelmän dokumentointiryhmä
Sun Microsystems, Inc.
Glynn
Foster
GNOME-dokumentointiprojekti
Nicholas
Curran
GNOME-dokumentointiprojekti
Zenity-työpöytäsovelluksen ohje v2.0
Elokuu 2004

Sun Java -työpöytäjärjestelmän dokumentointiryhmä

Sun Microsystems, Inc.

Zenityn ohje v1.0
Tammikuu 2003

Glynn Foster

GNOME-dokumentointiprojekti

Tämä ohjekirja kuvaa Zenityn versiota 2.6.0.

## Palaute

Palautetta voi lähettää seuraamalla ohjeita palautesivulla.

Zenity on uudelleenkirjoitettu gdialog, GNOME-siirros dialog-ohjelmasta, joka mahdollistaa valintalaatikoiden näyttämisen komentoriviltä ja kuoriskripteistä.

## Johdanto

Zenity mahdollistaa seuraavan tyyppisten yksinkertaisten ikkunoiden luomisen:

- Kalenteri

- Tiedoston valinta

- Luettelo

- Ilmoituskuvake

- Viesti

  - Virhe

  - Tiedoksi

  - Kysymys

  - Varoitus

- Edistyminen

- Tekstisyöte

- Tekstihuomatus

## Käyttö

Skriptejä kirjoitettaessa voi Zenityä käyttää yksinkertaisten valintaikkunoiden luomiseen, jotka pyytävät käyttäjältä syötettä graafisesti, kuten seuraavissa tapauksissa:

- Voit luoda valintaikkunan keräämään tietoa käyttäjältä. Voit esimerkiksi pyytää käyttäjää valitsemaan päivän kalenteri-ikkunasta tai valitsemaan tiedoston tiedoston valintaikkunalla.

- Voit luoda ikkunan, joka kertoo käyttäjälle tietoa. Voit esimerkiksi näyttää edistymisikkunassa operaation edistymisen tilanteen tai varoitusviesti-ikkunassa varoittaa käyttäjää.

Kun käyttäjä sulkee ikkunan, Zenity tulostaa ikkunaan syötetyn tekstin vakiotulosteeseen.

Kun kirjoitat Zenity-komentoja, ole tarkkana lainausmerkkien sijoittelussa jokaisen argumentin ympärillä.

Käytä esimerkiksi:

    zenity --calendar --title="Loman suunnittelu"

Älä sen sijaan käytä:

    zenity --calendar --title=Loman suunnittelu

Mikäli et käytä lainausmerkkejä, saatat saada odottamattomia tuloksia.

### Valintanäppäimet

Valintanäppäin on näppäin, joka antaa mahdollisuuden suorittaa toiminto näppäimistöltä sen sijaan, että komento valittaisiin hiirellä valikosta tai ikkunasta. Jokainen valintanäppäin identifioidaan alleviivaamalla kirjain valikossa tai ikkunan kohdassa.

Jotkut Zenity-ikkunan tukevat valintanäppäinten käyttöä. Määrittääksesi kirjaimen valintanäppäimeksi, anna alaviiva ennen kirjainta ikkunan tekstissä. Seuraava esimerkki valaisee kuinka kirjain "V" määritetään valintanäppäimeksi:

    "_Valitse nimi".

### Päättymiskoodit

Zenity palauttaa seuraavia päättymiskoodeja:

Päättymiskoodi | Kuvaus
--- | ---
`0` | Käyttäjä painoi joko OK tai Sulje.
`1` | Käyttäjä painoi Peru tai käytti ikkunapainikkeita sulkemaan valintaikkunan.
`-1` | Tapahtui odottamaton virhe.
`5` | Ikkuna suljettiin aikarajan päätyttyä.

### Yleiset valitsimet

Kaikki Zenity-ikkunat tukevat seuraavia yleisiä valitsimia:

`--title`=otsikko

  Määrittää ikkunan otsikon.

`--window-icon`=kuvakepolku

  Määrittää kuvakkeen, joka näytetään ikkunan kehyksessä. Saatavilla on myös neljä valmista kuvaketta, jotka saa käyttöön seuraavilla avainsanoilla - "info" (tietoa), "warning" (varoitus), "question" (kysymys) ja "error" (virhe).

`--width`=leveys

  Määrittää ikkunan leveyden.

`--height`=korkeus

  Määrittää ikkunan korkeuden.

`--timeout`=aikaraja

  Määrittää aikarajan sekunteina, jonka jälkeen ikkuna suljetaan.

### Ohjevalitsimet

Zenity tarjoaa seuraavat ohjevalitsimet:

`--help`

  Näyttää lyhennetyn ohjetekstin.

`--help-all`

  Näyttää täyden ohjetekstin kaikista ikkunatyypeistä.

`--help-general`

  Näyttää ohjetekstin yleisistä ikkunavalitsimista.

`--help-calendar`

  Näyttää ohjetekstin kalenteri-ikkunan valitsimista.

`--help-entry`

  Näyttää ohjetekstin tekstisyöttöikkunan valitsimista.

`--help-error`

  Näyttää ohjetekstin virheikkunan valitsimista.

`--help-info`

  Näyttää ohjetekstin tietoikkunan valitsimista.

`--help-file-selection`

  Näyttää ohjetekstin tiedoston valintaikkunan valitsimista.

`--help-list`

  Näyttää ohjetekstin luetteloikkunan valitsimista.

`--help-notification`

  Näyttää ohjetekstin ilmoituskuvakkeiden valitsimista.

`--help-progress`

  Näyttää ohjetekstin edistymisikkunan valitsimista.

`--help-question`

  Näyttää ohjetekstin kysymysikkunan valitsimista.

`--help-warning`

  Näyttää ohjetekstin varoitusikkunan valitsimista.

`--help-text-info`

  Näyttää ohjeen tietoikkunan valitsimista.

`--help-misc`

  Näyttää ohjeen sekalaisista valitsimista.

`--help-gtk`

  Näyttää ohjeen GTK+-valitsimista.

### Sekalaisia valitsimia

Zenityllä on myös seuraavat sekalaiset valitsimet:

`--about`

  Näyttää Tietoja Zenitystä -ikkunan, joka sisältää tiedot Zenityn versiosta, tekijänoikeuksista ja kehittäjistä.

`--version`

  Näyttää Zenityn versionumeron.

### GTK+-valitsimet

Zenity tarjoaa tavanomaiset GTK+-valitsimet. Lisätietoa GTK+-valitsimista saa komennolla `zenity -?`.

### Ympäristömuuttujat

Normaalisti Zenity tunnistaa pääteikkunan, josta se on käynnistetty ja pitää itsensä tämän ikkunan päällä. Tämä käytös voidaan estää poistamalla `WINDOWID`-ympäristömuuttuja.

## Kalenteri-ikkuna

Käytä valitsinta `--calendar` luomaan kalenteri-ikkuna. Zenity palauttaa valitun päivämäärään vakiotulosteeseen. Mikäli päivämäärää ei määritetty komentorivillä, ikkuna avataan sen hetkisen päivän kohdalta.

Kalenteri-ikkuna tarjoaa seuraavat valitsimet:

`--text`=teksti

  Määrittää tekstin, joka näkyy kalenteri-ikkunassa.

`--day`=päivä

  Määrittää päivän, joka on aluksi valittuna kalenteri-ikkunassa. päivä tulee korvata numerolla 1—31.

`--month`=kuukausi

  Määrittää kuukauden, joka on aluksi valittuna kalenteri-ikkunassa. kuukausi tulee korvata numerolla 1—12.

`--year`=vuosi

  Määrittää vuoden, joka on aluksi valittuna kalenteri-ikkunassa.

`--date-format`=muoto

  Määrittää muotoilun, jossa kalenteri-ikkuna palauttaa päivämäärän valinnan jälkeen. Oletusmuotoilu riippuu maa-asetuksista. muoto täytyy koostua muotoilukoodeista, joita `strftime`-funktio hyväksyy, kuten `%A %Y-%m-%d`.

Seuraava esimerkkiskripti näyttää kuinka luodaan kalenteri-ikkuna:

            #!/bin/sh

            if zenity --calendar \
            --title="Valitse päivä" \
            --text="Napsauta päivämäärää valitsemaan päivä." \
            --day=10 --month=8 --year=2004
              then echo $?
              else echo "Päivää ei valittu"
            fi

### Esimerkki kalenteri-ikkunasta

Esimerkki Zenity-kalenteri-ikkunasta

## Tiedoston valintaikkuna

Käytä valitsinta `--file-selection` luomaan tiedoston valintaikkuna. Zenity palauttaa valitut tiedostot tai hakemistot vakiotulosteeseen. Oletusmoodi tiedoston valintaikkunalle on avaus.

Tiedoston valintaikkuna tarjoaa seuraavat valitsimet:

`--filename`=tiedostonimi

  Määrittää tiedoston tai hakemiston, joka on aluksi ikkunan tullessa näkyviin valittuna tiedoston valintaikkunassa.

`--multiple`

  Sallii valita kerralla useamman tiedoston tiedoston valintaikkunassa.

`--directory`

  Sallii vain hakemistojen valitsemisen tiedoston valintaikkunassa.

`--save`

  Asettaa tiedoston valintaikkunan tallennustilaan.

`--separator`=erotin

  Määrittää merkkijonon, jota käytetään erottamaan tiedostot palautettavassa tiedostonimien luettelossa.

Seuraava esimerkkiskripti näyttää kuinka luodaan tiedoston valintaikkuna:

            #!/bin/sh

            FILE=`zenity --file-selection --title="Valitse tiedosto"`

            case $? in
                     0)
                            echo "\"$FILE\" valittu.";;
                     1)
                            echo "Tiedostoa ei valittu.";;
                    -1)
                            echo "Tiedostoa ei valittu.";;
            esac

### Esimerkki tiedoston valintaikkunasta

Esimerkki Zenityn tiedoston valintaikkunasta

## Ilmoituskuvake

`--text`=teksti

  Määrittää tekstin, joka näkyy ilmoitusalueella.

Seuraava esimerkkiskripti näyttää kuinka luodaan ilmoituskuvake:

            #!/bin/sh

            zenity --notification\
              --window-icon="info" \
              --text="Järjestelmän päivitys on välttämätön!"

### Esimerkki ilmoituskuvakkeesta

Esimerkki Zenity-ilmoituskuvakkeesta

## Luetteloikkuna

Käytä valitsinta `--list` luomaan luetteloikkuna. Zenity palauttaa valittujen rivien ensimmäisten sarakkeiden tiedot vakiotulosteeseen.

Ikkunan sisältö tulee määrittää sarake sarakkeelta ja rivi riviltä. Tiedot voidaan syöttää ikkunaan vakiosyötteen kautta. Jokainen tietue pitää erottaa rivinvaihtomerkillä.

Mikäli käytössä on valitsin `--checklist` tai `--radiolist`, jokaisen rivin tulee alkaa joko 'TRUE' (tosi) tai 'FALSE' (epätosi).

Luetteloikkuna tarjoaa seuraavat valitsimet:

`--column`=sarake

  Määrittää luetteloikkunassa näkyvien sarakkeiden otsakkeet. Määritä valitsin `--column` jokaiselle sarakkeelle, jonka haluat näkyvän ikkunassa.

`--checklist`

  Määrittää, että ensimmäinen sarake luetteloikkunassa sisältää valintaruutuja.

`--radiolist`

  Määrittää, että ensimmäinen sarake luetteloikkunassa sisältää radiovalitsimia.

`--editable`

  Sallii näytettävien tietuiden muokaamisen.

`--separator`=erotin

  Määrittää mitä merkkijonoa käytetään kun luetteloikkuna palauttaa valitut tietueet.

`--print-column`=sarake

  Määrittää mitkä sarakkeet tulostetaan valinnan jälkeen. Oletussarake on "1". "ALL" (kaikki) tarkoittaa, että kaikki luettelon sarakkeet tulostetaan.

Seuraava esimerkkiskripti näyttää kuinka luodaan luetteloikkuna:

            #!/bin/sh

            zenity --list \
              --title="Valitse viat joita haluat katsoa" \
              --column="Vikanumero" --column="Vakavuus" --column="Kuvaus" \
                992383 normaali "GtkTreeView kaatuu monivalinnoissa" \
                293823 korkea "GNOME-sanakirja ei osaa käyttää välipalvelinta" \
                393823 kriittinen "Valikkojen muokaus ei toimi GNOME 2.0:ssa"

### Esimerkki luetteloikkunasta

Esimerkki Zenity-luetteloikkunasta

## Viesti-ikkunat

Zenity voi luoda neljän tyyppisia viesti-ikkunoita:

- Virhe

- Tiedoksi

- Kysymys

- Varoitus

Kaikille ikkunatyypeille valitsin `--text` määrittää ikkunassa näytettävän tekstin.

### Virheikkuna

Käytä valitsinta `--error` luomaan virheikkuna.

Seuraava esimerkkiskripti näyttää kuinka luodaan virheikkuna:

              #!/bin/bash

              zenity --error \
              --text="Tiedostoa /var/log/syslog ei löytynyt."

#### Esimerkki virheikkunasta

Esimerkki Zenity-virheikkuna

### Tietoikkuna

Käytä valitsinta `--info` luomaan tietoikkuna.

Seuraava esimerkkiskripti näyttää kuinka luodaan tietoikkuna:

              #!/bin/bash

              zenity --info \
              --text="Yhdistäminen valmis. Päivitetty 3/10 tiedostoa."

#### Esimerkki tietoikkunasta

Esimerkki Zenity-tietoikkunasta

### Kysymysikkuna

Käytä valitsinta `--question` luomaan kysymysikkuna.

Seuraava esimerkki näyttää kuinka luodaan kysymysikkuna:

              #!/bin/bash

              zenity --question \
              --text="Haluatko varmasti jatkaa?"

#### Esimerkki kysymysikkunasta

Esimerkki Zenity-kysymysikkunasta

### Varoitusikkuna

Käytä valitsinta `--warning` luomaan varoitusikkuna.

Seuraava esimerkki näyttää kuinka luodaan varoitusikkuna:

              #!/bin/bash

              zenity --warning \
              --text="Irrota virtajohto sähköiskujen välttämiseksi."

#### Esimerkki varoitusikkunasta

Esimerkki Zenity-varoitusikkunasta

## Edistymisikkuna

Käytä valitsinta `--progress` luomaan edistymisikkuna.

Zenity lukee datan vakiosyötteestä rivi kerrallaan. Mikäli rivi alkaa #-merkillä, teksti päivitetään rivin tekstillä. Mikäli rivi sisältää vain numeron, edistymisprosentiksi päivitetään annettu numero.

Edistymisikkuna tarjoaa seuraavat valitsimet:

`--text`=teksti

  Määrittää tekstin, joka näytetään edistymisikkunassa.

`--percentage`=prosentit

  Määrittää prosentuaalisen osuuden alussa, joka asetetaan edistymisikkunaan.

`--auto-close`

  Edistymisikkuna suljetaan automaattisesti kun 100 % saavutetaan.

`--pulsate`

  Määrittää, että edistymisikkuna sykkii kunnes EOF-merkki (tiedoston loppumerkki) luetaan vakiosyötteestä.

Seuraava esimerkkiskripti näyttää kuinka luodaan edistymisikkuna:

            #!/bin/sh
            (
            echo "10" ; sleep 1
            echo "# Päivitetään postilokeja" ; sleep 1
            echo "20" ; sleep 1
            echo "# Nollataan cron-töitä" ; sleep 1
            echo "50" ; sleep 1
            echo "Tämä rivi vain ohitetaan" ; sleep 1
            echo "75" ; sleep 1
            echo "# Uudelleenkäynnistetään järjestelmä" ; sleep 1
            echo "100" ; sleep 1
            ) |
            zenity --progress \
              --title="Päivitetään järjestelmälokeja" \
              --text="Tutkitaan postilokeja..." \
              --percentage=0

            if [ "$?" = -1 ] ; then
                    zenity --error \
                      --text="Päivitys keskeytetty."
            fi

### Esimerkki edistymisikkunasta

Esimerkki Zenity-edistymisikkunasta

## Tekstinsyöttöikkuna

Käytä valitsinta `--entry` luomaan tekstinsyöttöikkuna. Zenity palauttaa syöttökentän sisällön vakiotulosteeseen.

Tekstinsyöttöikkuna tarjoaa seuraavat valitsimet:

`--text`=teksti

  Määrittää tekstin, joka näkyy tekstinsyöttöikkunassa.

`--entry-text`=teksti

  Määrittää tekstin, joka näytetään syöttökentässä teksinsyöttöikkunassa.

`--hide-text`

  Piilottaa tekstin syöttökentässä tekstinsyöttöikkunassa.

Seuraava esimerkkiskripti näyttää kuinka luodaan tekstinsyöttöikkuna:

            #!/bin/sh

            if zenity --entry \
            --title="Lisää syöte" \
            --text="Syötä _salasanasi:" \
            --entry-text "salasana" \
            --hide-text
              then echo $?
              else echo "Salasanaa ei syötetty"
            fi

### Esimerkki tekstinsyöttöikkunasta

Esimerkki Zenity-tekstinsyöttöikkunasta

## Tekstitietoikkuna

Käytä valitsinta `--text-info` luomaan tekstitietoikkuna.

Tekstitietoikkuna tarjoaa seuraavat valitsimet:

`--filename`=tiedostonimi

  Määrittää tiedoston, joka ladataan tekstitietoikkunaan.

`--editable`

  Sallii näytettävän tekstin muokkaamisen. Muokattu teksti palautetaan vakiotulosteeseen kun ikkuna suljetaan.

Seuraava esimerkkiskripti näyttää kuinka luodaan tekstitietoikkuna:

            #!/bin/sh

            FILE=`zenity --file-selection \
              --title="Valitse tiedosto"`

            case $? in
                     0)
                            zenity --text-info \
                              --title=$FILE \
                              --filename=$FILE \
                              --editable 2>/tmp/tmp.txt;;
                     1)
                            echo "Tiedostoa ei valittu.";;
                    -1)
                            echo "Tiedostoa ei valittu.";;
            esac

### Esimerkki tekstilaatikkoikkunasta

Esimerkki Zenity-tekstilaatikkoikkunasta