10.6. O Submenu “Script-Fu”
| 10. O menu “Filtros” |

### 10.6. O Submenu “Script-Fu”

Figura 16.204. O submenu “Script-Fu”

Este submenu contém alguns comandos Script-Fu, especialmente o console Script-Fu. Script-Fu é uma linguagem para escrever scripts, que permite que você execute uma série de comandos do GIMP automaticamente.

#### 10.6.1. Ativando o submenu

- Você pode acessar este comando a partir do menu Filtros → Script-Fu

#### 10.6.2. Recarregar Scripts

Você vai precisar deste comando cada vez que você adicionar, remover ou alterar um script Script-Fu. O comando faz com que os Script-Fus sejam recarregados e os menus que contêm Script-Fus sejam reconstruídos a partir do zero. Se você não usar este comando, GIMP não vai notar as mudanças até que você o inicie novamente.

Note que você não vai obter qualquer retorno, a não ser que esteja exportando um arquivo, se um de seus scripts falhar.

#### 10.6.3. Console Script-Fu

O console Script-Fu é uma janela de diálogo onde você pode testar e executarinterativamente comandos de Scheme - a linguagem do Script-fu.

O console consiste de uma grande janela principal de rolagem para a saída e uma caixa de texto usada para digitar comandos de Scheme. Quando você digita uma instrução de Scheme e, em seguida, pressiona a tecla Enter, o comando e o valor de retorno serão exibidos na janela principal.

Figura 16.205. O Console Script-Fu

Você vai encontrar mais informações sobre Scheme e exemplos de como usar o console Script-Fu em Seção 3, “Um tutorial de Script-Fu”.

Os Botões do Console de Script-Fu

Procurar

  Este botão está próximo da caixa de texto do comando de Scheme. Quando clicado, surge a janela do navegador de procedimentos, com um botão adicional na parte inferior da janela:

  O botão adicional do Navegador de Procedimentos

  Quando você pressiona o botão Aplicar no navegador de procedimento, o procedimento selecionado será colado na caixa de texto:

  Procedimento PDB aplicado.

  Agora você só tem que substituir os nomes dos parâmetros (no caso: “camada” e “modo”) por valores reais, e, em seguida, você pode chamar o procedimento pressionando Enter.

Fechar

  Ao pressionar este botão o console Script-Fu será fechado.

Limpar

  Quando você clicar neste botão, o conteúdo da janela principal será removido. Note que você não pode voltar ao conteúdo removido usando o comando Salvar.

Salvar

  Este comando permite que você salve o conteúdo da janela principal, que é a saída do console Script-Fu (incluindo os caracteres “`>>`”). O conteúdo é salvo como um arquivo de texto, apenas como referência. Você pode copiar e colar trechos do arquivo para criar seu próprio Script-fu depois. Note que não há uma opção para carregar um arquivo salvo desta janela (e uma vez que o arquivo não é só a listagem dos comandos executados, mas os comandos e sua resposta, carregar o arquivo nem faria muito sentido).

#### 10.6.4. Iniciar Servidor

Este comando inicia o servidor, Este comando irá iniciar um servidor, que lê e executa instruções Script-Fu (Scheme) que você envia através de uma porta (de rede) especifica.

Figura 16.206. Opções do Servidor Script-Fu

Porta do Servidor

  O número da porta que servidor Script-Fu vai ouvir. É possível iniciar mais de um servidor, especificando números de porta diferentes, é claro.

Arquivo de registros (logfile) do Servidor

  Opcionalmente, você pode especificar o nome de um arquivo que o servidor usará para registrar mensagens informais e de erro. Se nenhum arquivo for especificado, as mensagens serão impressas na saída padrão.

O Protocolo do Servidor Script-Fu.

O protocolo usado para comunicações com o servidor Script-Fu é muito simples:

- Cada mensagem (instrução Script-Fu) de comprimento `L` enviado para o servidor tem que ser precedido pelos 3 bytes seguintes:

  Tabela 16.1. Formato de cabeçalho para comandos

  Byte # | Conteúdo | Descrição
  --- | --- | ---
  0 | 0x47 | byte Mágico ('G')
  1 | L div 256 | Byte alto de `L`
  2 | L mod 256 | Byte baixo de `L`

- Cada resposta do servidor (valor de retorno ou mensagem de erro) de comprimento `L` será precedida pelos 4 bytes seguintes:

  Tabela 16.2. Formato de cabeçalho para respostas

  Byte # | Conteúdo | Descrição
  --- | --- | ---
  0 | 0x47 | byte Mágico ('G')
  1 | código de erro | 0 em caso de sucesso, 1 em caso de erro
  2 | L div 256 | Byte alto de `L`
  3 | L mod 256 | Byte baixo de `L`

| Dica
Se você não quiser sujar as mãos: existe um script Python chamado servertest.py fornecido com o código-fonte GIMP, que pode ser usado como um simples comando de linha shell para o servidor Script-Fu.

10.5. O Submenu “Python-Fu” |  | 11. Menu “Janelas”

Crie um relato de erro no Bugzilla