random-apps/main.go

41 lines
834 B
Go

package main
import (
"os"
"sync"
"gioui.org/app"
"git.mstar.dev/mstar/goutils/other"
"git.mstar.dev/mstar/timer/shared"
"git.mstar.dev/mstar/timer/timer"
"github.com/rs/zerolog/log"
)
func main() {
other.SetupFlags()
other.ConfigureLoggingFromCliArgs()
// Create window struct outside. Doesn't cause any renders yet
windows := []*app.Window{
new(app.Window),
}
var wg sync.WaitGroup
for _, window := range windows {
wg.Add(1)
go windowLauncher(window, &wg)
}
go func() {
wg.Wait()
log.Info().Msg("All windows closed, exiting")
os.Exit(0)
}()
app.Main()
}
func windowLauncher(window *app.Window, wg *sync.WaitGroup) {
defer wg.Done()
log.Info().Msg("Starting window")
err := shared.Run(window, &timer.StateEnterTime{})
if err != nil {
log.Fatal().Err(err).Msg("Failed to run main window")
}
}