10.7. Вложенное меню «Script-Fu»

Этот подменю содержит некоторые команды Script-Fu, включая консоль Script-Fu. Script-Fu - язык для написания скриптов, которые позволяют выполнять последовательность команд GIMP автоматически.

10.7.1. Activating the Submenu

You can access this command from the main menu through FiltersDevelopmentScript-Fu.

10.7.2. Консоль Script-Fu

Консоль Script-Fu - это диалог, в котором можно тестировать команды Scheme в интерактивном режиме.

The console consists of a large scrollable main window for output and a text box at the bottom to enter Scheme commands. When you type a Scheme statement and then press the Enter key, the command and its return value will be displayed in the main window.

Рисунок 16.234. Консоль Script-Fu

Консоль Script-Fu

За дополнительной информацией о Scheme и примерах использования консоли Script-Fu обратитесь к главе Раздел 3, «Инструкция по Script-Fu».

Кнопки консоли Script-Fu

Браузер

The Browse button is next to the Scheme commands text box. When clicked, the procedure browser window opens with an additional Apply button.

Select a PDB procedure from the list and press the Apply button. The selected procedure and its parameter names will be pasted into the text box of the Script Console.

Now you just have to replace the parameter names after the procedure name with actual values. Then you can call the procedure by pressing Enter.

Закрыть

При нажатии на эту кнопку консоль Script-Fu закроется.

Очистить

При нажатии на эту кнопку содержимое главного окна будет удалено. Обратите внимание, что вернуть удалённое содержимое с помощью команды Сохранить невозможно.

Сохранить

Эта команда позволяет сохранить содержимое главного окна, то есть, вывод консоли Script-Fu. (включая символы «>»).

10.7.3. Запустить сервер

Эта команда запускает сервер, который читает и выполняет команды Script-Fu (Scheme), переданные ему через указанный порт.

Рисунок 16.235. Порт сервера Script-Fu

Порт сервера Script-Fu

Listen on IP

The IP address the Script-Fu server will listen on. This is usually 127.0.0.1 (also known as localhost). Only change this if you know what you are doing.

Порт сервера

Номер порта, который будет прослушивать сервер Script-Fu. Можно запустить несколько серверов, каждый со своим номером порта.

Файл записи сервера

По усмотрению можно указать название файла, куда сервер будет записывать информационные сообщения и сообщения об ошибках. Если файл не указан, сообщения напечатаются на стандартный вывод.

Серверный протокол Script-Fu

Протокол, используемый для общения с сервером Script-Fu, прост:

  • Каждый запрос (команда Script-Fu) длиной L, посылаемый серверу, должен следовать за этими тремя символами:

    Таблица 16.1. Формат заголовка для команд

    Номер байта Содержание Описание
    0 0x47 Магический байт ('G')
    1 L div 256 Верхний байт L
    2 L mod 256 Нижний байт L

  • Каждый ответ сервера (возвратное значение или сообщение об ошибке) длиной L следует за следующими четырьмя байтами:

    Таблица 16.2. Формат заголовка для ответа

    Номер байта Содержание Описание
    0 0x47 Магический байт ('G')
    1 код ошибки 0 при успехе, 1 при ошибке
    2 L div 256 Верхний байт L
    3 L mod 256 Нижний байт L

[Подсказка] Подсказка

Чтобы не думать о таких деталях, исходный код GIMPPython поставляется со скриптом servertest.py, который можно использовать как простую командную строку для сервера Script-Fu.