func main() { flag.Parse() log.AddFilter("file", log.FINEST, log.NewFileLogWriter("debug.log", *rotateLog)) defer func() { py.NewLock() py.Finalize() }() if err := termbox.Init(); err != nil { log.Close(err) return } defer func() { termbox.Close() log.Debug(util.Prof) if err := recover(); err != nil { log.Critical(err) panic(err) } }() t := createFrontend() go t.renderthread() go t.editor.Init() t.loop() }
func main() { flag.Parse() // Need to lock the OS thread as OSX GUI requires GUI stuff to run in the main thread runtime.LockOSThread() log.AddFilter("file", log.FINEST, log.NewFileLogWriter("debug.log", *rotateLog)) defer func() { py.NewLock() py.Finalize() }() t = &qmlfrontend{windows: make(map[*backend.Window]*frontendWindow)} go t.qmlBatchLoop() qml.Run(t.loop) }