Emacs para crianças: Criando scripts para o GIMP

Este artigo irá mostrar como é fácil desenvolver script-fu (scripts em TinyScheme para o GIMP) utilizando Emacs e gimpmode. A primeira coisa, além de possuir o Emcas instalado, é instalar o gimpmode. Aqui eu entrei no diretório ~/.emacs.d/modes, digitei git clone https://github.com/pft/gimpmode.git e pronto. Depois é só executar o arquivo de instalação M-x load-file caminho/gimp-install.el. Depois copie para o arquivo ~/.emacs o necessário para que tudo funcione corretamente. No site do gimpmode existe um arquivo explicando o funcionamento mas, seguinto o vídeo mudo abaixo, é possível ver que é simples. Vou explicar os passos presentes no vídeo mas não detalhadamente. Será necessário seguir os links para aprender um pouco do processo de criação de um script-fu.

Inicialmente é necessário ler o tutorial para a criação de um script-fu. É necessário uma visão da linguagem Scheme (que é um processo bastante simples) e uma visão da estrutura de um script, como é registrado, como são especificados os parâmtros, etc.. Depois uma olhada geral nas funções disponibilizadas pelo GIMP para o usuário. Para tanto, perca um tempinho vendo o nome e a finalidade das funções utilizando o menu Ajuda -> Navegador de procedimentos do GIMP.

Primeiro iniciei o servidor para scripts no GIMP (Filtros->Script-Fu-> Iniciar servidor...) para que o emacs+gimpmode possam se comunicar com o GIMP e facilitar as coisas. Nada impediria que eu escrevesse o script no emacs, gravasse, fosse para o GIMP, recarregasse os scripts e testasse. Existem vantagens e desvantagens de iniciar o servidor pelo GIMP ou iniciar o GIMP como um subprocesso do Emacs, mas vêm ao caso agora. O próximo passo poderia ser iniciar a comunicação entre o gimpmode e o GIMP. É só digitar M-x gimp-cl-connect (eu inverti o processo, o que não prejudica o funcionamento). Depois basta criar ou abrir o arquivo que conterá os scripts. Se o arquivo não existe, você será questionado se gostaria de iniciar com as funções de registro do script e o registro no menu. Você poderá a qualquer tempo digitar reg e enter que o modo irá criar automaticamente as funções para registro. Basta alterar os dados.

Depois de escrever o script, você savá-lo, entrar no GIMP, recarregar, etc.. Pessoalmente acho mais fácil digitar M-x gimp-refresh-scripts ou, para facilitar mais as coisas M-x g-s-c [tab] que o comando será expandido apropriadamente. É interessante já que, se existir alguma alteração no arquivo do script, antes de recarregar os scripts o emacs irá mostrar um prompt para a gravação do arquivo. Depois é só testar o script.

Outra facilidade do modo são os fragmentos que são expandidos automaticamente. Por exemplo, quando necessitamos de um argumento tipo string para a função, é necessário entrar com SF-STRING "opção" "conteúdo". Basta digitar sfs e pressionar enter que o fragmento será expandido para o que se deseja e as partes alteráveis serão selecionadas para facilitar a digitação.

O vídeo mostra o processo de criação e teste de uma função onde o usuário digita um texto e o mesmo é apresentado em uma janela de mensagem e uma função que para inverter uma imagem com a possibilidade de convertê-la para monocromática se for desejado. Também é possível ver qeu podemos ter mais de uma função em um mesmo arquivo.

Por enquanto era isso.

=-=-=-=-=
Powered by Blogilo

Anúncios