package main import ( "context" "errors" "fmt" "galaxy/loader" "os" "os/signal" "fyne.io/fyne/v2/app" ) func main() { var err error defer func() { if err == nil { if r := recover(); r != nil { err = errors.Join(err, fmt.Errorf("app panics: %v", r)) } } if err != nil { fmt.Fprintln(os.Stderr, err) os.Exit(1) } }() ctx, cancel := signal.NotifyContext(context.Background(), os.Interrupt) defer cancel() app := app.New() l, err := loader.NewLoader(ctx, app, nil) if err != nil { return } err = l.Run(ctx) }