Existe um equivalente do Mac OSX ao zenity?

16

Estou portando alguns scripts X windows / bash simples para o Mac OSX, mas não consigo encontrar uma compilação do Zenity (um aplicativo Gnome para diálogos básicos da GUI) para o OSX. Existe algum outro utilitário de diálogo controlado por linha de comando que eu possa usar? Operações básicas: caixa de diálogo de notificação

  • Item da lista
  • (ou seja, título básico, texto, ícone, botão OK)
  • notificação de erro
  • sim / não ou ok / cancelar prompts
  • selecione 1 ou n itens de uma lista
  • entrada de texto

Ainda não conheço AppleScript (mas parece bastante detalhado para as tarefas de manutenção de arquivos que me interessam).

djb
fonte
O Cocoadialog não tem suporte para --username e --password como o zenity. Apenas uma nota!
Sindhu S
Como instalar o zenity no Ubuntu?
stack overflow

Respostas:

12

Confira cacauDialog :

cocoaDialog é um aplicativo OS X que permite o uso de controles comuns da GUI, como seletores de arquivos, entrada de texto, barras de progresso, confirmações de sim / não e muito mais com um aplicativo de linha de comando. Ele não requer conhecimento de cacau e é ideal para uso em scripts shell e Perl (ou Ruby, ou Python, ou ... etc).

É um conceito bastante simples - passar argumentos para o executável para criar uma caixa de diálogo e retornar uma sequência de resultados. Existem alguns bons exemplos , bem como documentação .

Mr. Mel
fonte
1
@ mklement0 cocoaDialog a partir de novembro 2017 está de volta em desenvolvimento ativo: github.com/cocoadialog/cocoadialog
Rudolf Olah
A coisa maldita não tem documentação, apenas fontes no github. Agora, como instalá-lo.
DimiDak 27/03/19
4

Homebrew fornece o pacote zenity. Ele usa o Xquartz do servidor MacOS X11 (emulação).

Torna mais fácil ter implementações entre sistemas operacionais, mas não é uma interface nativa do MacOS X.

volker
fonte
Para quem estiver interessado, zenityestá disponível na x11torneira. Execute brew install homebrew/x11/zenitypara instalá-lo.
Subin Sebastian 4/16
2

Experimente também pashua .

O Pashua é uma ferramenta para criar janelas de diálogo nativas do Aqua a partir de linguagens de programação que não oferecem suporte apenas ou limitado a interfaces gráficas do usuário no Mac OS X. Atualmente, ele suporta AppleScript, Perl, PHP, Python, Groovy, Rexx, Ruby, shell scripts e Tcl - e se o seu idioma favorito não estiver incluído nesta lista: escrever o código de cola para se comunicar com o Pashua é bastante simples.

lhf
fonte
+1; O Pashua é poderoso, mas o estilo da API é diferente do Zenity, pois, em vez de argumentos de linha de comando separados (várias linhas), as seqüências de configuração que descrevem a GUI desejada devem ser passadas. Provavelmente leva mais tempo para começar.
precisa saber é o seguinte
1

No seu terminal

  brew install zenity && zenity --info --text "You did it!"

:)

DimiDak
fonte
0

Faz anos e esse é um trabalho em andamento, mas estou trabalhando em uma zenity "porta" para o macOS e o Windows.

Você pode obtê-lo aqui:
https://github.com/ncruces/zenity/releases

Leia mais:
https://github.com/ncruces/zenity

No macOS, a única dependência é osascript(no JXA , porque é mais fácil trabalhar com JavaScript do que no AppleScript).

No Windows, não há dependências, nem mesmo o shell do Explorer (o que significa que ele funcionará no Server Core).

Nuno Cruces
fonte
0

O MacOS vem com o Tcl / Tk embutido. O python do Mac vem com a camada Tkinter para usá-lo, mas você também pode usá-lo no shell e no X11.

benwiggy
fonte