Golang GUI
I've looked around for GUI toolkits for Go before and haven't hit on anything I really like so (classic style) I'll take a crack at my own.
Logic Layer
The logic of the application should be wholly separate from the GUI. The application should register listeners to handle GUI events.
If this is done right, I should be able to plug in many UI tool kits.
Core Toolkits
GTK
I think this is the toolkit I want to go with. Supports the big 3 OS.
I should look at Glade again. If I can make that work, it would save a lot of work because it's close to what I want.
QT
This is more open than I initially thought and possibly better supported. https://www.amazon.com/Hands-GUI-Programming-Qt5-cross-platform-ebook/dp/B075Z3H7DS/
TK
Used in python, maybe?
Electron
I think it requires Node. Unfortunately I think this is the way to go. It also means I'll probably need to learn some Node and modern JS. And I'll need to choose a JS framework like Vue or React.
Wails
Uses Vue or React, so more Node.
Shiny
Both GTK and QT require bindings, which make me a bit nervous. I've already got shiny working once, I could build off this, or re-work it to support native tools.
Canvas Widgets
Kind of hacky, but I could build a custom widget toolkit myself. Then it would work everywhere. Just thinking about getting text working though kind of hurts my head.
Server
This would require getting away from Go, but I could write either a GTK or QT server and then anything could use it. I could do this in Rust.