# Manual til MateDialog

## Introduktion

MateDialog lader dig oprette følgende typer af simple dialogvinduer:

- Kalender

- Filvælger

- Liste

- Påmindelsesikon

- Meddelelse

  - Fejl

  - Information

  - Spørgsmål

  - Advarsel

- Statusbjælke

- Tekstfelt

- Tekstinformation

## Brug

Hvis du skriver et script, kan du bruge MateDialog til at oprette simple dialogvinduer, der interagerer grafisk med brugeren på følgende vis:

- Du kan oprette et dialogvindue for at indhente information fra brugeren. For eksempel kan du bede brugeren om at vælge en dato fra et kalendervindue, eller om at vælge en fil fra en filvælger.

- Du kan oprette et dialogvindue for at vise information til brugeren. For eksempel kan du bruge en statusbjælke til at angive status for en operation, eller vise en advarsel til brugeren.

Når brugeren lukker dialogvinduet, vil MateDialog udskrive teksten, der blev produceret af vinduet, til standard output.

Når du skriver MateDialog-kommandoer, så sikr dig, at du skriver anførselstegn omkring hvert argument.

Brug for eksempel:

    matedialog --calendar --title="Planer for ferie"

Brug ikke:

    matedialog --calendar --title=Planer for ferie

Hvis du ikke bruger anførselstegn, kan du få uventede resultater.

### Genvejstaster

En genvejstast er en tast, der lader dig foretage en handling ved hjælp af tastaturet, frem for at bruge musen til at vælge en kommando fra en menu eller et dialogvindue. Hver genvejstast markeres ved et understreget tegn i en menu eller ved et dialogvalgmulighed.

Visse MateDialog-dialogvinduer understøtter genvejstaster. Genvejstaster angives ved at placere en bundstreg umiddelbart før det tegn, der svarer til genvejstasten, i dialogteksten. Følgende eksempel viser hvordan man angiver bogstavet "C" som genvejstast:

    "_Vælg et navn".

### Afslutningskoder

MateDialog returnerer følgende afslutningskoder:

Afslutningskode | Beskrivelse
`0` | Brugeren har trykket enten O.k. eller Luk.
`1` | Brugeren har trykket enten Annullér eller brugt vinduesfunktionerne til at lukke dialogvinduet.
`-1` | Der opstod en uventet fejl.
`5` | Dialogvinduet er blevet lukket, fordi tiden er løbet ud.

### Generelle tilvalg

Alle MateDialog-dialogvinduer understøtter følgende generelle tilvalg:

`--title`=`titel`

- Angiver titel på et dialogvindue.

`--window-icon`=`ikonsti`

- Angiver det ikon, der skal vises i dialogvinduets ramme. Der er fire standardikoner, der kan bruges ved at angive følgende nøgleord: "info", "warning", "question" eller "error".

`--width`=`bredde`

- Angiver dialogvinduets bredde.

`--height`=`højde`

- Angiver dialogvinduets højde.

`--timeout`=`tidsudløb`

- Angiver tidsudløbet i sekunder, hvorefter dialogvinduet lukkes.

### Hjælpetilvalg

MateDialog stiller følgende hjælpetilvalg til rådighed:

`--help`

- Viser en kort hjælpetekst.

`--help-all`

- Viser den fulde hjælpetekst for alle dialogvinduer.

`--help-general`

- Viser hjælpetekst til de generelle dialogtilvalg.

`--help-calendar`

- Viser hjælpetekst for kalenderdialogvinduets tilvalg.

`--help-entry`

- Viser hjælpetekst for tilvalg til tekstindtastningsfelter.

`--help-error`

- Viser hjælpetekst for tilvalg til dialogvinduer med fejlmeddelelser.

`--help-info`

- Viser hjælpetekst for tilvalg til dialogvinduer med informationsmeddelelser.

`--help-file-selection`

- Viser hjælpetekst til filvælgerdialogvinduer.

`--help-list`

- Viser hjælpetekst til listedialogvinduer.

`--help-notification`

- Viser hjælpetekst til påmindelsesikoner.

`--help-progress`

- Viser hjælpetekst til statusbjælkedialogvinduer.

`--help-question`

- Viser hjælpetekst til spørgsmålsdialogvinduer.

`--help-warning`

- Viser hjælpetekst til advarselsdialogvinduer.

`--help-text-info`

- Viser hjælpetekst til informationsdialogvinduer.

`--help-misc`

- Viser hjælpetekst til diverse tilvalg.

`--help-gtk`

- Viser hjælp til GTK+-tilvalg.

### Diverse tilvalg

MateDialog stiller yderligere følgende "diverse" tilvalg til rådighed:

`--about`

- Viser dialogvinduet Om MateDialog, som indeholder versionsinformation, ophavsretsinformation samt udviklerinformation om MateDialog.

`--version`

- Viser versionsnummeret for denne udgave af MateDialog.

### GTK+-tilvalg

MateDialog understøtter standard-GTK+-tilvalgene. Kør kommandoen `matedialog -?` for at få yderligere information om GTK+-tilvalg.

### Miljøvariable

Normalt vil MateDialog detektere terminalvinduet, hvorfra det er blevet kørt, og holde sit eget vindue over dette vindue. Denne opførsel kan slås fra ved at nulstille miljøvariablen `WINDOWID`.

## Kalenderdialogvindue

Brug `--calendar`-tilvalget til at oprette et kalenderdialogindue. MateDialog returnerer den valgte dato til standard output. Hvis ingen dato angives på kommandolinjen, bruger dialogvinduet den aktuelle dato.

Kalenderdialogvinduet understøtter følgende tilvalg:

`--text`=`tekst`

- Angiver teksten, der vises i kalenderdialogvinduet.

`--day`=`dag`

- Angiver den dag, der markeres i kalenderdialogvinduet. `dag` skal være et tal mellem 1 og 31 inklusive.

`--month`=`måned`

- Angiver måneden, der markeres i kalenderdialogvinduet. `måned` skal være et tal mellem 1 og 12, inklusive.

`--year`=`år`

- Angiver året, der markeres i kalenderdialogvinduet.

`--date-format`=`format`

- Angiver formatet, der returneres fra kalenderdialogen efter datoen er blevet valgt. Standardformatet afhænger af regionaldata. `format` skal være et format, som accepteres af `strftime`-funktionen, såsom `%A %d/%m/%y`.

Følgende eksempelscript viser, hvordan man opretter et kalenderdialogvindue:

            #!/bin/sh

            if matedialog --calendar \
            --title="Vælg en dato" \
            --text="Klik på den dato, du vil vælge." \
            --day=10 --month=8 --year=2004
              then echo $?
              else echo "Ingen dato valgt"
            fi

### Eksempel på kalenderdialog

MateDialog eksempel på kalenderdialog

## Filvælgerdialogvindue

Brug tilvalget `--file-selection` til at oprette et filvælgerdialogvidue. MateDialog returnerer de valgte filer eller mapper til standard output. Standardtilstanden for filvælgeren er åbn.

Filvælgerdialogvinduer understøtter følgende tilvalg:

`--filename`=`filnavn`

- Angiver den fil eller mappe, som er valgt i filvælgeren, når dialogvinduet først vises.

`--multiple`

- Tillader valg af flere filnavne i filvælgeren.

`--directory`

- Tillader kun valg af mapper i filvælgeren.

`--save`

- Sæt filvælgerdialogen til gemmetilstand.

`--separator`=`skilletegn`

- Angiver strengen, der bruges til at dele listen af returnerede filnavne.

Det følgende eksempelscript viser, hvordan man opretter et filvælgerdialogvindue:

            #!/bin/sh

            FILE=`matedialog --file-selection --title="Vælg en fil"`

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

### Eksempel med filvælgerdialogvindue

MateDialog eksempel på filvælgervindue

## Påmindelsesikon

`--text`=`tekst`

- Angiver teksten, der vises i påmindelsesområdet.

Følgende eksempelscript viser, hvordan man opretter et påmindelsesikon:

            #!/bin/sh

            matedialog --notification\
              --window-icon="info" \
              --text="Der er nødvendige systemopdateringer!"

### Eksempel på påmindelsesikon

MateDialog eksempel på påmindelsesikon

## Listedialogvindue

Brug tilvalget `--list` til at oprette et listedialogvindue. MateDialog returnerer elementerne i første kolonne af teksten i de valgte rækker til standard output.

Data for dialogvinduet skal angives kolonne efter kolonne, række efter række. Data kan gives til dialogen gennem standard input. Hvert element skal adskilles af et linjeskiftstegn.

Hvis du bruger tilvalget `--checklist` eller `--radiolist`, skal hver række starte med enten "TRUE" eller "FALSE".

Listedialogvinduet understøtter følgende tilvalg:

`--column`=`kolonne`

- Angiver kolonneoverskrifterne, der vises i listedialogvinduet. Du skal angive et `--column`-tilvalg for hver kolonne, du vil have vist i dialogvinduet.

`--checklist`

- Angiver at første kolonne i listedialogvinduet indeholder afkrydsningsfelter.

`--radiolist`

- Angiver at første kolonne i listedialogvinduet indeholder radiofelter.

`--editable`

- Tillader redigering af de viste elementer.

`--separator`=`skilletegn`

- Angiver den streng, der bruges når listedialogvinduet returnerer de valgte elementer.

`--print-column`=`kolonne`

- Angiver den kolonne, der skal udskrives når der vælges. Standardkolonnen er "1". "ALL" kan bruges til at udskrive alle kolonner i listen.

Følgende eksempelscript viser, hvordan et listedialogvindue oprettes:

### Eksempel med listedialogvindue

MateDialog eksempel på listedialogvindue

## Meddelelsesdialogvinduer

MateDialog kan oprette fire typer af meddelelsesdialogvinduer:

- Fejl

- Information

- Spørgsmål

- Advarsel

For hver type, kan du bruge tilvalget `--text` til at angive den tekst, der vises i dialogvinduet.

### Fejldialogvindue

Brug tilvalget `--error` til at oprette et fejldialogvindue.

Det følgende eksempelscript viser, hvordan man opretter et fejldialogvindue:

              #!/bin/bash

              matedialog --error \
              --text="Kunne ikke finde /var/log/syslog."

#### Eksempel på fejldialogvindue

MateDialog eksempel på fejldialogvindue

### Informationsdialogvindue

Brug tilvalget `--info` til at oprette et informationsdialogvindue.

Følgende eksempelscript viser hvordan et informationsdialogvindue oprettes:

              #!/bin/bash

              matedialog --info \
              --text="Sammenfletning fuldført. Opdaterede 3 af 10 filer."

#### Eksempel på informationsdialogvindue

MateDialog eksempel på informationsdialogvindue

### Spørgsmålsdialogvindue

Brug tilvalget `--question` til at oprette et spørgsmålsdialogvindue.

Følgende eksempel viser, hvordan et spørgsmålsdialogvindue oprettes:

              #!/bin/bash

              matedialog --question \
              --text="Er du sikker på, at du vil fortsætte?"

#### Eksempel på spørgsmålsdialogvindue

MateDialog eksempel på spørgsmålsdialogvindue

### Advarselsdialogvindue

Brug tilvalget `--warning` til at oprette et advarselsdialogvindue.

Følgende eksempelscript viser, hvordan et advarselsdialogvindue oprettes:

              #!/bin/bash

              matedialog --warning \
              --text="Træk strømkablet ud for at undgå elektrisk stød."

#### Eksempel på advarselsdialogvindue

MateDialog eksempel på advarselsdialogvindue

## Dialogvindue med statusbjælke

Brug tilvalget `--progress` til at oprette et dialogvindue med en statusbjælke.

MateDialog læser data linjevis fra standard input. Hvis en linje starter med #, vil teksten blive opdateret med den efterfølgende tekst på den pågældende linje. Hvis en linje kun indeholder et tal, vil vil procenttallet blive opdateret med dette tal.

Statusbjælkedialogvinduet understøtter følgende tilvalg:

`--text`=`tekst`

- Angiver teksten, der vises i statusbjælkedialogvinduet.

`--percentage`=`procentdel`

- Angiver det procenttal, der fra starten vises i statusbjælkedialogvinduet.

`--auto-close`

- Lukker statusbjælken, når den har nået 100%.

`--pulsate`

- Angiver at statusbjælken pulserer indtil der læses et EOF-tegn fra standard input.

Følgende eksempelscript viser, hvordan et dialogvindue med en statusbjælke oprettes:

            #!/bin/sh
            (
            echo "10" ; sleep 1
            echo "# Opdaterer e-postlogge" ; sleep 1
            echo "20" ; sleep 1
            echo "# Nulstiller cron-jobs" ; sleep 1
            echo "50" ; sleep 1
            echo "Denne linje bliver blot ignoreret" ; sleep 1
            echo "75" ; sleep 1
            echo "# Genstarter systemet" ; sleep 1
            echo "100" ; sleep 1
            ) |
            matedialog --progress \
              --title="Opdaterer systemlogge" \
              --text="Scanner e-postlogge..." \
              --percentage=0

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

### Eksempel på dialogvindue med statusbjælke

MateDialog eksempel på dialogvindue med statusbjælke

## Tekstfelt

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

Tekstfeltsdialogvinduet understøtter følgende tilvalg:

`--text`=`tekst`

- Angiver teksten, der vises i dialogvinduet.

`--entry-text`=`tekst`

- Angiver teksten, der vises i tekstfeltets indtastningsfelt.

`--hide-text`

- Skjuler teksten i tekstfeltet.

Følgende eksempel viser, hvordan man opretter et dialogvindue med et tekstindtastingsfelt:

            #!/bin/sh

            if matedialog --entry \
            --title="Tilføj et tekstfelt" \
            --text="Indtast din _adgangskode:" \
            --entry-text "adgangskode" \
            --hide-text
              then echo $?
              else echo "Ingen adgangskode valgt"
            fi

### Eksempel på dialogvindue med et tekstindtastningsfelt

MateDialog eksempel på dialogvindue med tekstindtastningsfelt

## Tekstinformationsdialogvindue

Brug tilvalget `--text-info` til at oprette et dialogvindue med tekstinformation.

Tekstinformationsdialogvinduet understøtter følgende tilvalg:

`--filename`=`filnavn`

- Angiver en fil, der indlæses i tekstinformationsdialogvinduet.

`--editable`

- Tillader redigering af den viste tekst. Den redigerede tekst returneres til standard output, når dialogvinduet lukkes.

Følgende eksempelscript viser, hvordan et tekstinformationsdialogvindue oprettes:

            #!/bin/sh

            FILE=`matedialog --file-selection \
              --title="Vælg en fil"`

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

### Eksempel på dialogvindue med tekstinformation

MateDialog eksempel på tekstinformationsvindue