10.6. Il sottomenu «Script-Fu»
| 10. Il menu «Filtri» |

### 10.6. Il sottomenu «Script-Fu»

Figura 15.203. Il sottomenu «Script-Fu»

Il comando Script-Fu mostra un sottomenu che contiene molti script Script-Fu e opzioni, inclusa la console Script-Fu. Script-Fu è un linguaggio per scrivere script, che permette di eseguire una serie di comandi GIMP automaticamente.

#### 10.6.1. Attivazione del sottomenu

- È possibile accedere a questo comando dalla barra del menu immagine tramite Filtri → Script-fu.

#### 10.6.2. Ricarica gli script

Sarà necessario questo comando ad ogni aggiunta, rimozione o modifica di uno script-fu. Il comando provoca la ricarica degli script-fu e la ricustruzione totale dei menu contenenti gli script-fu. Se non si usa il comando, GIMP non sarà in grado di rilevare i cambiamenti sino al prossimo riavvio.

Notare che non si otterrà nessun riscontro dell'operazione avvenuta, a meno che non si salvi, se uno degli script fallisse per qualche motivo.

#### 10.6.3. Console script-fu

La console script-fu è una finestra di dialogo entro la quale è possibile sperimentare interattivamente i comando Scheme.

La console consiste di una grande finestra principale scorrevole per i risultati e un riquadro di testo usato per l'inserimento dei comandi Scheme. Quando si batte un comando Scheme esi preme il tasto Invio, il comando ed il suo risultato di ritorno viene mostrato nella finestra principale.

Figura 15.204. La console script-fu

Si troverà ulteriori informazioni sul linguaggio Scheme ed esempi su come usare la console Script-Fu in Sezione 3, «Una guida sugli Script-Fu»." msgstr ""

I pulsanti della console script-fu

Scorri

  Questo pulsante è vicino alla casella di immissione testo dei comandi Scheme. Se premuto, viene portato in primo piano il navigatore di procedure con un pulsante aggiuntivo in fondo alla finestra:

  Il pulsante aggiuntivo del navigatore di procedure

  Quando si preme il pulsante Applica nel navigatore delle procedure, la procedura selezionata viene incollata nella finestra di immissione testo:

  Procedura PDB applicata

  Ora basta sostituire i nomi dei parametri (qui: «layer» e «mode») con i valori voluti e poi chiamare la procedura premendo il pulsante Invio.

Chiudi

  Premendo questo pulsante si chiude la console script-fu.

Cancella

  Quando si fa clic su questo pulsante, il contenuto della finestra principale verrà rimosso. Notare che non è possibile ottenere nuovamente il contenuto cancellato usando il comando Salva.

Salva

  Questo comando permette di salvare il contenuto della finestra principale, cioè la console dei risultati degli script-fu (inclusi i caratteri «`>`»-).

#### 10.6.4. Avvia il server

Questo comando fa partire un server che legge ed esegue i comandi script-fu (Scheme) che vengono spediti ad esso tramite una porta specificata.

Figura 15.205. Le opzioni del server script-fu

Porta del server

  Il numero di porta sulla quale ascolterà il server script-fu. È possibile eseguire più di un server contemporaneamente, naturalmente specificando numeri di porta differenti.

File di log del server

  Opzionalmente è possibile specificare il nome di un file per il server da usare per annotare le informazioni sul funzionamento e i messaggi di errore. Se non viene specificato alcun file, questi messaggi verranno scritti sullo stdout.

Il protocollo server script-fu

Il protocollo usato per comunicare con il server script-fu è molto semplice:

- Ogni messaggio (comando script-fu) di lunghezza `L` spedito al server deve essere preceduto dai seguenti 3 byte:

  Tabella 15.1. Formato delle intestazioni per i comandi

  Byte # | Contenuto | Descrizione
  --- | --- | ---
  0 | 0x47 | Byte "magico" ("G")
  1 | L div 256 | Byte alto di `L`
  2 | L mod 256 | Byte basso di `L`

- Ogni risposta dal server (valore di ritorno o messaggio di errore) di lunghezza `L` sarà preceduta dai seguenti 4 byte:

  Tabella 15.2. Formato delle intestazioni per le risposte

  Byte # | Contenuto | Descrizione
  --- | --- | ---
  0 | 0x47 | Byte "magico" ("G")
  1 | codice di errore | 0 per successo, 1 per errore
  2 | L div 256 | Byte alto di `L`
  3 | L mod 256 | Byte basso di `L`

| Suggerimento
Se non si desidera sporcarsi le mani: esiste uno script in Python di nome servertest.py distribuito con il sorgente di GIMP che può essere usato come semplice shell a riga di comando per il server script-fu.

10.5. Il sottomenu «Python-Fu» |  | 11. Il menu «Finestre»