10.7. Le sous-menu « Script-Fu »

Ce sous-menu contient quelques commandes de script-fu, en particulier la console de script-fu. Script-Fu est un langage de script, permettant d’automatiser une succession de commandes GIMP.

10.7.1. Activating the Submenu

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

10.7.2. Console Script-fu

La Console de script-fu est une boîte de dialogue où vous pouvez tester les commandes Scheme interactivement.

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.

Figure 16.234. La console de Script-fu

La console de Script-fu

Vous trouverez plus d’information sur Scheme et la façon d’utiliser la console de script-fu dans Section 3, « Didacticiel pour Script-Fu ».

Les boutons de la console de Script-Fu

Parcourir

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.

Fermer

En cliquant sur ce bouton, vous fermez la console de script-fu.

Effacer

Efface le contenu de la fenêtre principale. Vous ne pourrez plus la récupérer.

Enregistrer

Enregistre le contenu de la fenêtre principale, c.-à-d la sortie de la console de script-fu, y compris les caractères « > ».

10.7.3. Démarrer le serveur

Cette commande démarre un serveur qui lit et exécute les déclarations (Sheme) de script-fu que vous lui envoyez par l’intermédiaire d’un port spécifié.

Figure 16.235. Options du serveur de Script-Fu

Options du serveur de Script-Fu

Listen on IP

The IP address the Script-Fu server will listen on. This is usually 127.0.0.1 (also known as localhost). Only change this if you know what you are doing.

Port du serveur

C’est le numéro du port que le serveur de script-fu surveillera. Il est possible de démarrer plus d’un serveur, en spécifiant plusieurs numéros de port.

Journal du serveur

Vous pouvez spécifier le nom d’un fichier que le serveur utilisera pour y consigner des informations sur le déroulement du script et des messages d’erreur. Si aucun fichier n’est spécifié, les messages seront affichés.

Le protocole du serveur de Script-Fu

Le protocole utilisé pour communiquer avec le serveur de script-fu est très simple :

  • Chaque message (déclaration script-fu) de longueur L envoyé au serveur doit être précédé des 3 octets suivants :

    Tableau 16.1. Format du Header (en-tête) pour les commandes

    Octet N° Contenu Description
    0 0x47 Octet magique ('G')
    1 L div 256 Octet de poids fort de L
    2 L mod 256 Octet de poids faible de L

  • Chaque réponse du serveur (valeur retournée ou message d’erreur) sera précédée des quatre octets suivants :

    Tableau 16.2. Format du Header pour les réponses

    Octet N° Contenu Description
    0 0x47 Octet magique ('G')
    1 Code d’erreur 0 si succès, 1 si erreur
    2 L div 256 Octet de poids fort de L
    3 L mod 256 Octet de poids faible de L

[Astuce] Astuce

Si vous ne voulez pas vous salir les mains, vous pouvez recourir au script python servertest.py livré avec le code source de GIMP, à utiliser en ligne de commande pour le serveur de script-fu.