10.7. Undermenuen Script-Fu

Denne undermenu indeholder nogle Script-Fu-kommandoer, især Script-Fu-konsollen. Script-Fu er et sprog til at skrive programmer med, som giver dig mulighed for at køre en række GIMP-kommandoer automatisk.

10.7.1. Aktivering af undermenuen

Du kan tilgå denne kommando i hovedmenuen via FiltreUdviklingScript-Fu.

10.7.2. Script-Fu-konsol

Script-Fu-konsollen er et dialogvindue, hvor du interaktivt kan teste Skema-kommandoer.

Konsollen består af et stort hovedvindue, der kan rulles i, til output og en tekstboks i bunden til indtastning af Skema-kommandoer. Når du skriver en Skema-sætning og derefter trykker på Enter, vises kommandoen og dens returværdi i hovedvinduet.

Figur 16.243. Script-Fu-konsollen

Script-Fu-konsollen

Du kan finde flere oplysninger om Skema og eksempler på, hvordan du bruger Script-Fu-konsollen i Afsnit 3, “En vejledning til Script-Fu”.

Knapperne i Script-Fu-konsollen

Gennemse

Knappen Gennemse findes ved siden af tekstfeltet Skema-kommandoer. Når der klikkes på den, åbnes vinduet procedurebrowser med en ekstra knap Anvend.

Vælg en PDB-procedure på listen, og tryk på knappen Anvend. Den valgte procedure og dens parameternavne indsættes i tekstfeltet i Script-Fu-konsollen.

Nu skal du bare erstatte parameternavnene efter procedurenavnet med faktiske værdier. Derefter kan du kalde proceduren ved at trykke på Enter.

Luk

Denne knap lukker Script-Fu-konsollen.

Ryd

Når du klikker på denne knap, fjernes indholdet i hovedvinduet. Bemærk, at du ikke kan få det fjernede indhold tilbage ved at trykke på knappen Gem.

Gem

Med denne knap kan du gemme hovedvinduets indhold, det vil sige Script-Fu-konsollens output (inklusive >-tegnene).

10.7.3. Start server

Denne kommando starter en server, som læser og udfører Script-Fu-erklæringer (Skema), som du sender til den via en specificeret port.

Figur 16.244. Script-Fu-serverindstillingerne

Script-Fu-serverindstillingerne

Lyt på IP

IP-adressen som Script-Fu-serveren vil lytte på. Dette er normalt 127.0.0.1 (også kendt som localhost). Vælg kun en anden, hvis du ved, hvad du laver.

Serverport

Det portnummer Script-Fu-serveren skal lytte på. Det er muligt at starte mere end én server og selvfølgelig angive forskellige portnumre.

Serverlogfil

Eventuelt kan du angive navnet på en fil, som serveren vil bruge til at logge informations- og fejlmeddelelser. Hvis der ikke er angivet en fil, skrives beskederne til stdout.

Script-Fu-serverprotokollen

Protokollen, der bruges til at kommunikere med Script-Fu-serveren, er meget enkel:

  • Hver besked (Script-Fu-erklæring) af længden L, der sendes til serveren, skal indledes med følgende 3 bytes:

    Tabel 16.1. Kommandoernes headerformat

    Bytenummer Indhold Beskrivelse
    0 0x47 Magisk byte (“G”)
    1 L div 256 L's høje byte
    2 L mod 256 L's lave byte

  • Ethvert svar fra serveren (returværdi eller fejlmeddelelse) af længden L indledes med de følgende 4 byte:

    Tabel 16.2. Svarenes headerformat

    Bytenummer Indhold Beskrivelse
    0 0x47 Magisk byte (“G”)
    1 fejlkode 0 ved succes, 1 ved fejl
    2 L div 256 L's høje byte
    3 L mod 256 L's lave byte

[Vink] Vink

Hvis du ikke vil have beskidte hænder: Der er et Python-script ved navn servertest.py, som leveres med GIMP-kildekoden, og som du kan bruge som en simpel kommandolinjeskal til Script-Fu-serveren.