# Handbok för MateDialog

## Introduktion

MateDialog 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 MateDialog 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, MateDialog prints the text produced by the dialog to standard output.

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

For example, use:

    matedialog --calendar --title="Holiday Planner"

Do not use:

    matedialog --calendar --title=Holiday Planner

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 MateDialog 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:

    "_Choose a name".

### Avslutningskoder

MateDialog 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 MateDialog 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

MateDialog 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

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

`--about`

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

`--version`

- Visar versionsnumret för MateDialog.

### GTK+-flaggor

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

### Environment Variables

Normally, MateDialog 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. MateDialog 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`.

The following example script shows how to create a calendar dialog:

            #!/bin/sh

            if matedialog --calendar \
            --title="Select a Date" \
            --text="Click on a date to select that date." \
            --day=10 --month=8 --year=2004
              then echo $?
              else echo "No date selected"
            fi

### Exempel på kalenderdialog

MateDialog calendar dialog example

## Filväljardialog

Use the `--file-selection` option to create a file selection dialog. MateDialog 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.

The following example script shows how to create a file selection dialog:

            #!/bin/sh

            FILE=`matedialog --file-selection --title="Select a File"`

            case $? in
                     0)
                            echo "\"$FILE\" selected.";;
                     1)
                            echo "No file selected.";;
                    -1)
                            echo "No file selected.";;
            esac

### Exempel på filväljardialog

MateDialog file selection dialog example

## Notifieringsikon

`--text`=`text`

- Anger texten som visas i notifieringsytan.

The following example script shows how to create a notification icon:

            #!/bin/sh

            matedialog --notification\
              --window-icon="info" \
              --text="There are system updates necessary!"

### Exempel på notifieringsikon

MateDialog notification icon example

## Listdialog

Use the `--list` option to create a list dialog. MateDialog 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.

The following example script shows how to create a list dialog:

            #!/bin/sh

            matedialog --list \
              --title="Choose the Bugs You Wish to View" \
              --column="Bug Number" --column="Severity" --column="Description" \
                992383 Normal "GtkTreeView crashes on multiple selections" \
                293823 High "MATE Dictionary does not handle proxy" \
                393823 Critical "Menu editing does not work in MATE 2.0"

### Exempel på listdialog

MateDialog list dialog example

## Meddelandedialoger

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

The following example script shows how to create an error dialog:

              #!/bin/bash

              matedialog --error \
              --text="Could not find /var/log/syslog."

#### Exempel på feldialog

MateDialog error dialog example

### Informationsdialog

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

The following example script shows how to create an information dialog:

              #!/bin/bash

              matedialog --info \
              --text="Merge complete. Updated 3 of 10 files."

#### Exempel på informationsdialog

MateDialog information dialog example

### Frågedialog

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

The following example script shows how to create a question dialog:

              #!/bin/bash

              matedialog --question \
              --text="Are you sure you wish to proceed?"

#### Exempel på frågedialog

MateDialog question dialog example

### Varningsdialog

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

The following example script shows how to create a warning dialog:

              #!/bin/bash

              matedialog --warning \
              --text="Disconnect the power cable to avoid electrical shock."

#### Exempel på varningsdialog

MateDialog warning dialog example

## Förloppsdialog

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

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

The following example script shows how to create a progress dialog:

            #!/bin/sh
            (
            echo "10" ; sleep 1
            echo "# Updating mail logs" ; sleep 1
            echo "20" ; sleep 1
            echo "# Resetting cron jobs" ; sleep 1
            echo "50" ; sleep 1
            echo "This line will just be ignored" ; sleep 1
            echo "75" ; sleep 1
            echo "# Rebooting system" ; sleep 1
            echo "100" ; sleep 1
            ) |
            matedialog --progress \
              --title="Update System Logs" \
              --text="Scanning mail logs..." \
              --percentage=0

            if [ "$?" = -1 ] ; then
                    matedialog --error \
                      --text="Update canceled."
            fi

### Exempel på förloppsdialog

MateDialog progress dialog example

## Textinmatningsdialog

Use the `--entry` option to create a text entry dialog. MateDialog 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.

The following example script shows how to create a text entry dialog:

            #!/bin/sh

            if matedialog --entry \
            --title="Add an Entry" \
            --text="Enter your _password:" \
            --entry-text "password" \
            --hide-text
              then echo $?
              else echo "No password entered"
            fi

### Exempel på textinmatningsdialog

MateDialog text entry dialog example

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

The following example script shows how to create a text information dialog:

            #!/bin/sh

            FILE=`matedialog --file-selection \
              --title="Select a File"`

            case $? in
                     0)
                            matedialog --text-info \
                              --title=$FILE \
                              --filename=$FILE \
                              --editable 2>/tmp/tmp.txt;;
                     1)
                            echo "No file selected.";;
                    -1)
                            echo "No file selected.";;
            esac

### Exempel på textinformationsdialog

MateDialog text information dialog example