From 0847464da1da5c2df19e107ee3884ab7996c1756 Mon Sep 17 00:00:00 2001 From: Nicolai Dagestad Date: Sat, 3 Aug 2019 17:17:13 +0200 Subject: [PATCH] Remove aerc specific code from the ui Separatiing the ui code from aerc makes it usable as a library in other projects. --- aerc.go | 6 +++++- lib/ui/ui.go | 12 +++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/aerc.go b/aerc.go index cfd192a..c71c384 100644 --- a/aerc.go +++ b/aerc.go @@ -150,12 +150,16 @@ func main() { return getCompletions(aerc, cmd) }, &commands.CmdHistory) - ui, err = libui.Initialize(conf, aerc) + ui, err = libui.Initialize(aerc) if err != nil { panic(err) } defer ui.Close() + if conf.Ui.MouseEnabled { + ui.EnableMouse() + } + logger.Println("Starting Unix server") as, err := lib.StartServer(logger) if err != nil { diff --git a/lib/ui/ui.go b/lib/ui/ui.go index 4c3dd34..01d12dc 100644 --- a/lib/ui/ui.go +++ b/lib/ui/ui.go @@ -4,8 +4,6 @@ import ( "sync/atomic" "github.com/gdamore/tcell" - - "git.sr.ht/~sircmpwn/aerc/config" ) type UI struct { @@ -18,8 +16,7 @@ type UI struct { invalid int32 // access via atomic } -func Initialize(conf *config.AercConfig, - content DrawableInteractiveBeeper) (*UI, error) { +func Initialize(content DrawableInteractiveBeeper) (*UI, error) { screen, err := tcell.NewScreen() if err != nil { @@ -32,9 +29,6 @@ func Initialize(conf *config.AercConfig, screen.Clear() screen.HideCursor() - if conf.Ui.MouseEnabled { - screen.EnableMouse() - } width, height := screen.Size() @@ -101,3 +95,7 @@ func (state *UI) Tick() bool { return more } + +func (state *UI) EnableMouse() { + state.screen.EnableMouse() +}