package main import ( "embed" "go.wit.com/lib/debugger" "go.wit.com/log" "go.wit.com/gui" ) var VERSION string //go:embed resources/* var resources embed.FS var myargv argv func main() { me = new(autoType) standardMachineInit() log.DaemonMode(false) me.myGui = gui.New() if !myargv.GitPull { me.myGui.InitEmbed(resources) me.myGui.Default() } me.autotypistWindow = me.myGui.NewWindow("autotypist: it types faster than you can.") me.mainbox = me.autotypistWindow.NewBox("bw hbox", true) // start the http server for polling status go startHTTP() vbox1 := me.mainbox.NewVerticalBox("BOX1") globalDisplayOptions(vbox1) docsBox(vbox1) if debugger.ArgDebug() { debuggerBox(vbox1) } // disable the interface while everything is scanned me.Disable() vbox2 := me.mainbox.NewVerticalBox("BOX2") globalBuildOptions(vbox2) // me.summary = submitPatchesBox(vbox2) globalResetOptions(me.mainbox) me.repos = makeRepoView() // parse config file and scan for .git repos me.repos.initRepoList() // reads in the State of all the repos // TODO: should not really be necessary directly after init() me.repos.View.ScanRepositories() // process everything on the command line // may exit here handleCmdLine() // setup the autoscan functions me.repos.View.RegisterHideFunction(hideFunction) // processing is done. update the repo summary box // me.summary.Update() me.Enable() // intermittently scans the status indefinitly me.repos.View.Watchdog(func() { // log.Info("watchdog in autotypist main()") }) }