Czy istnieje odpowiednik zenity w systemie Mac OSX?

16

Przesyłam kilka prostych skryptów X Windows / bash do Mac OSX, ale nie mogę znaleźć wersji Zenity (aplikacja Gnome do podstawowych okien dialogowych GUI) dla OSX. Czy mogę użyć innego narzędzia dialogowego uruchamianego z wiersza poleceń? Podstawowe operacje: okno dialogowe powiadomienia

  • Element listy
  • (tzn. tytuł podstawowy, tekst, ikona, przycisk OK)
  • powiadomienie o błędzie
  • tak / nie lub ok / anuluj monity
  • wybierz 1 lub n elementów z listy
  • wejściowy ciąg tekstowy

Nie znam (jeszcze) AppleScript (ale wydaje się dość gadatliwy w przypadku zadań związanych z konserwacją plików, którymi jestem zainteresowany).

djb
źródło
Cocoadialog nie obsługuje --username i --password, podobnie jak zenity. Tylko uwaga!
Sindhu S
zaparzyć zainstalować zenity
user2707001

Odpowiedzi:

12

Sprawdź cocoaDialog :

cocoaDialog to aplikacja OS X, która pozwala na korzystanie z typowych kontrolek GUI, takich jak selektory plików, wprowadzanie tekstu, paski postępu, potwierdzenia tak / nie i więcej w aplikacji wiersza poleceń. Nie wymaga znajomości kakao i jest idealny do użycia w skryptach powłoki i Perla (lub Ruby, Python lub ... itd.).

Jest to dość prosta koncepcja - przekazuj argumenty do pliku wykonywalnego, aby utworzyć okno dialogowe, i zwraca ciąg wyników. Istnieje kilka dobrych przykładów, a także dokumentacja .

Mr. Mel
źródło
1
@ mklement0 cocoaDialog od listopada 2017 powraca do aktywnego rozwoju: github.com/cocoadialog/cocoadialog
Rudolf Olah
To cholerstwo nie ma dokumentacji, tylko źródła na github. Nie wiesz, jak go zainstalować.
DimiDak
4

Homebrew zapewnia pakiet zenity. Wykorzystuje serwer MacOS X11 (emulacja) Xquartz.

Ułatwia implementacje w różnych systemach operacyjnych, ale nie jest to natywne GUI MacOS X.

volker
źródło
Dla zainteresowanych zenityjest dostępny na x11kranu. Uruchom, brew install homebrew/x11/zenityaby go zainstalować.
Subin Sebastian
2

Spróbuj także Pashua .

Pashua to narzędzie do tworzenia rodzimych okien dialogowych Aqua z języków programowania, które nie mają żadnej lub mają ograniczoną obsługę graficznych interfejsów użytkownika w Mac OS X. Obecnie obsługuje AppleScript, Perl, PHP, Python, Groovy, Rexx, Ruby, skrypty powłoki i Tcl - i jeśli twojego ulubionego języka nie ma na tej liście: napisanie kodu kleju do komunikacji z Pashua jest dość proste.

lhf
źródło
+1; Pashua jest potężny, ale styl API różni się od stylu Zenity tym, że zamiast osobnych argumentów wiersza poleceń (wieloliniowych) należy przekazać parametry konfiguracyjne opisujące pożądany interfejs GUI. Rozpoczęcie prawdopodobnie trwa dłużej.
mklement0
1

Na twoim terminalu

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

:)

DimiDak
źródło
0

Minęły lata i jest to praca w toku, ale pracuję nad zenity „portem” zarówno do systemu macOS, jak i Windows.

Możesz go pobrać tutaj:
https://github.com/ncruces/zenity/releases

Czytaj więcej:
https://github.com/ncruces/zenity

W systemie macOS jedyną zależnością jest osascript(w JXA , ponieważ JavaScript jest łatwiejszy w obsłudze niż AppleScript).

W systemie Windows nie ma żadnych zależności, nawet powłoki Explorer (co oznacza, że ​​będzie działać na Server Core).

Nuno Cruces
źródło
0

MacOS ma wbudowane Tcl / Tk . Python Maca jest dostarczany z warstwą Tkinter, aby go używać, ale można go również używać w powłoce i X11.

benwiggy
źródło