### 10.7. 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.7.1. Attivazione del sottomenu

È possibile accedere a questo sottomenu dal menu principale tramite Filtri → Sviluppo → Script-fu.

#### 10.7.2. 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 in fondo per l'inserimento dei comandi Scheme. Quando si batte un comando Scheme e si preme il tasto Invio, il comando ed il risultato restituito vengono mostrati nella finestra principale.

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

  Il pulsante Scorri è vicino alla casella di immissione testo dei comandi Scheme. Se premuto, viene portata in primo piano la finestra di navigazione tra le procedure con il pulsante aggiuntivo Applica:

  Selezionare una procedura PDB dall'elenco e premere il pulsante Applica. La procedura selezionata e i nomi dei parametri verranno incollati nella casella di testo della Script Console.

  Ora basta sostituire i nomi dei parametri dopo il nome della procedura con i valori desiderati. Poi si può 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.7.3. 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 16.236. Le opzioni del server script-fu

Ascolta sull'IP

  L'indirizzo IP su cui il server Script-Fu sarà in ascolto. Di solito è 127.0.0.1 (noto anche come localhost). Modificarlo solo se si è veramente sicuri di cosa si sta facendo.

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 16.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 restituito o messaggio di errore) di lunghezza `L` sarà preceduta dai seguenti 4 byte:

  Tabella 16.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.6. Il sottomenu «Python-Fu» |  | 11. Il menu «Finestre»

Report a bug in GIMP Segnalate l'errore sulla piattaforma apposita