A cross-platform Go package and command-line tool providing Zenity-like graphical dialogs for user interaction.
Zenity for Go is a cross-platform library and command-line tool that provides Zenity-like graphical dialogs for Go applications. It enables developers to create native dialog boxes for user interaction—such as file selection, password prompts, and message boxes—without writing platform-specific code or dealing with complex dependencies.
Go developers building cross-platform applications that require simple graphical user interaction, particularly those targeting Windows, macOS, and Unix-like systems.
Developers choose Zenity for Go because it offers a pure-Go, dependency-light solution with no cgo requirements, easy cross-compilation, and native platform integration. It provides a familiar Zenity API while addressing platform-specific limitations and offering modern features like context cancellation.
Zenity dialogs for Golang, Windows, macOS
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Written without cgo, enabling easy cross-compilation and avoiding C interoperability issues, as highlighted in the Benefits section for cross-platform builds.
Provides a unified API for common dialogs like file pickers and message boxes across Windows, macOS, and Unix, using native UI components for a platform-consistent look.
Integrates with Go's context package to allow canceling dialog operations, offering modern concurrency control without threading complexities.
On Windows, it requires no additional dependencies beyond Go; on macOS, it only depends on osascript; reducing setup overhead compared to full GUI frameworks.
Only implements basic dialogs like message boxes and file pickers; lacks advanced UI elements such as tables or custom forms, restricting it to simple interactions.
Dialogs may behave slightly differently across OSes due to native component variations and 'unfortunate limitations', potentially affecting user experience consistency.
On Unix-like systems, it wraps external tools like zenity or qarma, which must be installed separately, adding setup steps and potential compatibility issues.