¿Hay un equivalente Mac OSX de zenity?

16

Estoy transfiriendo algunos scripts simples de X windows / bash a Mac OSX, pero no puedo encontrar una compilación de Zenity (una aplicación Gnome para diálogos básicos de GUI) para OSX. ¿Hay alguna otra utilidad de diálogo dirigida por línea de comando que pueda usar? Operaciones básicas: diálogo de notificación

  • Elemento de la lista
  • (es decir, título básico, texto, icono, botón OK)
  • notificación de error
  • sí / no o bien / cancelar indicaciones
  • seleccione 1 o n elementos de una lista
  • cadena de texto de entrada

No conozco (todavía) AppleScript (pero parece bastante detallado para las tareas de mantenimiento de archivos que me interesan).

djb
fuente
Cocoadialog no tiene soporte para --username y --password como lo hace zenity. ¡Solo una nota!
Sindhu S
brew install zenity
user2707001

Respuestas:

12

Echa un vistazo a cocoaDialog :

cocoaDialog es una aplicación de OS X que permite el uso de controles comunes de GUI como selectores de archivos, entrada de texto, barras de progreso, confirmaciones sí / no y más con una aplicación de línea de comandos. No requiere conocimiento de Cocoa, y es ideal para usar en scripts de shell y Perl (o Ruby, Python, o ... etc.).

Es un concepto bastante simple: pase argumentos al ejecutable para crear un cuadro de diálogo y devolverá una cadena de resultado. Hay algunos buenos ejemplos , así como documentación .

Señor mel
fuente
1
@ mklement0 cocoaDialog a partir de noviembre de 2017 está de vuelta en desarrollo activo: github.com/cocoadialog/cocoadialog
Rudolf Olah
La maldita cosa no tiene documentación, solo fuentes en github. No sabes cómo instalarlo.
DimiDak
4

Homebrew proporciona el paquete zenity. Utiliza el servidor MacOS X11 (emulación) Xquartz.

Hace que sea más fácil tener implementaciones entre sistemas operativos, pero no es una GUI nativa de MacOS X.

volker
fuente
Para aquellos que estén interesados, zenityestá disponible de x11barril. Ejecute brew install homebrew/x11/zenitypara instalarlo.
Subin Sebastian
2

Prueba también Pashua .

Pashua es una herramienta para crear ventanas de diálogo nativas de Aqua a partir de lenguajes de programación que no tienen o solo tienen soporte limitado para interfaces gráficas de usuario en Mac OS X. Actualmente, admite AppleScript, Perl, PHP, Python, Groovy, Rexx, Ruby, scripts de shell y Tcl, y si su idioma favorito no está incluido en esta lista: escribir el código de pegamento para comunicarse con pashua es bastante simple.

lhf
fuente
+1; Pashua es poderoso, pero el estilo de API es diferente al de Zenity en que en lugar de cadenas de configuración de argumentos de línea de comandos (multilínea) que describen la GUI deseada deben pasarse. Probablemente tarde más en comenzar.
mklement0
1

En su terminal

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

:)

DimiDak
fuente
0

Han pasado años, y este es un trabajo en progreso, pero estoy trabajando en un zenity "puerto" para macOS y Windows.

Puede obtenerlo aquí:
https://github.com/ncruces/zenity/releases

Leer más:
https://github.com/ncruces/zenity

En macOS, la única dependencia es osascript(con JXA , porque es más fácil trabajar con JavaScript que con AppleScript).

En Windows no hay dependencias, ni siquiera el shell de Explorer (lo que significa que funcionará en Server Core).

Nuno Cruces
fuente
0

MacOS viene con Tcl / Tk incorporado. Python de Mac viene con la capa Tkinter para usarlo, pero también puedes usarlo en el shell y X11.

benwiggy
fuente