Gibt es ein Mac OSX-Äquivalent von Zenity?

15

Ich portiere einige einfache X-Windows / Bash-Skripte auf Mac OS X, kann jedoch keine Zenity-Version (eine Gnome-App für grundlegende GUI-Dialoge) für OS X finden . Gibt es ein anderes Dienstprogramm für befehlszeilengesteuerte Dialoge, das ich verwenden kann? Grundlegende Operationen: Benachrichtigungsdialog

  • Listenpunkt
  • (dh Grundtitel, Text, Symbol, OK-Taste)
  • Fehlerbenachrichtigung
  • Ja / Nein oder OK / Abbrechen von Eingabeaufforderungen
  • Wählen Sie 1 oder n Elemente aus einer Liste
  • Eingabetextzeichenfolge

Ich kenne AppleScript (noch) nicht (aber es scheint ziemlich ausführlich für die Dateiverwaltungsaufgaben zu sein, an denen ich interessiert bin).

djb
quelle
Cocoadialog unterstützt --username und --password nicht wie zenity. Nur eine Notiz!
Sindhu S
Brauen installieren Zenity
user2707001

Antworten:

12

Schauen Sie sich cocoaDialog an :

cocoaDialog ist eine OS X-Anwendung, die die Verwendung allgemeiner GUI-Steuerelemente wie Dateiauswahl, Texteingabe, Fortschrittsbalken, Ja / Nein-Bestätigungen und mehr mit einer Befehlszeilenanwendung ermöglicht. Es erfordert keine Kenntnisse von Cocoa und ist ideal für die Verwendung in Shell- und Perl-Skripten (oder Ruby, Python oder ... usw.).

Es ist ein ziemlich einfaches Konzept - übergeben Sie Argumente an die ausführbare Datei, um ein Dialogfeld zu erstellen, und es wird eine Ergebniszeichenfolge zurückgegeben. Es gibt einige gute Beispiele sowie Dokumentation .

Mr. Mel
quelle
1
@ mklement0 cocoaDialog ab November 2017 ist wieder in aktiver Entwicklung: github.com/cocoadialog/cocoadialog
Rudolf Olah
Das verdammte Ding hat keine Dokumentation, nur Quellen über Github. Wie installiere ich es?
DimiDak
4

Homebrew bietet das Zenity-Paket. Es verwendet den MacOS X11 Server (Emulation) Xquartz.

Vereinfacht die Implementierung von Betriebssystemen, ist jedoch keine native MacOS X-GUI.

volker
quelle
Für Interessierte zenitysteht ein x11Tipp zur Verfügung. Führen Sie es aus brew install homebrew/x11/zenity, um es zu installieren.
Subin Sebastian
2

Probieren Sie auch Pashua .

Pashua ist ein Tool zum Erstellen nativer Aqua-Dialogfenster aus Programmiersprachen, die grafische Benutzeroberflächen unter Mac OS X nicht oder nur eingeschränkt unterstützen. Derzeit unterstützt es AppleScript, Perl, PHP, Python, Groovy, Rexx, Ruby, Shell-Skripte und Tcl - und wenn Ihre Lieblingssprache nicht in dieser Liste enthalten ist: Das Schreiben des Klebercodes für die Kommunikation mit Pashua ist ziemlich einfach.

lhf
quelle
+1; Pashua ist mächtig, aber der API-Stil unterscheidet sich von Zenity darin, dass anstelle separater Befehlszeilenargumente (mehrzeilige) Konfigurationszeichenfolgen, die die gewünschte GUI beschreiben, übergeben werden müssen. Wahrscheinlich dauert der Einstieg länger.
mklement0
1

Auf Ihrem Terminal

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

:)

DimiDak
quelle
0

Es sind Jahre vergangen, und dies ist in Arbeit, aber ich arbeite an einem zenity „Port“ für MacOS und Windows.

Sie können es hier herunterladen :
https://github.com/ncruces/zenity/releases

Lesen Sie mehr:
https://github.com/ncruces/zenity

Unter macOS ist die einzige Abhängigkeit osascript(mit JXA , da JavaScript einfacher zu verwenden ist als AppleScript).

Unter Windows gibt es keine Abhängigkeiten, auch nicht die Explorer-Shell (was bedeutet, dass sie auf Server Core funktioniert).

Nuno Cruces
quelle
0

In MacOS ist Tcl / Tk integriert. Macs Python wird mit der Tkinter-Ebene geliefert, Sie können es aber auch in der Shell und in X11 verwenden.

benwiggy
quelle