Existe-t-il un équivalent Mac OSX de zenity?

16

Je porte quelques scripts X windows / bash simples sur Mac OSX, mais je ne trouve pas de build de Zenity (une application Gnome pour les boîtes de dialogue GUI de base) pour OSX. Existe-t-il un autre utilitaire de dialogue piloté par ligne de commande que je peux utiliser? Opérations de base: boîte de dialogue de notification

  • Élément de liste
  • (c.-à-d. titre de base, texte, icône, bouton OK)
  • notification d'erreur
  • oui / non ou ok / annuler les invites
  • sélectionner 1 ou n éléments dans une liste
  • chaîne de texte d'entrée

Je ne connais pas (encore) AppleScript (mais il semble assez bavard pour les tâches de maintenance de fichiers qui m'intéressent).

djb
la source
Cocoadialog ne prend pas en charge --username et --password comme zenity. Juste une note!
Sindhu S
brew install zenity
user2707001

Réponses:

12

Consultez cocoaDialog :

cocoaDialog est une application OS X qui permet d'utiliser des contrôles GUI courants tels que des sélecteurs de fichiers, la saisie de texte, des barres de progression, des confirmations oui / non et plus encore avec une application en ligne de commande. Il ne nécessite aucune connaissance de Cocoa et est idéal pour une utilisation dans des scripts shell et Perl (ou Ruby, ou Python, ou ... etc).

C'est un concept assez simple - passez des arguments à l'exécutable pour créer une boîte de dialogue, et il renvoie une chaîne de résultat. Il existe de bons exemples ainsi que de la documentation .

M. Mel
la source
1
@ mklement0 cocoaDialog en novembre 2017 est de retour en développement actif: github.com/cocoadialog/cocoadialog
Rudolf Olah
Ce fichu truc n'a aucune documentation, seulement des sources sur github. Donnow comment l'installer.
DimiDak
4

Homebrew fournit le package zenity. Il utilise le serveur MacOS X11 (émulation) Xquartz.

Il est plus facile d'avoir des implémentations multi-OS, mais ce n'est pas une interface graphique MacOS X native.

volker
la source
Pour ceux qui sont intéressés, zenityest disponible sur le x11robinet. Exécutez brew install homebrew/x11/zenitypour l'installer.
Subin Sebastian
2

Essayez également Pashua .

Pashua est un outil pour créer des fenêtres de dialogue Aqua natives à partir de langages de programmation qui ne prennent en charge aucune ou seulement des interfaces utilisateur graphiques sur Mac OS X. Actuellement, il prend en charge AppleScript, Perl, PHP, Python, Groovy, Rexx, Ruby, les scripts shell et Tcl - et si votre langue préférée n'est pas incluse dans cette liste: écrire le code de colle pour communiquer avec Pashua est assez simple.

lhf
la source
+1; Pashua est puissant, mais le style de l'API est différent de celui de Zenity en ce sens qu'au lieu d'arguments de ligne de commande séparés (multi-ligne), des chaînes de configuration décrivant l'interface graphique souhaitée doivent être transmises. Il faut probablement plus de temps pour commencer.
mklement0
1

Sur votre terminal

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

:)

DimiDak
la source
0

Cela fait des années, et c'est un travail en cours, mais je travaille sur un zenity «port» vers macOS et Windows.

Vous pouvez l'obtenir ici:
https://github.com/ncruces/zenity/releases

En savoir plus:
https://github.com/ncruces/zenity

Sous macOS, la seule dépendance est osascript(avec JXA , car JavaScript est plus facile à utiliser qu'avec AppleScript).

Sous Windows, il n'y a pas de dépendances, pas même le shell Explorer (ce qui signifie qu'il fonctionnera sur Server Core).

Nuno Cruces
la source
0

MacOS est livré avec Tcl / Tk intégré. Le python de Mac est livré avec la couche Tkinter pour l'utiliser, mais vous pouvez également l'utiliser dans le shell et X11.

benwiggy
la source