diff options
Diffstat (limited to 'aerc.go')
-rw-r--r-- | aerc.go | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/aerc.go b/aerc.go new file mode 100644 index 0000000..3030ee9 --- /dev/null +++ b/aerc.go @@ -0,0 +1,45 @@ +package main + +import ( + "io" + "io/ioutil" + "log" + "os" + "time" + + "github.com/mattn/go-isatty" + + "git.sr.ht/~sircmpwn/aerc2/config" + libui "git.sr.ht/~sircmpwn/aerc2/lib/ui" + "git.sr.ht/~sircmpwn/aerc2/widgets" +) + +func main() { + var logOut io.Writer + var logger *log.Logger + if !isatty.IsTerminal(os.Stdout.Fd()) { + logOut = os.Stdout + } else { + logOut = ioutil.Discard + } + logger = log.New(logOut, "", log.LstdFlags) + logger.Println("Starting up aerc") + + conf, err := config.LoadConfig(nil) + if err != nil { + panic(err) + } + + ui, err := libui.Initialize(conf, widgets.NewAerc(logger)) + if err != nil { + panic(err) + } + defer ui.Close() + + for !ui.Exit { + if !ui.Tick() { + // ~60 FPS + time.Sleep(16 * time.Millisecond) + } + } +} |