Zenity dialogs for Golang, Windows, macOS
Go to file
2022-06-18 12:58:50 +01:00
.github/workflows Constant build tag. 2022-05-02 14:03:51 +01:00
cmd/zenity Refactor (windows). 2022-06-18 04:08:09 +01:00
internal Refactor (windows). 2022-06-18 12:58:50 +01:00
scripts Username (macOS). 2022-05-11 18:19:13 +01:00
testdata Custom icons (test). 2022-05-09 15:50:25 +01:00
.gitignore WIP: zenity command (macos). 2020-01-07 00:57:50 +00:00
color_darwin.go Fix window icons (macOS). 2022-06-09 00:31:14 +01:00
color_test.go Add window icons, tests. 2022-05-19 00:04:20 +01:00
color_unix.go Attach, modal (unix). 2022-06-02 11:24:24 +00:00
color_windows.go Refactor (windows). 2022-06-18 12:58:50 +01:00
color.go Attach, modal (unix). 2022-06-02 11:24:24 +00:00
const_windows.go Refactor (windows). 2022-06-18 12:58:50 +01:00
date_darwin.go Fix window icons (macOS). 2022-06-09 00:31:14 +01:00
date_test.go Add window icons, tests. 2022-05-19 00:04:20 +01:00
date_unix.go Attach, modal (unix). 2022-06-02 11:24:24 +00:00
date_windows.go Refactor (windows). 2022-06-18 12:58:50 +01:00
date.go Attach, modal (unix). 2022-06-02 11:24:24 +00:00
entry_darwin.go Fix window icons (macOS). 2022-06-09 00:31:14 +01:00
entry_test.go Add window icons, tests. 2022-05-19 00:04:20 +01:00
entry_unix.go Attach, modal (unix). 2022-06-02 11:24:24 +00:00
entry_windows.go Refactor (windows). 2022-06-18 12:58:50 +01:00
entry.go Attach, modal (unix). 2022-06-02 11:24:24 +00:00
file_darwin.go Fix window icons (macOS). 2022-06-09 00:31:14 +01:00
file_filter_test.go Scripted user tests. 2021-07-08 17:15:12 +01:00
file_test.go Fix #29. 2022-05-19 14:10:43 +01:00
file_unix.go Attach, modal (unix). 2022-06-02 11:24:24 +00:00
file_util_test.go Scripted user tests. 2021-07-08 17:15:12 +01:00
file_windows.go Refactor (windows). 2022-06-18 12:58:50 +01:00
file.go Attach, modal (unix). 2022-06-02 11:24:24 +00:00
go.mod Refactor (windows). 2022-06-18 04:08:09 +01:00
go.sum Refactor (windows). 2022-06-18 04:08:09 +01:00
LICENSE Initial commit 2019-12-10 10:51:21 +00:00
list_darwin.go Fix window icons (macOS). 2022-06-09 00:31:14 +01:00
list_test.go Add window icons, tests. 2022-05-19 00:04:20 +01:00
list_unix.go Attach, modal (unix). 2022-06-02 11:24:24 +00:00
list_windows.go Refactor (windows). 2022-06-18 12:58:50 +01:00
list.go Attach, modal (unix). 2022-06-02 11:24:24 +00:00
main_test.go WSL test improvements. 2021-07-29 16:20:50 +01:00
msg_darwin.go Fix window icons (macOS). 2022-06-09 00:31:14 +01:00
msg_test.go Add window icons, tests. 2022-05-19 00:04:20 +01:00
msg_unix.go Attach, modal (unix). 2022-06-02 11:24:24 +00:00
msg_windows.go Refactor (windows). 2022-06-18 12:58:50 +01:00
msg.go Attach, modal (unix). 2022-06-02 11:24:24 +00:00
notify_darwin.go Refactor. 2021-03-04 12:42:30 +00:00
notify_test.go Add window icons, tests. 2022-05-19 00:04:20 +01:00
notify_unix.go Attach, modal (unix). 2022-06-02 11:24:24 +00:00
notify_windows.go Refactor (windows). 2022-06-18 12:58:50 +01:00
notify.go Refactor. 2021-03-04 12:42:30 +00:00
progress_darwin.go Fix window icons (macOS). 2022-06-09 00:31:14 +01:00
progress_test.go Add window icons, tests. 2022-05-19 00:04:20 +01:00
progress_unix.go Attach, modal (unix). 2022-06-02 11:24:24 +00:00
progress_windows.go Refactor (windows). 2022-06-18 12:58:50 +01:00
progress.go Attach, modal (unix). 2022-06-02 11:24:24 +00:00
pwd_darwin.go Fix window icons (macOS). 2022-06-09 00:31:14 +01:00
pwd_test.go Add window icons, tests. 2022-05-19 00:04:20 +01:00
pwd_unix.go Attach, modal (unix). 2022-06-02 11:24:24 +00:00
pwd_windows.go Refactor (windows). 2022-06-18 12:58:50 +01:00
pwd.go Attach, modal (unix). 2022-06-02 11:24:24 +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_test.go Attach, modal (unix). 2022-06-02 11:24:24 +00:00
util_unix.go Refactor (windows). 2022-06-18 12:58:50 +01:00
util_windows.go Refactor (windows). 2022-06-18 12:58:50 +01:00
zenity_test.go Attach check types. 2022-06-07 00:03:34 +01:00
zenity.go Refactor (windows). 2022-06-18 12:58:50 +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