有Mac OSX的zenity吗?


16

我正在将一些简单的X Windows / bash脚本移植到Mac OSX,但是找不到OSX的Zenity(用于基本GUI对话框的Gnome应用)构建。我可以使用其他一些命令行驱动的对话框实用程序吗?基本操作:通知对话框

  • 项目清单
  • (即基本标题,文本,图标,确定按钮)
  • 错误通知
  • 是/否或确定/取消提示
  • 从列表中选择1或n个项目
  • 输入文字字串

我还不了解AppleScript(但是对于我感兴趣的文件维护任务来说似乎很冗长)。


Cocoadialog不像zenity一样支持--username和--password。请注意!
Sindhu S

brew install zenity
user2707001

Answers:


12

查看cocoaDialog

cocoaDialog是一个OS X应用程序,允许通过命令行应用程序使用常见的GUI控件,例如文件选择器,文本输入,进度条,是/否确认等。它不需要Cocoa知识,非常适合在Shell和Perl脚本(或Ruby,Python或...等)中使用。

这是一个非常简单的概念-将参数传递给可执行文件以创建对话框,然后返回结果字符串。有一些很好的例子以及文档


1
截至2017年11月,@ mklement0 cocoaDialog已恢复活跃开发:github.com/cocoadialog/cocoadialog
Rudolf Olah

该死的东西没有文档,只有github上的资源。不要知道如何安装它。
DimiDak

4

Homebrew提供了zenity软件包。它使用MacOS X11服务器(仿真)Xquartz。

使跨OS的实现更加容易,但是它不是本机MacOS X gui。


对于那些有兴趣的人,zenity可以x11点击。运行brew install homebrew/x11/zenity以安装它。
Subin Sebastian

2

也尝试Pashua

Pashua是一种工具,可用于从不支持或仅对Mac OS X上的图形用户界面提供支持的编程语言创建本机Aqua对话框窗口。目前,它支持AppleScript,Perl,PHP,Python,Groovy,Rexx,Ruby,shell脚本和Tcl-并且如果您喜欢的语言未包括在此列表中:编写用于与Pashua进行通信的粘合代码非常简单。


+1; Pashua功能强大,但是API样式与Zenity的不同之处在于,必须传递描述所需GUI的单独的命令行参数(多行)配置字符串,而不是单独的命令行参数。大概需要更长的时间才能上手。
mklement0



0

已经有好几年了,这项工作正在进行中,但是我正在研究macOS和Windows 的zenity “端口”

您可以在这里获取它: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层来使用它,但是您也可以在shell和X11中使用它。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.