# Handbok för Zenity

Handbok för skrivbordsprogrammet Zenity v2.0
2003
2004
Sun Microsystems, Inc.
2006, 2009
Daniel Nylander (po@danielnylander.se)
Sun Microsystems, Inc.

Tillstånd att kopiera, distribuera och/eller modifiera detta dokument ges under villkoren i GNU Free Documentation License (GFDL), version 1.1 eller senare, utgivet av Free Software Foundation utan standardavsnitt och omslagstexter. En kopia av GFDL finns att hämta på denna länk eller i filen COPYING-DOCS som medföljer denna handbok.

Denna handbok utgör en av flera GNOME-handböcker som distribueras under villkoren i GFDL. Om du vill distribuera denna handbok separat från övriga handböcker kan du göra detta genom att lägga till en kopia av licensavtalet i handboken enligt instruktionerna i avsnitt 6 i licensavtalet.

Flera namn på produkter och tjänster är registrerade varumärken. I de fall dessa namn förekommer i GNOME-dokumentation - och medlemmarna i GNOME-dokumentationsprojektet är medvetna om dessa varumärken - är de skrivna med versaler eller med inledande versal.

DOKUMENTET OCH MODIFIERADE VERSIONER AV DOKUMENTET TILLHANDAHÅLLS UNDER VILLKOREN I GNU FREE DOCUMENTATION LICENSE ENDAST UNDER FÖLJANDE FÖRUTSÄTTNINGAR:

1. DOKUMENTET TILLHANDAHÅLLS I "BEFINTLIGT SKICK" UTAN NÅGRA SOM HELST GARANTIER, VARE SIG UTTRYCKLIGA ELLER UNDERFÖRSTÅDDA, INKLUSIVE, MEN INTE BEGRÄNSAT TILL, GARANTIER ATT DOKUMENTET ELLER EN MODIFIERAD VERSION AV DOKUMENTET INTE INNEHÅLLER NÅGRA FELAKTIGHETER, ÄR LÄMPLIGT FÖR ETT VISST ÄNDAMÅL ELLER INTE STRIDER MOT LAG. HELA RISKEN VAD GÄLLER KVALITET, EXAKTHET OCH UTFÖRANDE AV DOKUMENTET OCH MODIFIERADE VERSIONER AV DOKUMENTET LIGGER HELT OCH HÅLLET PÅ ANVÄNDAREN. OM ETT DOKUMENT ELLER EN MODIFIERAD VERSION AV ETT DOKUMENT SKULLE VISA SIG INNEHÅLLA FELAKTIGHETER I NÅGOT HÄNSEENDE ÄR DET DU (INTE DEN URSPRUNGLIGA SKRIBENTEN, FÖRFATTAREN ELLER NÅGON ANNAN MEDARBETARE) SOM FÅR STÅ FÖR ALLA EVENTUELLA KOSTNADER FÖR SERVICE, REPARATIONER ELLER KORRIGERINGAR. DENNA GARANTIFRISKRIVNING UTGÖR EN VÄSENTLIG DEL AV DETTA LICENSAVTAL. DETTA INNEBÄR ATT ALL ANVÄNDNING AV ETT DOKUMENT ELLER EN MODIFIERAD VERSION AV ETT DOKUMENT BEVILJAS ENDAST UNDER DENNA ANSVARSFRISKRIVNING.

2. UNDER INGA OMSTÄNDIGHETER ELLER INOM RAMEN FÖR NÅGON LAGSTIFTNING, OAVSETT OM DET GÄLLER KRÄNKNING (INKLUSIVE VÅRDSLÖSHET), KONTRAKT ELLER DYLIKT, SKA FÖRFATTAREN, DEN URSPRUNGLIGA SKRIBENTEN ELLER ANNAN MEDARBETARE ELLER ÅTERFÖRSÄLJARE AV DOKUMENTET ELLER AV EN MODIFIERAD VERSION AV DOKUMENTET ELLER NÅGON LEVERANTÖR TILL NÅGON AV NÄMNDA PARTER STÄLLAS ANSVARIG GENTEMOT NÅGON FÖR NÅGRA DIREKTA, INDIREKTA, SÄRSKILDA ELLER OFÖRUTSEDDA SKADOR ELLER FÖLJDSKADOR AV NÅGOT SLAG, INKLUSIVE, MEN INTE BEGRÄNSAT TILL, SKADOR BETRÄFFANDE FÖRLORAD GOODWILL, HINDER I ARBETET, DATORHAVERI ELLER NÅGRA ANDRA TÄNKBARA SKADOR ELLER FÖRLUSTER SOM KAN UPPKOMMA PÅ GRUND AV ELLER RELATERAT TILL ANVÄNDNINGEN AV DOKUMENTET ELLER MODIFIERADE VERSIONER AV DOKUMENTET, ÄVEN OM PART SKA HA BLIVIT INFORMERAD OM MÖJLIGHETEN TILL SÅDANA SKADOR.

Sun
Java Desktop System Documentation Team
Sun Microsystems, Inc.
Glynn
Foster
Dokumentationsprojekt för GNOME
Nicholas
Curran
Dokumentationsprojekt för GNOME
Handbok för skrivbordsprogrammet Zenity v2.0
Augusti 2004

Sun Java Desktop System Documentation Team

Sun Microsystems, Inc.

Handbok för Zenity v1.0
Januari 2003

Glynn Foster

Dokumentationsprojekt för GNOME

Den här handboken beskriver version 2.6.0 av Zenity.

## Återkoppling

För att skicka in kommentarer eller förslag, följ instruktionerna på återkopplingssidan.

Zenity är en vidareutveckling av gdialog, GNOME-porteringen av dialog som låter dig visa dialogrutor från kommandoraden och skalskript.

## Introduktion

Zenity låter dig skapa följande typer av enkla dialoger:

- Kalender

- Filval

- Lista

- Notifieringsikon

- Meddelande

  - Fel

  - Information

  - Fråga

  - Varning

- Förlopp

- Textinmatning

- Textinformation

## Användning

När du skriver skript kan du använda Zenity för att skapa enkla dialogrutor som interagerar grafiskt med användaren. Här är några exempel:

- Du kan skapa en dialogruta för att hämta in information från användaren. Till exempel kan du fråga användaren om att välja ett datum från en kalenderdialog, eller att välja en fil från en filväljardialog.

- Du kan skapa en dialogruta för att tillhandahålla information till användaren. Till exempel kan du använda en förloppsdialog för att indikera aktuell status för en åtgärd, eller använda en varningsdialog för att larma användaren.

När användaren stängerdialogrutan, skriver Zenity ut texten som producerats av dialogrutan till standard fel.

Var noga med att skriva citationstecken runt varje argument när du skriver Zenity-kommandon.

Till exempel, använd:

    zenity --calendar --title="Semesterplanerare"

Använd inte:

    zenity --calendar --title=Semesterplanerare

Om du inte använder citationstecken kan du få oväntade resultat.

### Snabbtangenter

En snabbtangent är en tangent som låter dig genomföra en åtgärd från tangentbordet istället för att använda musen för att välja ett kommando från en meny eller dialog. Varje snabbtangent identifieras av en understruken bokstav i en meny eller dialogflagga.

Vissa dialoger i Zenity har stöd för användningen av snabbtangenter. För att specificera tecknet som ska användas som snabbtangenten, placera ett understreck före den bokstaven i dialogens text. Följande exempel visar hur man specificerar bokstaven "V" som en snabbtangent:

    "_Välj ett namn".

### Avslutningskoder

Zenity returnerar följande avslutningskoder:

Avslutningskod | Beskrivning
--- | ---
`0` | Användaren har antingen tryckt på OK eller Stäng.
`1` | Användaren har antingen tryckt på Avbryt, eller använt fönsterfunktioner för att stänga dialogrutan.
`-1` | Ett oväntat fel har inträffat.
`5` | Dialogrutan har stängts därför att tidsgränsen har nåtts.

### Allmänna alternativ

Alla dialoger i Zenity har stöd för följande allmänna flaggor:

`--title`=titel

  Anger titeln på en dialogruta.

`--window-icon`=ikonsökväg

  Anger ikonen som visas i fönsterramen för dialogen. Det finns 4 standardikoner som finns tillgängliga genom att ange något av följande nyckelord - "info", "warning", "question" och "error".

`--width`=bredd

  Anger bredden på dialogrutan.

`--height`=höjd

  Anger höjden på dialogrutan.

`--timeout`=tidsgräns

  Anger tidsgränsen i sekunder efter vilken dialogrutan stängs.

### Hjälpflaggor

Zenity tillhandahåller följande hjälpflaggor:

`--help`

  Visar förkortad hjälptext.

`--help-all`

  Visar fullständig hjälptext för alla dialoger.

`--help-general`

  Visar hjälptext för allmänna dialogflaggor.

`--help-calendar`

  Visar hjälptext för kalenderdialogflaggor.

`--help-entry`

  Visar hjälptext för textinmatningsdialogflaggor.

`--help-error`

  Visar hjälptext för feldialogflaggor.

`--help-info`

  Visar hjälptext för informationsdialogflaggor.

`--help-file-selection`

  Visar hjälptext för filväljardialogflaggor.

`--help-list`

  Visar hjälptext för listdialogflaggor.

`--help-notification`

  Visar hjälptext för notifieringsikonflaggor.

`--help-progress`

  Visar hjälptext för förloppsdialogflaggor.

`--help-question`

  Visar hjälptext för frågedialogflaggor.

`--help-warning`

  Visar hjälptext för varningsdialogflaggor.

`--help-text-info`

  Visar hjälp för textinformationsdialogflaggor.

`--help-misc`

  Visar hjälp för diverse flaggor.

`--help-gtk`

  Visar hjälp för GTK+-flaggor.

### Diverse flaggor

Zenity tillhandahåller även följande diverse flaggor:

`--about`

  Visar dialogrutan Om Zenity, vilken innehåller versionsinformation, copyrightinformation, och utvecklarinformation om Zenity.

`--version`

  Visar versionsnumret för Zenity.

### GTK+-flaggor

Zenity har stöd för standard-GTK+-flaggor. För mer information om GTK+-flaggorna, kör kommandot `zenity -?`.

## Kalenderdialog

Använd flaggan `--calendar` för att skapa en kalenderdialog. Zenity returnerar det markerade datumet till standard fel. Om inget datum har angivits på kommandoraden, kommer dialogrutan att använda dagens datum.

Kalenderdialogen har stöd för följande flaggor:

`--text`=text

  Anger texten som visas i kalenderdialogen.

`--day`=dag

  Anger dagen som är markerad i kalenderdialogen. dag måste vara ett tal mellan 1 och 31.

`--month`=månad

  Anger månaden som är markerad i kalenderdialogen. månad måste vara ett tal mellan 1 och 12.

`--year`=år

  Anger året som är markerat i kalenderdialogen.

`--date-format`=format

  Anger formatet som returneras från kalenderdialogen efter en datummarkering. Standardformatet beror på din lokalinställning. format måste vara ett format som är acceptabelt för funktionen `strftime`, till exempel `%A %d/%m/%y`.

Följande exempelskript visar hur man skapar en kalenderdialog:

            #!/bin/sh

            if zenity --calendar \
            --title="Välj ett datum" \
            --text="Klicka på ett datum för att det välja datumet." \
            --day=10 --month=8 --year=2004
              then echo $?
              else echo "Inget datum har valts"
            fi

### Exempel på kalenderdialog

Zenity exempel på kalenderdialog

## Filväljardialog

Använd flaggan `--file-selection` för att skapa en filväljardialog. Zenity returnerar de valda filerna eller katalogerna till standard fel. Standardläget för filväljardialogen är öppna.

Filväljardialogen har stöd för följande flaggor:

`--filename`=filnamn

  Anger filen eller katalogen som är markerad i filväljardialogen när dialogen först visas.

`--multiple`

  Tillåter markering av flera filnamn i filväljardialogen.

`--directory`

  Tillåter endast markering av kataloger i filväljardialogen.

`--save`

  Ställ in filväljardialogen till sparningsläge.

`--separator`=avgränsare

  Anger strängen som används för att avgränsa den returnerade listan över filnamn.

Följande exempelskript visar hur man skapar en filväljardialog:

            #!/bin/sh

            FILE=`zenity --file-selection --title="Välj en fil"`

            case $? in
                     0)
                            echo "\"$FILE\" vald.";;
                     1)
                            echo "Ingen fil vald.";;
                    -1)
                            echo "Ingen fil vald.";;
            esac

### Exempel på filväljardialog

Zenity exempel på filväljardialog

## Notifieringsikon

`--text`=text

  Anger texten som visas i notifieringsytan.

Följande exempelskript visar hur man skapar en notifieringsikon:

            #!/bin/sh

            zenity --notification\
              --window-icon="info" \
              --text="Det finns nödvändiga systemuppdateringar!"

### Exempel på notifieringsikon

Zenity exempel på notifieringsikon

## Listdialog

Använd flaggan `--list` för att skapa en listdialog. Zenity returnerar posterna i den första textkolumnen av markerade rader till standard fel.

Data för dialogen måste anges kolumn för kolumn, rad för rad. Data kan tillhandahållas till dialogen genom standard in. Varje post måste separeras med ett nyradstecken.

Om du använder flaggorna `--checklist` eller `--radiolist`, måste varje rad börja med antingen "TRUE" eller "FALSE".

Listdialogen har stöd för följande flaggor:

`--column`=kolumn

  Anger kolumnhuvuden som visas i listdialogen. Du måste ange flaggan `--column` för varje kolumn som du vill visa i dialogen.

`--checklist`

  Anger att den första kolumnen i listdialogen innehåller kryssrutor.

`--radiolist`

  Anger att första kolumnen i listdialogen innehåller radioknappar.

`--editable`

  Tillåter att de visade posterna kan redigeras.

`--separator`=avgränsare

  Anger vilken sträng som används när listdialogen returnerar de markerade posterna.

`--print-column`=kolumn

  Anger vilken kolumn som ska skrivas ut vid markering. Standardkolumnen är "1". "ALL" kan användas för att skriva ut alla kolumner i listan.

Följande exempelskript visar hur man skapar en listdialog:

            #!/bin/sh

            zenity --list \
              --title="Välj de fel som du önskar att se" \
              --column="Felnummer" --column="Allvarlighetsgrad" --column="Beskrivning" \
                992383 Normal "GtkTreeView kraschar vid flera markeringar" \
                293823 Hög "GNOME-ordboken kan inte hantera proxyservrar" \
                393823 Kritisk "Menyredigering fungerar inte i GNOME 2.0"

### Exempel på listdialog

Zenity exempel på listdialog

## Meddelandedialoger

Zenity kan skapa fyra typer av meddelandedialoger:

- Fel

- Information

- Fråga

- Varning

För varje typ, använd flaggan `--text` för att ange texten som visas i dialogrutan.

### Feldialog

Använd flaggan `--error` för att skapa en feldialog.

Följande exempelskript visar hur man skapar en feldialog:

              #!/bin/bash

              zenity --error \
              --text="Kunde inte hitta /var/log/syslog."

#### Exempel på feldialog

Zenity exempel på feldialog

### Informationsdialog

Använd flaggan `--info` för att skapa en informationsdialog.

Följande exempelskript visar hur man skapar en informationsdialog:

              #!/bin/bash

              zenity --info \
              --text="Sammanslagning färdig. Uppdaterade 3 av 10 filer."

#### Exempel på informationsdialog

Zenity exempel på informationsdialog

### Frågedialog

Använd flaggan `--question` för att skapa en frågedialog.

Följande exempelskript visar hur man skapar en frågedialog:

              #!/bin/bash

              zenity --question \
              --text="Är du säker på att du vill fortsätta?"

#### Exempel på frågedialog

Zenity exempel på frågedialog

### Varningsdialog

Använd flaggan `--warning` för att skapa en varningsdialog.

Följande exempelskript visar hur man skapar en varningsdialog:

              #!/bin/bash

              zenity --warning \
              --text="Koppla från strömkabeln för att undvika elektriska stötar."

#### Exempel på varningsdialog

Zenity exempel på varningsdialog

## Förloppsdialog

Använd flaggan `--progress` för att skapa en förloppsdialog.

Zenity läser data rad för rad från standard in. Om en rad inleds med #, kommer texten att uppdateras med texten på den raden. Om en rad endast innehåller en siffra, kommer procenttalet att uppdateras med det talet.

Förloppsdialogen har stöd för följande flaggor:

`--text`=text

  Anger texten som visas i förloppsdialogen.

`--percentage`=procenttal

  Anger den initiala procenttalet som är inställt i förloppsdialogen.

`--auto-close`

  Stänger förloppsdialogen när 100% har nåtts.

`--pulsate`

  Anger att förloppsmätaren pulserar tills ett EOF-tecken läses in från standard in.

Följande exempelskript visar hur man skapar en förloppsdialog:

            #!/bin/sh
            (
            echo "10" ; sleep 1
            echo "# Uppdaterar e-postloggar" ; sleep 1
            echo "20" ; sleep 1
            echo "# Nollställer cron-jobb" ; sleep 1
            echo "50" ; sleep 1
            echo "Den här raden kommer att ignoreras" ; sleep 1
            echo "75" ; sleep 1
            echo "# Startar om systemet" ; sleep 1
            echo "100" ; sleep 1
            ) |
            zenity --progress \
              --title="Uppdaterar systemloggar" \
              --text="Söker av e-postloggarna..." \
              --percentage=0

            if [ "$?" = -1 ] ; then
                    zenity --error \
                      --text="Uppdatering avbruten."
            fi

### Exempel på förloppsdialog

Zenity exempel på förloppsdialog

## Textinmatningsdialog

Använd flaggan `-entry` för att skapa en textinmatningsdialog. Zenity returnerar innehållet av textinmatningen till standard fel.

Textinmatningsdialogen har stöd för följande flaggor:

`--text`=text

  Anger texten som visas i textinmatningsdialogen.

`--entry-text`=text

  Anger texten som visas i inmatningsfältet för textinmatningsdialogen.

`--hide-text`

  Döljer texten i inmatningsfältet för textinmatningsdialogen.

Följande exempelskript visar hur man skapar en textinmatningsdialog:

            #!/bin/sh

            if zenity --entry \
            --title="Lägg till en post" \
            --text="Ange ditt _lösenord:" \
            --entry-text "password" \
            --hide-text
              then echo $?
              else echo "Inget lösenord angavs"
            fi

### Exempel på textinmatningsdialog

Zenity exempel på textinmatningsdialog

## Textinformationsdialog

Använd flaggan `--text-info` för att skapa en textinformationsdialog.

Textinformationsdialogen har stöd för följande flaggor:

`--filename`=filnamn

  Anger en fil som läses in i textinformationsdialogen.

`--editable`

  Tillåter att den visade texten redigeras. Den redigerade texten returneras till standard fel när dialogrutan stängs.

Följande exempelskript visar hur man skapar en textinformationsdialog:

            #!/bin/sh

            FILE=`zenity --file-selection \
              --title="Välj en fil"`

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

### Exempel på textinformationsdialog

Zenity exempel på textinformationsdialog