10.6. El submenú Script-Fu

Figura 16.269. El submenú Script-Fu

El submenú “Script-Fu”

Este submenú contiene algunos comandos Scrip-Fu, especialmente la consola de Script-Fu. Script-Fu es un lenguaje para escribir scripts, que le permiten ejecutar una serie de comandos de GIMP automáticamente.

10.6.1. Activar el submenú

  • Puede acceder a este comando desde el menú de la imagen a través de FiltrosScript-Fu.

10.6.2. Actualizar scripts

Necesitará este comando cada vez que añada, quite, o cambie un script de Script-Fu. El comando hace que los Scripts-Fu se recarguen y que los menús que contienen Scripts-Fu se reconstruyan desde cero. Si no usa este comando, GIMP no notará sus cambios hasta que lo inicie otra vez.

Tenga en cuenta que no obtendrá ningún comentario, salvo que lo guarde, si uno de los scripts falla.

10.6.3. La consola de Script-Fu

La consola de Script-Fu es una ventana de diálogo en donde puede probar interactivamente los comandos Scheme.

La consola consiste en una gran ventana principal desplazable para la salida y una caja de texto usada para los comandos Scheme. Cuando escribe un instrucción de Scheme y presiona la tecla Intro, el comando y su valor resultante se muestran en la ventana principal.

Figura 16.270. La consola de Script-Fu

La consola de Script-Fu

Encontrará más información sobre Scheme y ejemplos de como usar la consola de Script-Fu en la Sección 3, “Un tutorial de Script-Fu”.

Los botones de la consola de Script-Fu

Examinar

Este botón está cerca de la caja de texto de los comandos Scheme. Cuando lo pulsa, aparece el visor de procedimientos, con un botón adicional en la parte inferior de la ventana:

El botón adicional del visor de procedimientos

Cuando presiona el botón Aplicar en el visor de procedimientos, el procedimiento seleccionado se pegará en la caja de texto:

Procedimiento PDB aplicado

Ahora tiene que reemplazar los nombres del parámetro (aquí: capa y modo) con los valores actuales, y entonces puede llamar al procedimiento pulsando Intro.

Cerrar

Al pulsar este botón se cierra la consola de Script-Fu.

Limpiar

Cuando pulsa este botón, el contenido de la ventana principal se elimina. Tenga en cuenta que no puede recuperar el contenido eliminado usando el comando Guardar.

Guardar

Este comando le permite guardar el contenido de la ventana principal, que es la salida de la consola Script-Fu (incluyendo los caracteres >).

10.6.4. Iniciar servidor

Este comando iniciará un servidor, que lee y ejecuta las instrucciones Script-Fu (Scheme) que envía a través de un puerto especificado.

Figura 16.271. Las opciones del servidor de Script-Fu

Las opciones del servidor de Script-Fu

Puerto del servidor

El número del puerto por donde el servidor de Script-Fu escuchará. Es posible iniciar más de un servidor, especificando diferentes números de puerto, por supuesto.

Archivo de registro del servidor

Opcionalmente puede especificar el nombre de un archivo que el servidor usará para registrar mensajes informales y de error. Si no se especifica un archivo, los mensajes se escribirán en «stdout».

El protocolo del servidor de Script-Fu

El protocolo usado para comunicar con el servidor Script-Fu es muy sencillo:

  • Cada mensaje (instrucción Script-Fu) de longitud L que se envía al servidor tiene que ir precedida de los siguientes 3 bytes:

    Tabla 16.1. Formato de cabecera para los comandos

    Número de byte Contenido Descripción
    0 0x47 Byte mágico ('G')
    1 L div 256 Byte alto de L
    2 L mod 256 Byte bajo de L

  • Cada respuesta del servidor (devuelve el valor o un mensaje de error) de longitud L precedido de los 4 bytes siguientes:

    Tabla 16.2. Formato de cabecera para la respuesta

    Número de byte Contenido Descripción
    0 0x47 Byte mágico ('G')
    1 código de error 0 para éxito, 1 para error
    2 L div 256 Byte alto de L
    3 L mod 256 Byte bajo de L

[Sugerencia] Sugerencia

Si no quiere mancharse las manos: hay un script Python llamado servertest.py suministrado con el código fuente de GIMP, que puede usar como un sencillo interprete de la línea de comandos para el servidor de Script-Fu.