Thanks for starting this @soapdog! I patched up a bunch of things:
[x] fix start arguments for servers
The arg argument to exec.Command is variadic like the printfs. The way it was before, it passed one giant argument with spaces in it. Also changed the toml file decoding to expect an array to reflect that, felt better then splitting the string on spaces.
[x] remove the aggregated channel
instead start individual goroutines for each server item (waitForClick())
[x] moved all the server handling into functions on ServerMenuItem
[x] cleanup shutdown, use quit() everywhere and add signal handling
you can now click on a server and it should stop, also the check mark is only set if startup succeeds.
[x] embed the ico-file into the go code
now the file doesn't have to be in the same path, run go generate to update it.
Thanks for starting this @soapdog! I patched up a bunch of things:
[x] fix
start
arguments for servers Thearg
argument to exec.Command is variadic like the printfs. The way it was before, it passed one giant argument with spaces in it. Also changed the toml file decoding to expect an array to reflect that, felt better then splitting the string on spaces.[x] remove the aggregated channel instead start individual goroutines for each server item (
waitForClick()
)[x] moved all the server handling into functions on
ServerMenuItem
[x] cleanup shutdown, use
quit()
everywhere and add signal handling you can now click on a server and it should stop, also the check mark is only set if startup succeeds.[x] embed the ico-file into the go code now the file doesn't have to be in the same path, run
go generate
to update it.[x] pipe server output to stderr