10.6. Das Untermenü Skript-Fu

Dieses Untermanü enthält einige Skript-Fu-spezifische Kommandos, insbesondere die Skript-Fu-Konsole. Skript-Fu ist eine Programmiersprache für (kleine) Skripte, mit denen Sie GIMP-Kommandos automatisieren können.

10.6.1. Activating the Submenu

  • You can access this command from the main menu through FiltersDevelopmentScript-Fu.

10.6.2. Skripte auffrischen

Dieses Kommando brauchen Sie immer dann, wenn Sie ein Skript-Fu-Skript hinzufügen, entfernen oder verändern. Mit diesem Befehl werden alle Skript-Fu-Skripte neu eingelesen und die Menüs, die Skript-Fu-Skripte enhalten, vollständig neu aufgebaut. Wenn Sie dieses Kommando nicht anwenden, werden Änderungen erst beim nächsten Programmstart von GIMP registriert.

Beachten Sie, dass Sie keine Rückmeldung erhalten, außer wenn die Registrierung eines Ihrer Skripte fehlschlägt.

10.6.3. Skript-Fu-Konsole

Die Skript-Fu-Konsole ist ein Dialogfenster, in dem Sie interaktiv Scheme-Kommandos ausprobieren können.

The console consists of a large scrollable main window for output and a text box at the bottom to enter Scheme commands. When you type a Scheme statement and then press the Enter key, the command and its return value will be displayed in the main window.

Abbildung 16.252. Die Skript-Fu-Konsole

Die Skript-Fu-Konsole

Mehr Informationen zu Scheme sowie Beispiele zur Benutzung der Script-Fu-Konsole finden Sie in Abschnitt 3, „Ein Skript-Fu-Tutorial“.

Die Schaltflächen der Skript-Fu-Konsole

Durchsuchen

The Browse button is next to the Scheme commands text box. When clicked, the procedure browser window opens with an additional Apply button.

Select a PDB procedure from the list and press the Apply button. The selected procedure and its parameter names will be pasted into the text box of the Script Console.

Now you just have to replace the parameter names after the procedure name with actual values. Then you can call the procedure by pressing Enter.

Schließen

Ein Klick auf diese Taste schließt die Skript-Fu-Konsole.

Leeren

When you click on this button, the content of the main window will be removed. Note that you can't get back the removed content using the Save command.

Speichern

Mit diesem Kommando können Sie den Inhalt des Hauptfensters, also die Ausgabe der Skript-Fu-Konsole, speichern (einschließlich der >-Zeichen).

10.6.4. Server starten

Mit diesem Kommando starten Sie einen Server, an den Sie Scheme- bzw. Script-Fu-Anweisungen über einen bestimmten Port senden können.

Abbildung 16.253. Die Einstellungen des Skript-Fu-Servers

Die Einstellungen des Skript-Fu-Servers

Server-Port

Die Nummer des Ports, an dem der Skript-Fu-Server lauscht. Es ist möglich, mehrere Server zu starten, wenn Sie unterschiedliche Portnummern verwenden.

Server-Logdatei

Optional können Sie hier den Namen einer Datei angeben, die der Server für die Ausgabe von verschiedenen Meldungen verwendet. Falls keine Datei angegeben wurde, wird einfach in die Standardausgabe geschrieben.

Das Skript-Fu-Server-Protokoll

Das Protokoll, das für die Kommunikation mit dem Server verwendet wird, ist ganz einfach:

  • Jeder Nachricht (Skript-Fu-Anweisung) der Länge L, die Sie an den Server senden, müssen folgende 3 Bytes vorangestellt werden:

    Tabelle 16.1. Header für Skript-Fu-Server-Kommandos

    Byte-Nr. Inhalt Beschreibung
    0 0x47 Erkennung-(magisches)-Byte ('G')
    1 L div 256 Höherwertiges Byte von L
    2 L mod 256 Niederwertiges Byte von L

  • Jede Antwort des Servers besteht aus einer Nachricht (Rückgabewert oder Fehlermeldung) der Länge L, der folgende 4 Bytes vorangestellt sind:

    Tabelle 16.2. Header für Skript-Fu-Server-Antworten

    Byte-Nr. Inhalt Beschreibung
    0 0x47 Erkennung-(magisches)-Byte ('G')
    1 Fehlercode 0 bei Erfolg, sonst 1
    2 L div 256 Höherwertiges Byte von L
    3 L mod 256 Niederwertiges Byte von L

[Tipp] Tipp

Falls Sie sich nicht die Hände schmutzig machen wollen: Der Quellcode von GIMP enthält ein Python-Skript namens servertest.py, das Sie wie eine einfache Shell für den Skript-Fu-Server verwenden können.