Esiste un equivalente di Zen OS per Mac OSX?


16

Sto trasferendo alcuni semplici script X windows / bash su Mac OSX, ma non riesco a trovare una build di Zenity (un'app Gnome per le finestre di dialogo della GUI di base) per OSX. C'è qualche altra utility di dialogo guidata dalla riga di comando che posso usare? Operazioni di base: finestra di notifica

  • Voce di elenco
  • (ad es. titolo di base, testo, icona, pulsante OK)
  • notifica di errore
  • sì / no o ok / annulla le richieste
  • seleziona 1 o n elementi da un elenco
  • stringa di testo di input

Non conosco (ancora) AppleScript (ma sembra abbastanza dettagliato per le attività di manutenzione dei file che mi interessano).


Cocoadialog non ha supporto per --username e --password come fa zenity. Solo una nota!
Sindhu S,

brew install zenity
user2707001

Risposte:


12

Dai un'occhiata a cocoaDialog :

cocoaDialog è un'applicazione OS X che consente l'uso di controlli GUI comuni come selettori di file, input di testo, barre di avanzamento, conferme sì / no e altro con un'applicazione da riga di comando. Non richiede alcuna conoscenza di Cocoa ed è ideale per l'uso in script shell e Perl (o Ruby, o Python, o ... ecc.).

È un concetto piuttosto semplice: passare argomenti all'eseguibile per creare una finestra di dialogo e restituisce una stringa di risultato. Ci sono alcuni buoni esempi e documentazione .


1
@ mklement0 cocoaDialog da novembre 2017 è tornato in fase di sviluppo attivo: github.com/cocoadialog/cocoadialog
Rudolf Olah

La dannata cosa non ha documentazione, solo fonti su Github. Non so come installarlo.
DimiDak,

4

Homebrew fornisce il pacchetto zenity. Utilizza il server MacOS X11 (emulazione) Xquartz.

Semplifica l'implementazione di più sistemi operativi, ma non è la gui nativa di MacOS X.


Per coloro che sono interessati, zenityè disponibile alla x11spina. Esegui brew install homebrew/x11/zenityper installarlo.
Subin Sebastian

2

Prova anche Pashua .

Pashua è uno strumento per la creazione di finestre di dialogo Aqua native da linguaggi di programmazione che non hanno alcun supporto o solo limitato per le interfacce utente grafiche su Mac OS X. Attualmente supporta AppleScript, Perl, PHP, Python, Groovy, Rexx, Ruby, script shell e Tcl — e se la tua lingua preferita non è inclusa in questo elenco: scrivere il codice colla per comunicare con Pashua è piuttosto semplice.


+1; Pashua è potente, ma lo stile dell'API è diverso da quello di Zenity in quanto è necessario passare stringhe di configurazione separate da riga di comando (multi-riga) che descrivono la GUI desiderata. Probabilmente impiegherà più tempo per iniziare.
mklement0


1

Sul tuo terminale

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

:)


0

Sono passati anni e questo è un lavoro in corso, ma sto lavorando su una zenity "porta" sia per macOS che per Windows.

Puoi ottenerlo qui:
https://github.com/ncruces/zenity/releases

Ulteriori informazioni:
https://github.com/ncruces/zenity

Su macOS l'unica dipendenza è osascript(con JXA , perché JavaScript è più facile da lavorare rispetto a AppleScript).

Su Windows non ci sono dipendenze, nemmeno la shell Explorer (il che significa che funzionerà su Server Core).


0

MacOS è dotato di Tcl / Tk integrato. Il pitone di Mac viene fornito con il livello Tkinter per usarlo, ma puoi anche usarlo nella shell e in X11.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.