Agora que já vimos o básico sobre o Menu de Aplicações do Window Maker, está na hora de verificar mais de perto como funciona o WMRootMenu.
Como já disse um importante filósofo, Ludwig Wittgenstein, todos os problemas da Filosofia se resumem a uma má compreensão da sintaxe de nossa linguagem, e no caso do WMRootMenu, não é muito diferente.
Como não existe nenhuma ferramenta automatizada para corrigir a sintaxe do WMRootMenu, se você não escrever o seu Menu de Aplicações corretamente, ele simplesmente não irá funcionar. Mas para não incorrer neste problema, você tem este artigo do Dino!
O Menu de Aplicações do Window Maker é uma lista de propriedades, onde cada item ou subitem do menu, é um item da lista de propriedades. Todo e qualquer Menu de Aplicações do Window Maker tem esta estrutura:
("Menu de Aplicações do Window Maker",...)
Onde "Menu de Aplicações do Window Maker" é o título que aparece no Menu de Aplicações, como pode ser visto na imagem da página anterior do artigo.
Você pode, inclusive, alterar esse texto para que o Menu de Aplicações tenha um título personalizado - o meu, por exemplo, é "Menu de Aplicações do Window Maker - por lcavalheiro". No lugar das reticências, você declara todos os itens do Menu de Aplicações e seus respectivos subitens.
Um exemplo de Menu de Aplicações do Window Maker simples, ilustrativo e superfuncional, é este com o qual começarei minhas explicações:
("Menu de Aplicações do Window Maker",
("Emulador de terminal GNOME-Terminal,EXEC,"gnome-terminal")
)
Esse WMRootMenu não lhe dá muitas opções, apenas permite que você invoque uma janela do
GNOME Terminal e se vire com ela. Porém, para propósitos didáticos, ele bastará por enquanto.
Vamos analisar sua estrutura, linha por linha:
("Menu de Aplicações do Window Maker",
Com esta linha, eu declaro o início do meu Menu de Aplicações, atribuindo o título, entre aspas, para ele. A vírgula a seguir, indica que será declarado, pelo menos, um item do Menu de Aplicações após esta linha.
("Emulador de terminal GNOME-Terminal,EXEC,"gnome-terminal")
Esta linha declara um item do Menu de Aplicações. Quando este WMRootMenu for invocado, o Window Maker o lerá assim: "Sempre que eu invocar o Menu de Aplicações e clicar em 'Emulador de terminal GNOME-Terminal', você executará o comando 'gnome-terminal' para mim".
Como não tem vírgula após o último parêntese, isso significa que esta será a última declaração no atual nível de menu em que estamos. E como estamos no nível mais alto, significa que não iremos declarar mais nada neste Menu de Aplicações do Window Maker e, portanto, podemos encerrá-lo com a terceira linha, que nada mais é que o parêntese que fecha aquele da primeira linha.
Vamos voltar à segunda linha do exemplo. Toda declaração de item de menu tem a mesma estrutura:
("Nome da aplicação",EXEC,"comando a ser executado")
Explicando por partes:
- No campo "Nome da aplicação" fica o nome que aparecerá no Menu de Aplicações quando este for invocado, e deve ser escrito entre aspas, exceto no caso do "Nome de aplicação" contiver apenas uma palavra escrita apenas com letras. Assim, Iceweasel pode aparecer sem as aspas, mas "Google-Chrome", não.
- O campo EXEC é uma instrução especial lida pelo Window Maker, e precisa ser escrita sempre em maiúsculas. O que essa instrução faz, é dizer ao Window Maker que o próximo campo contém o comando a ser executado sempre que você clicar no "Nome da aplicação" no Menu de Aplicações.
- Por fim, o campo "comando a ser executado" diz ao Window Maker que comando executar quando você chamar o "Nome da aplicação", no Menu de Aplicações. Deve ser escrito entre aspas sempre, exceto no caso do "comando a ser executado" contiver apenas uma palavra escrita apenas com letras.
Caso você queira declarar mais itens de menu, basta colocar uma vírgula depois de todos eles, exceto o último. Por exemplo:
("Menu de Aplicações do Window Maker",
("Emulador de terminal GNOME-Terminal",EXEC,"gnome-terminal"),
("Navegador de Internet Mozilla Iceweasel",EXEC,iceweasel),
(LibreOffice,EXEC,libreoffice)
)
Um outro exemplo de Menu de Aplicações do Window Maker bastante simples, mas que lhe dá mais opções agora: você pode chamar o GNOME Terminal, o Iceweasel e o LibreOffice diretamente pelo menu!
Perceba que há uma vírgula apenas após os dois primeiros itens de menu declarados, mas não depois do terceiro. Antes de explicar o motivo disso, vou reescrever esse exemplo usando apenas a forma plana:
("Menu de Aplicações do Window Maker",("Emulador de terminal GNOME-Terminal",EXEC,"gnome-terminal"),("Navegador de Internet Mozilla Iceweasel",EXEC,iceweasel),(LibreOffice,EXEC,libreoffice))
Como vocês podem ver, cada item de menu declarado nesse Menu de Aplicações do Window Maker bastante simples, está encerrado dentro do próprio par de parênteses e estão todos separados entre si por vírgulas, como se faria em qualquer lista de propriedades.
Dessa forma, as vírgulas delimitam os campos e os parênteses indicam quem é item de menu, quem é título do Menu de Aplicações, esse tipo de coisa. Por essa razão, não há uma vírgula depois da linha que declara o
LibreOffice, pois não tem nada depois dele para ser declarado.