Since I’m thinking of making my software cross-platform, I’m planning to get rid of the rofi dependency, and instead display the prompt using Go itself.
I’ve found two possible frameworks for achieving this:
It’s pretty good but still getting better with each release.
Some people may recommend GIO… I do not like that library because it’s confusing, hard to work with, and the documentation isn’t great. Also there are very few examples out there using it. So I would recommend Fyne.
I did a little work with gotk3 and of the GoLang GUI options it’s definitely not bad, though channels don’t work the way you expect when you start interacting with GUI code…
I’m actually planning to use https://github.com/ultralight-ux/ and just implement the basics to open the Ultralight window, systray icon and right click menu in C, and then use Go to power a typical web front end on the desktop…
My initial thought was to implement it all in gotk3, but you do sacrifice some of the typical benefits of Go when you’re interacting with the C libraries.
So I’ve tried the above mentioned frameworks… all of them.
And to be honest… the best one that I have used isn’t mentioned.
I like QT bindings the best. There’s a ton of widgets and while there isn’t much documentation, the examples are very similar to examples found in every other language (ie: C++ python etc.). Actually I was stuck on a file dialog issue last night and just googled the C++ example to solve my issue.