10.6. El submenú «Script-Fu»
| 10. El menú «Filtres» |

### 10.6. El submenú «Script-Fu»

Figura 16.247. El submenú «Script-Fu»

Aquest submenú conté algunes ordres Scrip-Fu, especialment la consola de Script-Fu. Script-Fu és un llenguatge per a escriure scripts, que us permeten executar una sèrie d'ordres de GIMP automàticament.

#### 10.6.1. Activar el submenú

- Podeu accedir a aquesta ordre des del menú de la imatge amb Filtres → Script-Fu.

#### 10.6.2. Actualitza els scripts

Necessiteu aquesta ordre cada vegada que afegiu, suprimiu o canvieu un script de Script-Fu. L'ordre fa que els Script-Fus es recarreguin i que els menús que contenen Script-Fus es reconstrueixin des de zero. Si no useu aquesta ordre, GIMP no notarà els canvis fins que no l'inicieu una altra vegada.

Tingueu en compte que no obtindreu cap resposta, tret que ho deseu, si un dels scripts falla.

#### 10.6.3. Consola de Script-Fu

La consola de Script-Fu és una finestra de diàleg en què podeu provar interactivament les ordres Scheme.

La consola consisteix en una gran finestra principal desplaçable per a la sortida i una caixa de text usada per a les ordres Scheme. Quan escriviu una instrucció de Scheme i premeu la tecla Retorn, l'ordre i el seu valor resultant es mostren en la finestra principal.

Figura 16.248. Consola de Script-Fu

Trobareu més informació sobre Scheme i exemples de com usar la consola de Script-Fu en laSecció 3, «Programa d'aprenentatge de l’Script-Fu».

Botons de la consola Script-Fu

Navega

  Aquest botó és a prop de la caixa de text de les ordres Scheme. Quan hi feu clic, apareix el navegador de procediments, amb un botó addicional en la part inferior de la finestra:

  El botó addicional del navegador de procediments

  Quan premeu en el botó Aplica en el navegador de procediments, el procediment seleccionat s'enganxarà en la caixa de text:

  Procediment PDB aplicat

  Ara heu de reemplaçar els noms del paràmetre (aquí: «capa» i «mode») amb els valors reals, i llavors podeu cridar el procediment prement Retorn.

Tanca

  En prémer aquest botó es tanca la consola de Script-Fu.

Neteja

  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.

Desa

  Aquesta ordre us permet desar el contingut de la finestra principal, que és la sortida de la consola Script-Fu (incloent-hi els caràcters «`>`»).

#### 10.6.4. Inicia el servidor

Aquesta ordre iniciarà un servidor, que llegeix i executa les instruccions Script-Fu (Scheme) que envieu a través d'un port especificat.

Figura 16.249. Opcions de servidor Script-Fu

Port del servidor

  El número del port per on el servidor de Script-Fu escoltarà. És possible iniciar més d'un servidor, especificant diferents números de port, per descomptat.

Fitxer de registre (log) del servidor:

  Opcionalment podeu especificar el nom d'un fitxer que el servidor usarà per a registrar missatges informals i d'error. Si no s'especifica un fitxer, els missatges s'escriuran en «stdout».

El protocol de servidor Script-Fu

El protocol usat per a comunicar amb el servidor Script-Fu és molt senzill:

- Cada missatge (instrucció Script-Fu) de longitud `L` que s'envia al servidor ha d'anar precedida dels 3 bytes següents:

  Taula 16.1. Format de capçalera per a les ordres

  Byte núm. | Contingut | Descripció
  --- | --- | ---
  0 | 0x47 | Byte màgic ('G')
  1 | L div 256 | Byte alt de `L`
  2 | L mod 256 | Byte baix de `L`

- Cada resposta del servidor (valor de retorn o missatge d'error) de longitud `L` precedit dels 4 bytes següents:

  Taula 16.2. Format de capçalera per a la resposta

  Byte núm. | Contingut | Descripció
  --- | --- | ---
  0 | 0x47 | Byte màgic ('G')
  1 | codi d'error | 0 per a èxit, 1 per a error
  2 | L div 256 | Byte alt de `L`
  3 | L mod 256 | Byte baix de `L`

| Suggeriment
Si no voleu embrutar-vos les mans: hi ha un script Python anomenat servertest.py subministrat amb el codi font de GIMP, que podeu usar com un senzill intèrpret de la línia d'ordres per al servidor Script-Fu.

10.5. El submenú «Python-Fu» |  | 11. El menú «Finestres»

Report an error in the bug tracker