10.6. Il sottomenu «Script-Fu»

Figura 16.252. Il sottomenu «Script-Fu»

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 FiltriScript-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 ricostruzione 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 e si preme il tasto Invio, il comando ed il risultato restituito vengono mostrati nella finestra principale.

Figura 16.253. La console script-fu

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 16.254. Le opzioni del server script-fu

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