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

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

10.7.1. Активация вложенного меню

Эта команда находится в меню ФильтрыРазработкаScript-Fu.

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

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

Консоль состоит из большого окна с прокруткой для вывода и поля ввода для введения команд Scheme. Когда вы вводите команду Scheme и нажимаете Ввод, команда и её вывод будут показаны в главном окне.

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

Консоль Script-Fu

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

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

Обзор

Кнопка Обзор расположена рядом с текстовым полем ввода команд. При нажатии открывается навигатор процедур с дополнительной кнопкой Применить.

Выберите процедуру PDB из списка и нажмите кнопку Применить. Выбранная процедура и имена её параметров будут вставлены в текстовое поле.

Теперь вам нужно заменить названия параметров настоящими значениями, и тогда вы можете вызвать процедуру, нажав Ввод.

Закрыть

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

Очистить

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

Сохранить

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

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

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

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

Параметры сервера Script-Fu

Слушать на IP-адресе

IP-адрес, на котором будет слушать сервер Script-Fu. Обычно это 127.0.0.1 (также известный как localhost). Меняйте его только если знаете, что делаете.

Порт сервера

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

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

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

Серверный протокол 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.