Zenity dialogs for Golang, Windows, macOS
Fork of https://github.com/ncruces/zenity
cmd/zenity | ||
internal/zenutil | ||
.gitignore | ||
color.go | ||
color_darwin.go | ||
color_test.go | ||
color_unix.go | ||
color_windows.go | ||
entry.go | ||
entry_darwin.go | ||
file.go | ||
file_darwin.go | ||
file_test.go | ||
file_unix.go | ||
file_windows.go | ||
go.mod | ||
go.sum | ||
LICENSE | ||
msg.go | ||
msg_darwin.go | ||
msg_test.go | ||
msg_unix.go | ||
msg_windows.go | ||
notify.go | ||
notify_darwin.go | ||
notify_test.go | ||
notify_unix.go | ||
notify_windows.go | ||
README.md | ||
util_windows.go | ||
util_windows_test.go | ||
zenity.go | ||
zenity_test.go |
Zenity dialogs for Golang, Windows and macOS
This repo includes both a cross-platform Go package providing
Zenity-like dialogs
(simple dialogs that interact graphically with the user),
as well as a “port” of the zenity
command to both Windows and macOS based on that library.
This is a work in progress.
Lots of things are missing. For now, these are the only implemented dialogs:
- message (error, info, question, warning)
- file selection
- color selection
- notification
Behavior on Windows, macOS and other Unixes might differ slightly. Some of that is intended (reflecting platform differences), other bits are unfortunate limitations, others still are open to be fixed.
Why?
There are a bunch of other dialog packages for Go.
Why reinvent this particular wheel?
Benefits:
- no
cgo
(see benefits, mostly cross-compilation) - no main loop (or any other threading or initialization requirements)
- cancelation through
context
- on Windows:
- no additional dependencies
- Explorer shell not required
- works in Server Core
- Unicode support
- WSL/Cygwin/MSYS2 support
- no additional dependencies
- on macOS:
- only dependency is
osascript
- only dependency is
- on other Unixes:
- wraps either one of
zenity
,qarma
,matedialog
- wraps either one of