Dit submenu bevat enkele opdrachten voor Script-Fu, speciaal de console van Script-Fu. Script-Fu is een taal voor het schrijven van scripts, die u in staat stellen een reeks opdrachten van GIMP automatisch uit te voeren.
De console van Script-Fu is een dialoogvenster waar u interactief opdrachten van Scheme kunt testen.
De console bestaat uit een groot, te scrollen, hoofdvenster voor de uitvoer en een tekstvak aan de onderzijde om opdrachten van Scheme in te voeren. Wanneer u een argument van Scheme typt en dan drukt op de Enter-toets, zal de opdracht en zijn teruggegeven waarde worden weergegeven in het hoofdvenster.
U kunt meer informatie over Scheme, en voorbeelden van hoe de console van Script-Fu te gebruiken, vinden in Paragraaf 3, “Een handleiding voor Script-Fu”.
De knoppen in de console van Script-Fu
De knop procedureverkenner met een aanvullende knop .
staat naast het tekstvak voor de opdrachten van Scheme. Indien geklikt opent het venster van deSelecteer een PDB-procedure uit de lijst en druk op de knop . De geselecteerde procedure en de namen van zijn parameters zullen in het tekstvak van de scriptconsole worden geplakt.
Nu hoeft u alleen de namen van de parameters, na de naam van de procedure, te vervangen door de feitelijke waarden. Daarna kunt u de procedure aanroepen door op Enter te drukken.
Drukken op deze knop sluit de console van Script-Fu.
Wanneer u op deze knop klikt zal de inhoud van het hoofdvenster worden verwijderd. Onthoud dat u de verwijderde inhoud niet terug kunt halen met de opdracht Opslaan.
Deze opdracht laat u de inhoud van het hoofdvenster opslaan, dat is de uitvoer in de console van Script-Fu (inclusief de tekens “>
”).
Deze opdracht zal een server opstarten, die argumenten van Script-Fu (Scheme) leest en uitvoert, die u er naartoe stuurt via een gespecificeerde poort.
Het IP-adres waarop de server van Script-Fu zal luisteren. Dit is gewoonlijk 127.0.0.1 (ook bekend als localhost). Wijzig dit alleen als u weet wat u doet.
Het poortnummer waar de server van Script-Fu zal luisteren. Het is mogelijk om meer dan een server te starten, door verschillende poortnummers te specificeren natuurlijk.
Optioneel kunt u de naam specificeren voor een bestand dat de server zal gebruiken om informatieve en foutberichten te loggen. Als er geen bestand is gespecificeerd, zullen de berichten naar stdout worden geschreven.
Het protocol voor de server van Script-Fu
Het protocol dat wordt gebruikt om te communiceren met de server van Script-Fu is heel simpel:
Elk bericht (argument voor Script-Fu) met de lengte L
, verstuurd naar de server, moet worden voorafgegaan door de volgende 3 bytes:
Tabel 16.1. Header-indeling voor opdrachten
Byte # | Inhoud | Beschrijving |
---|---|---|
0 | 0x47 | Magisch byte ('G') |
1 | L div 256 | Hoge byte van L |
2 | L mod 256 | Lage byte van L |
Elk antwoord vanuit de server (teruggegeven waarde of foutbericht) van de lengte L
zal worden voorafgegaan door de volgende 4 bytes:
Tabel 16.2. Header-indeling voor antwoorden
Byte # | Inhoud | Beschrijving |
---|---|---|
0 | 0x47 | Magisch byte ('G') |
1 | foutcode | 0 bij succes, 1 bij fout |
2 | L div 256 | Hoge byte van L |
3 | L mod 256 | Lage byte van L |
Tip | |
---|---|
Als u uw handen niet vuil wilt maken: er is een script voor Python, genaamd servertest.py, dat is meegeleverd met de broncode van GIMP, dat u als een eenvoudige shell voor de opdrachtregel voor de server van Script-Fu kunt gebruiken. |