# Handbok för Zenity

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

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

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

### Environment Variables

Normally, Zenity 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.

## Kalenderdialog

Use the `--calendar` option to create a calendar dialog. Zenity returns the selected date to standard output. If no date is specified on the command line, the dialog uses the current date.

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

Use the `--file-selection` option to create a file selection dialog. Zenity returns the selected files or directories to standard output. The default mode of the file selection dialog is open.

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

Use the `--list` option to create a list dialog. Zenity returns the entries in the first column of text of selected rows to standard output.

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

Use the `--entry` option to create a text entry dialog. Zenity returns the contents of the text entry to standard output.

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`

- Allows the displayed text to be edited. The edited text is returned to standard output when the dialog is closed.

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