cocoaDialog: enriqueça a interface dos seus scripts shell usando diálogos nativos do OS X
O cocoaDialog permite acrescentar facilmente diálogos nativos do OS X – alertas, entrada de texto, seleção de arquivos, etc. – aos seus scripts shell – ou Python, Perl, etc.
A interação dele com o seu script é bem simples: todos os parâmetros (o tipo de diálogo, as mensagens a exibir, os botões, etc.) são passados na chamada de execução do cocoaDialog, e o retorno é enviado para a saída padrão, fácil de ser recebido por scripts em todas as linguagens típicas.
Claro herdeiro das ideias do clássico Dialog, que ofereceu recursos de interface nas telas de texto de muitos sistemas desde a primeira metade da década de 1990, o cocoaDialog já tem vários anos de estrada e desenvolvimento não muito ativo: a versão mais recente é de 2012. Em compensação, ele não é muito exigente, rodando a partir do OS X 10.4.
Os tipos de diálogo do OS X suportados pelo cocoaDialog são:
- Seleção de arquivo
- Gravação de arquivo
- Exibição de mensagem
- Diálogo Sim/Não
- Diálogo Ok
- Entrada de campo
- Entrada de campo seguro
- Entrada de texto
- Barra de progresso
- Combo
- Bolha
- e mais
O modo de exibição de cada diálogo é escolhido pelo próprio utilitário, mas alguns parâmetros (como title, width e height) permitem controlar mais diretamente.
Como costuma ser o caso com esse tipo de solução, a tendência é criar linhas de comando enormes. Por exemplo, aquele diálogo de assinatura do RSS que consta na abertura deste artigo foi gerado pela linha a seguir: /Applications/CocoaDialog.app/Contents/MacOS/CocoaDialog msgbox --icon-file /Applications/CocoaDialog.app/Contents/Resources/document.icns --title "Exemplo do cocoaDialog para o BR-Mac" --no-newline --text "Deseja assinar o feed do BR-Mac.org?" --informative-text "Você pode assinar o feed do BR-Mac via RSS 2.0 ou pelo Twitter @brmacblog." --button1 "RSS" --button2 "Twitter" --button3 "Cancel"
Em compensação, para exibir um seletor completo para pasta e nome de arquivo a abrir para processar no seu script, por exemplo, a linha a seguir pode bastar: /Applications/CocoaDialog.app/Contents/MacOS/CocoaDialog fileselect --text "Escolha o arquivo para publicação no Axe" --with-extensions .txt .html .md
A documentação do cocoaDialog explica os parâmetros e mostra o visual da maioria dos diálogos, e a coleção de exemplos mostra código em várias linguagens para exibir os diálogos e obter o seu retorno.
Comentar
Comentários arquivados