Zenity dialogs for Golang, Windows, macOS
Go to file
2021-04-27 14:09:30 +01:00
cmd/zenity Go 1.16. 2021-04-14 15:18:05 +01:00
internal/zenutil WIP: progress (unix). 2021-04-27 14:09:30 +01:00
.gitignore WIP: zenity command (macos). 2020-01-07 00:57:50 +00:00
color_darwin.go List (unix), refactor. 2021-04-08 16:46:27 +01:00
color_test.go Timeouts, cancellation (tests). 2020-01-29 14:21:25 +00:00
color_unix.go File filters (macOS). 2021-04-13 10:52:41 +01:00
color_windows.go WIP: progress (unix). 2021-04-27 14:09:30 +01:00
color.go Refactor. 2021-03-04 12:42:30 +00:00
entry_darwin.go Refactor. 2021-04-09 01:26:57 +01:00
entry_test.go Refactor. 2021-04-09 01:26:57 +01:00
entry_unix.go File filters (macOS). 2021-04-13 10:52:41 +01:00
entry_windows.go List (windows), fix #3. 2021-04-09 13:39:15 +01:00
entry.go Refactor. 2021-04-09 01:26:57 +01:00
file_darwin.go File filters (windows). 2021-04-13 13:32:08 +01:00
file_filter_test.go File filters (windows). 2021-04-13 13:32:08 +01:00
file_test.go File filters (windows). 2021-04-13 13:32:08 +01:00
file_unix.go File filters (macOS). 2021-04-13 10:52:41 +01:00
file_windows.go File filter names (windows). 2021-04-13 14:37:10 +01:00
file.go Documentation. 2021-04-27 14:09:20 +01:00
go.mod Go 1.16. 2021-04-14 15:18:05 +01:00
go.sum Go 1.16. 2021-04-14 15:18:05 +01:00
LICENSE Initial commit 2019-12-10 10:51:21 +00:00
list_darwin.go List (unix), refactor. 2021-04-08 16:46:27 +01:00
list_test.go List (macOS), see #3. 2021-04-07 14:40:40 +01:00
list_unix.go File filters (macOS). 2021-04-13 10:52:41 +01:00
list_windows.go List (windows), fix #3. 2021-04-09 13:39:15 +01:00
list.go Documentation, fixes. 2021-04-09 16:09:31 +01:00
msg_darwin.go List (unix), refactor. 2021-04-08 16:46:27 +01:00
msg_test.go Timeouts, cancellation (tests). 2020-01-29 14:21:25 +00:00
msg_unix.go File filters (macOS). 2021-04-13 10:52:41 +01:00
msg_windows.go Documentation, fixes. 2021-04-09 16:09:31 +01:00
msg.go Fixes. 2021-03-08 01:12:32 +00:00
notify_darwin.go Refactor. 2021-03-04 12:42:30 +00:00
notify_test.go Timeouts, cancellation (tests). 2020-01-29 14:21:25 +00:00
notify_unix.go File filters (macOS). 2021-04-13 10:52:41 +01:00
notify_windows.go Refactor, docs. 2021-03-10 14:49:09 +00:00
notify.go Refactor. 2021-03-04 12:42:30 +00:00
progress_darwin.go WIP: progress (unix). 2021-04-27 14:09:30 +01:00
progress_unix.go WIP: progress (unix). 2021-04-27 14:09:30 +01:00
progress.go WIP: progress (unix). 2021-04-27 14:09:30 +01:00
pwd_stub.go Refactor. 2021-04-09 01:26:57 +01:00
pwd_test.go Refactor. 2021-04-09 01:26:57 +01:00
pwd_unix.go File filters (macOS). 2021-04-13 10:52:41 +01:00
pwd.go Refactor. 2021-04-09 01:26:57 +01:00
README.md File filters (macOS). 2021-04-13 10:52:41 +01:00
util_darwin.go WIP: progress (unix). 2021-04-27 14:09:30 +01:00
util_unix.go File filters (macOS). 2021-04-13 10:52:41 +01:00
util_windows.go Documentation, fixes. 2021-04-09 16:09:31 +01:00
zenity_test.go Timeouts, cancellation (tests). 2020-01-29 14:21:25 +00:00
zenity.go WIP: progress (macOS). 2021-04-27 14:09:21 +01:00

Zenity dialogs for Golang, Windows and macOS

PkgGoDev Go Report

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