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

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

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

This submenu contains some Script-Fu commands, especially the Script-Fu console. Script-Fu is a language for writing scripts, which allow you to run a series of GIMP commands automatically.

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

- You can access this command from the image menu through Filters → Script-Fu

#### 10.6.2. Обновить сценарии

You will need this command every time you add, remove, or change a Script-Fu script. The command causes the Script-Fus to be reloaded and the menus containing Script-Fus to be rebuilt from scratch. If you don't use this command, GIMP won't notice your changes until you start it again.

Note that you won't get any feedback, unless saving, if one of your scripts fails.

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

The Script-Fu console is a dialog window where you can interactively test Scheme commands.

The console consists of a large scrollable main window for output and a textbox used to type 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.

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

You will find more information about Scheme and examples how to use the Script-Fu console in Раздел 3, «A Script-Fu Tutorial».

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

Browse

  This button is next to the Scheme commands textbox. When clicked, the procedure browser pops up, with an additional button at the bottom of the window:

  The additional button of the Procedure Browser

  When you press this Apply button in the procedure browser, the selected procedure will be pasted into the text box:

  Applied PDB procedure

  Now you just have to replace the parameter names (here: «layer» and «mode») with actual values, and then you can call the procedure by pressing Enter.

Закрыть

  Pressing this button closes the Script-Fu console.

Очистить

  Wenn you click on this button, the content of the main window will be removed. Note that you can't get back the removed content using the Save command.

Сохранить

  This command lets you save the content of the main window, that is the Script-Fu console output (including the «`>`»-characters).

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

This command will start a server, which reads and executes Script-Fu (Scheme) statements you send him via a specified port.

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

Порт сервера

  The port number where the Script-Fu server will listen. It is possible to start more than one server, specifying different port numbers, of course.

Server Logfile

  Optionally you can specify the name of a file the server will use to log informal and error messages. If no file is specified, messages will be written to stdout.

The Script-Fu Server Protocol

The protocol used to communicate with the Script-Fu server is very simple:

- Every message (Script-Fu statement) of length `L` sent to the server has to be preceded with the following 3 bytes:

  Таблица 15.1. Header format for commands

  Byte # | Содержание | Описание
  --- | --- | ---
  0 | 0x47 | Magic byte ('G')
  1 | L div 256 | High byte of `L`
  2 | L mod 256 | Low byte of `L`

- Every response from the server (return value or error message) of length `L` will be preceded with the following 4 bytes:

  Таблица 15.2. Header format for responses

  Byte # | Содержание | Описание
  --- | --- | ---
  0 | 0x47 | Magic byte ('G')
  1 | код ошибки | 0 on success, 1 on error
  2 | L div 256 | High byte of `L`
  3 | L mod 256 | Low byte of `L`

| Подсказка
If you don't want to get your hands dirty: there is a Python script named servertest.py shipped with the GIMP source code, which you can use as a simple command line shell for the Script-Fu server.

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