summary refs log tree commit diff stats
path: root/aerc.go
diff options
context:
space:
mode:
Diffstat (limited to 'aerc.go')
-rw-r--r--aerc.go45
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)
+		}
+	}
+}