Zenity dialogs for Golang, Windows, macOS Fork of https://github.com/ncruces/zenity
Find a file
2020-01-09 13:26:58 +00:00
cmd/zenity WIP: zenity command. 2020-01-09 03:00:22 +00:00
internal WIP: zenity command (linux). 2020-01-09 11:56:14 +00:00
.gitignore WIP: zenity command (macos). 2020-01-07 00:57:50 +00:00
file_darwin.go WIP: zenity command (macos). 2020-01-09 02:38:10 +00:00
file_test.go WIP: zenity command (windows). 2020-01-09 00:54:34 +00:00
file_unix.go WIP: zenity command (linux). 2020-01-09 11:56:14 +00:00
file_windows.go WIP: zenity command (windows). 2020-01-09 00:54:34 +00:00
go.mod WIP: zenity command. 2020-01-09 03:00:22 +00:00
go.sum WIP: zenity command. 2020-01-09 03:00:22 +00:00
init_windows.go Message dialogs improvements (windows). 2020-01-08 00:44:26 +00:00
init_windows_test.go File API, windows fixes. 2020-01-03 01:44:23 +00:00
LICENSE Initial commit 2019-12-10 10:51:21 +00:00
msg_darwin.go WIP: zenity command (macos). 2020-01-07 00:57:50 +00:00
msg_test.go Message dialogs, macos improvements. 2020-01-05 03:21:39 +00:00
msg_unix.go WIP: zenity command (linux). 2020-01-09 11:56:14 +00:00
msg_windows.go WIP: zenity command (windows). 2020-01-09 00:54:34 +00:00
README.md Update README.md 2020-01-09 13:26:58 +00:00
zenity.go WIP: zenity command (windows). 2020-01-09 00:54:34 +00:00

Zenity dialogs for Golang, Windows and macOS

GoDoc

This repo includes both a cross-platform Go package providing Zenity-like dialogs, 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); and
  • file selection.

Behavior on Windows, macOS and other UNIXes might differ sliglty. Some of that is intended (reflecting platform differences), other bits are unfortunate limitations, others still open to be fixed.

Why?

There are a bunch of other dialog packages for Go. Why reinvent this particular wheel?

Requirements:

  • no cgo (see benefits, mostly cross-compilation)
  • no main loop (or other threading requirements)
  • no initialization
  • on Windows:
    • Explorer shell not required (works in Server Core)
    • no other dependencies
    • Unicode support
  • on macOS:
    • only dependency is osascript, JXA
  • on other UNIXes:
    • wraps either one of matedialog, qarma, zenity (in that order of preference)
    • no command line support