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

Рисунок 16.252. Вложенное меню «Script-Fu»

Вложенное меню Script-Fu

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

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

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

10.6.2. Обновить скрипты

Эта команда нужна каждый раз, когда вы добавляетет, удаляете или изменяете скрипт Script-Fu. Она перезагружает все скрипты и создаёт заново все меню, содержащие команды Script-Fu. Если эту команду не использовать, то GIMP не заметит изменений до следующей сессии.

Заметьте, что нет обратной связи, кроме как при сохранении, в случае ошибки во время работы скрипта.

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

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

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

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

Консоль Script-Fu

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

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

Браузер

Эта кнопка находится справа от поля ввода команд. При нажатии на неё появится браузер процедур с дополнительной кнопкой внизу:

Дополнительная кнопка браузера процедур

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

Применилась процедура PDB.

Теперь вам нужно заменить названия параметров (здесь: «layer» и «mode») настоящими значениями, и тогда вы можете вызвать процедуру нажатием клавишы Ввод.

Закрыть

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

Очистить

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

Сохранить

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

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

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

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

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

Порт сервера

Номер порта, который будет прослушивать сервер 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.