10.6. Le sous-menu « Script-Fu »
| 10. Le menu « Filtres » |

### 10.6. Le sous-menu « Script-Fu »

Figure 16.204. 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.6.1. Accès au sous-menu

- Vous trouverez cette commande dans la barre de menus de la Boîte à outils en suivant : Filtres → Script-Fu.

#### 10.6.2. Actualiser les scripts

Vous aurez besoin de cette commande chaque fois que ajouterez, supprimerez ou modifierez un script-fu. Elle recharge les script-fus et les menus contenant les script-fus en reprenant tout à zéro. Si vous ne l'appliquez pas, GIMP ne tiendra pas compte de vos changements jusqu'à ce que vous le redémarriez.

Notez que vous n'aurez aucun retour d'information, à moins de l'enregistrer, si un de vos scripts se plante.

#### 10.6.3. Console Script-fu

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

Elle consiste en une grande fenêtre, que vous pouvez faire défiler, pour les sorties, et une boîte de texte pour les commandes Scheme. Quand vous aurez entré une déclaration Scheme et appuyé sur Entrée, la commande et ses résultats s'afficheront dans la fenêtre principale.

Figure 16.205. 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

  Ce bouton est près de la boîte de texte Scheme. En cliquant dessus, on ouvre l' Navigateur de procédures , avec un nouveau bouton en bas de la fenêtre :

  Le bouton supplémentaire du Navigateur de procédures

  En cliquant sur ce bouton Appliquer, la procédure sélectionnée est copiée dans la boîte de texte :

  Procédure PDB appliquée

  Il ne vous reste plus qu'à remplacer les noms de paramètres (ici « layer » et « mode ») par vos valeurs. Vous pouvez alors appeler la procédure en appuyant sur Entrée.

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.6.4. 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.206. Options du serveur de Script-Fu

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
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.

10.5. Le sous-menu « Python-Fu » |  | 11. Le menu « Fenêtres »

Envoyez un rapport d'anomalie à Bugzilla