Zenity dialogs for Golang, Windows, macOS Fork of https://github.com/ncruces/zenity
Find a file
2022-05-09 15:50:25 +01:00
.github/workflows Constant build tag. 2022-05-02 14:03:51 +01:00
cmd/zenity Deprecate Icon. 2022-05-05 01:28:09 +01:00
internal/zenutil Use json to quote strings. 2022-05-09 15:50:25 +01:00
scripts Fix timezone issue. 2022-04-07 12:53:18 +01:00
.gitignore WIP: zenity command (macos). 2020-01-07 00:57:50 +00:00
color.go Documentation, fix #24. 2022-03-26 00:58:27 +00:00
color_darwin.go Canceled error. 2021-04-29 16:05:28 +01:00
color_test.go WSL test improvements. 2021-07-29 16:20:50 +01:00
color_unix.go Bump go version. 2022-03-24 14:37:37 +00:00
color_windows.go Calendar (windows). 2022-03-29 15:18:49 +01:00
const_windows.go Calendar (windows). 2022-03-29 15:18:49 +01:00
date.go Documentation. 2022-05-02 11:22:53 +01:00
date_darwin.go Avoid strftime dependency. 2022-05-02 15:03:48 +01:00
date_test.go Unpadded dates. 2022-03-29 16:02:46 +01:00
date_unix.go Avoid strftime dependency. 2022-05-02 15:03:48 +01:00
date_windows.go Calendar (windows). 2022-03-29 15:18:49 +01:00
entry.go Documentation, fix #24. 2022-03-26 00:58:27 +00:00
entry_darwin.go Canceled error. 2021-04-29 16:05:28 +01:00
entry_test.go WSL test improvements. 2021-07-29 16:20:50 +01:00
entry_unix.go Bump go version. 2022-03-24 14:37:37 +00:00
entry_windows.go Calendar (windows). 2022-03-29 15:18:49 +01:00
file.go Documentation. 2022-05-02 11:22:53 +01:00
file_darwin.go Canceled error. 2021-04-29 16:05:28 +01:00
file_filter_test.go Scripted user tests. 2021-07-08 17:15:12 +01:00
file_test.go Add context to errors. 2022-05-04 23:24:14 +01:00
file_unix.go Bump go version. 2022-03-24 14:37:37 +00:00
file_util_test.go Scripted user tests. 2021-07-08 17:15:12 +01:00
file_windows.go Add context to errors. 2022-05-04 23:24:14 +01:00
go.mod Avoid strftime dependency. 2022-05-02 15:03:48 +01:00
go.sum Avoid strftime dependency. 2022-05-02 15:03:48 +01:00
LICENSE Initial commit 2019-12-10 10:51:21 +00:00
list.go Add context to errors. 2022-05-04 23:24:14 +01:00
list_darwin.go Add context to errors. 2022-05-04 23:24:14 +01:00
list_test.go Fix test. 2022-05-02 15:51:21 +01:00
list_unix.go Bump go version. 2022-03-24 14:37:37 +00:00
list_windows.go Calendar (windows). 2022-03-29 15:18:49 +01:00
main_test.go WSL test improvements. 2021-07-29 16:20:50 +01:00
msg.go Documentation, fix #24. 2022-03-26 00:58:27 +00:00
msg_darwin.go Add an option for using custom dialog icons on MacOS 2022-05-09 15:50:25 +01:00
msg_test.go Avoid closures in syscall.NewCallback, #20. 2021-09-13 13:17:15 +01:00
msg_unix.go Bump go version. 2022-03-24 14:37:37 +00:00
msg_windows.go Calendar (windows). 2022-03-29 15:18:49 +01:00
notify.go Refactor. 2021-03-04 12:42:30 +00:00
notify_darwin.go Refactor. 2021-03-04 12:42:30 +00:00
notify_test.go Improve CI testing. 2021-07-07 01:01:22 +01:00
notify_unix.go Bump go version. 2022-03-24 14:37:37 +00:00
notify_windows.go Calendar (windows). 2022-03-29 15:18:49 +01:00
progress.go Documentation. 2022-05-02 11:22:53 +01:00
progress_darwin.go Add context to errors. 2022-05-04 23:24:14 +01:00
progress_test.go Improve CI testing. 2021-07-07 01:01:22 +01:00
progress_unix.go Bump go version. 2022-03-24 14:37:37 +00:00
progress_windows.go Calendar (windows). 2022-03-29 15:18:49 +01:00
pwd.go Documentation, fix #24. 2022-03-26 00:58:27 +00:00
pwd_stub.go Add context to errors. 2022-05-04 23:24:14 +01:00
pwd_test.go Add context to errors. 2022-05-04 23:24:14 +01:00
pwd_unix.go Bump go version. 2022-03-24 14:37:37 +00:00
README.md Emoji! 2022-05-05 15:49:51 +01:00
util_darwin.go Calendar API. 2022-03-29 15:18:49 +01:00
util_unix.go Bump go version. 2022-03-24 14:37:37 +00:00
util_unix_test.go Bump go version. 2022-03-24 14:37:37 +00:00
util_windows.go Calendar (windows). 2022-03-29 15:18:49 +01:00
zenity.go Add an option for using custom dialog icons on MacOS 2022-05-09 15:50:25 +01:00
zenity_test.go Test improvements. 2021-07-16 03:01:00 +01:00

Zenity dialogs for Golang, Windows and macOS

Go Reference Go Report Go Cover Mentioned in Awesome Go

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.

Implemented dialogs:

Behavior on Windows, macOS and other Unixes might differ slightly. Some of that is intended (reflecting platform differences), other bits are unfortunate limitations.

Installing

The Go package:

go get github.com/ncruces/zenity

The zenity command on macOS/WSL using Homebrew 🍺:

brew install ncruces/tap/zenity

The zenity command on Windows using Scoop 🍨:

scoop install https://ncruces.github.io/scoop/zenity.json

The zenity command on macOS/Windows if you have Go:

go install github.com/ncruces/zenity/cmd/zenity@latest

Or download the latest release.

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
    • High DPI (no manifest required)
    • Visual Styles (no manifest required)
    • WSL/Cygwin/MSYS2 support
  • on macOS:
    • only dependency is osascript
  • on other Unixes:
    • wraps either one of zenity, qarma, matedialog