Есть ли Mac OSX эквивалент Zenity?

16

Я портирую несколько простых скриптов X windows / bash на Mac OSX, но не могу найти сборку Zenity (приложение Gnome для основных диалогов GUI) для OSX. Есть ли какая-нибудь другая диалоговая утилита, управляемая из командной строки, которую я могу использовать? Основные операции: диалог уведомлений

  • Пункт списка
  • (т.е. основной заголовок, текст, значок, кнопка ОК)
  • уведомление об ошибке
  • да / нет или ок / отменить запросы
  • выберите 1 или n элементов из списка
  • введите текстовую строку

Я (пока) не знаю AppleScript (но он кажется довольно многословным для задач по обслуживанию файлов, которые меня интересуют).

DJB
источник
Cocoadialog не поддерживает --username и --password, как zenity. Просто записка!
Синдху С.
завариваю zenity
user2707001

Ответы:

12

Проверьте CocoaDialog :

cocoaDialog - это приложение для OS X, которое позволяет использовать общие элементы управления графическим интерфейсом, такие как селекторы файлов, ввод текста, индикаторы выполнения, подтверждения да / нет и многое другое с приложением командной строки. Он не требует знаний о Какао и идеально подходит для использования в сценариях оболочки и Perl (или Ruby, или Python, или ... и т. Д.).

Это довольно простая концепция - передать аргументы исполняемому файлу для создания диалога, и он возвращает строку результата. Есть несколько хороших примеров, а также документация .

Мистер Мел
источник
1
@ mklement0 cocoaDialog по состоянию на ноябрь 2017 года снова находится в активной разработке: github.com/cocoadialog/cocoadialog
Рудольф Олах
Чертова вещь не имеет документации, только источники на github. Не знаю, как его установить.
ДимиДак
4

Homebrew предоставляет пакет zenity. Используется сервер MacOS X11 (эмуляция) Xquartz.

Упрощает использование кроссплатформенных реализаций, но это не родной MacOS X gui.

Volker
источник
Для тех, кто заинтересован, zenityдоступен на x11кране. Запустите, brew install homebrew/x11/zenityчтобы установить его.
Субин Себастьян
2

Попробуйте также Пашуа .

Pashua - это инструмент для создания собственных диалоговых окон Aqua из языков программирования, которые не поддерживают или не имеют ограниченной поддержки графических пользовательских интерфейсов в Mac OS X. В настоящее время он поддерживает AppleScript, Perl, PHP, Python, Groovy, Rexx, Ruby, сценарии оболочки и Tcl - и если ваш любимый язык не включен в этот список: написание связующего кода для общения с Pashua довольно просто.

LHF
источник
+1; Pashua мощен, но стиль API отличается от стиля Zenity тем, что вместо отдельных аргументов командной строки (многострочных) должны передаваться строки конфигурации, описывающие желаемый графический интерфейс. Вероятно, требуется больше времени, чтобы начать.
mklement0
1

На вашем терминале

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

:)

DimiDak
источник
0

Прошли годы, и эта работа продолжается, но я работаю над zenity «портом» для macOS и Windows.

Вы можете получить его здесь:
https://github.com/ncruces/zenity/releases

Узнайте больше:
https://github.com/ncruces/zenity

На macOS есть единственная зависимость osascriptJXA , потому что с JavaScript легче работать, чем с AppleScript).

В Windows нет никаких зависимостей, даже нет оболочки Explorer (что означает, что она будет работать на Server Core).

Нуно Крусес
источник
0

MacOS поставляется со встроенным Tcl / Tk . Питон Mac поставляется со слоем Tkinter для его использования, но вы также можете использовать его в оболочке и X11.

benwiggy
источник