diff --git a/main.go b/main.go index 781cabf..3fb95c6 100644 --- a/main.go +++ b/main.go @@ -230,6 +230,8 @@ func main() { widgetColors() + help = w.NewHelpMenu() + // inits termui err := ui.Init() if err != nil { @@ -239,9 +241,6 @@ func main() { setupGrid() - // load help widget after init termui so that it has access to terminal size - help = w.NewHelpMenu() - ui.On("", func(e ui.Event) { ui.Body.Width, ui.Body.Height = e.Width, e.Height ui.Body.Resize() diff --git a/widgets/help.go b/widgets/help.go index c86b02a..ed1bf77 100644 --- a/widgets/help.go +++ b/widgets/help.go @@ -32,16 +32,17 @@ type HelpMenu struct { func NewHelpMenu() *HelpMenu { block := ui.NewBlock() - block.X = 48 // width - 1 - block.Y = 17 // height - 1 - block.XOffset = (ui.Body.Width - block.X) / 2 // X coordinate - block.YOffset = (ui.Body.Height - block.Y) / 2 // Y coordinate + block.X = 48 // width - 1 + block.Y = 17 // height - 1 return &HelpMenu{block} } func (self *HelpMenu) Buffer() *ui.Buffer { buf := self.Block.Buffer() + self.Block.XOffset = (ui.Body.Width - self.Block.X) / 2 // X coordinate + self.Block.YOffset = (ui.Body.Height - self.Block.Y) / 2 // Y coordinate + for y, line := range strings.Split(KEYBINDS, "\n") { for x, char := range line { buf.SetCell(x+1, y, ui.NewCell(char, ui.Color(7), self.Bg))