10.6. Il sottomenu «Script-Fu»

Figura 16.207. 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 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 restituito viene mostrato nella finestra principale.

Figura 16.208. 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.209. 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.