Чи існує еквівалент по площі 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 єдина залежність osascript(з JXA , оскільки з 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.