### 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.235. Консоль Script-Fu

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

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

Обзор

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

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

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

Закрыть

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

Очистить

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

Сохранить

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

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

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

Рисунок 16.236. Параметры сервера 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.

10.6. Вложенное меню «Python-Fu» |  | 11. The «Windows» Menu

Report a bug in GIMP Сообщите об ошибке в нашем баг-трекере