10.6. Вложенное меню «Script-Fu»
| 10. Меню «Фильтры» |

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

Рисунок 16.269. Вложенное меню «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.270. Консоль Script-Fu

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

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

Браузер

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

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

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

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

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

Закрыть

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

Очистить

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

Сохранить

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

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

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

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

10.5. Вложенное меню «Python-Fu» |  | 11. Меню «Окна»

Report a bug in GIMP Report a documentation error