Чи існує еквівалент по площі Mac OSX?


16

Я переношу кілька простих скриптів для Windows / bash на Mac OSX, але не можу знайти збірку Zenity (додаток Gnome для основних діалогів GUI) для OSX. Чи є якась інша утиліта діалогу, керована командним рядком, яку я можу використовувати? Основні операції: діалогове вікно сповіщення

  • Елемент списку
  • (тобто основна назва, текст, значок, кнопка ОК)
  • повідомлення про помилку
  • так / ні або нормально / скасувати підказки
  • виберіть зі списку 1 або n елементів
  • введення текстового рядка

Я ще не знаю AppleScript (але це здається досить багатослівним для завдань щодо обслуговування файлів, які мене цікавлять).


Cocoadialog не підтримує --username та --password, як це робить zenity. Просто примітка!
Sindhu S

brew install
zenity

Відповіді:


12

Перевірте какао-діалог :

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

Це досить проста концепція - передайте аргументи виконуваному файлу для створення діалогового вікна, і він повертає рядок результатів. Є кілька хороших прикладів , а також документація .


1
@ mklement0 cocoaDialog з листопада 2017 року повернувся до активного розвитку: github.com/cocoadialog/cocoadialog
Рудольф Олах

Проклята річ не має документації, лише джерела про github. Не знайте, як його встановити.
DimiDak

4

Homebrew надає пакет зенності. Він використовує сервер MacOS X11 (емуляція) Xquartz.

Полегшує виконання крос-операційних операцій, але це не рідний MacOS X gui.


Для тих, хто зацікавлений, zenityдоступний на x11крані. Запустіть, brew install homebrew/x11/zenityщоб встановити його.
Субін Себастьян

2

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

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


+1; Пашуа є потужним, але стиль API відрізняється від Zenity тим, що замість окремих аргументів командного рядка (багаторядкової) конфігураційних рядків, що описують потрібний графічний інтерфейс, потрібно передавати. Напевно, потрібно більше часу, щоб розпочати роботу.
mklement0


1

На своєму терміналі

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

:)


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 python поставляється із шаром Tkinter для його використання, але ви також можете використовувати його в оболонці та X11.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.