diff --git a/ui/controller.go b/ui/controller.go index eac568a..4e6c744 100644 --- a/ui/controller.go +++ b/ui/controller.go @@ -13,6 +13,7 @@ type controller struct { header *views.Header summary *views.Summary channels *views.Channels + footer *views.Footer } func (c *controller) layout(g *gocui.Gui) error { @@ -27,7 +28,12 @@ func (c *controller) layout(g *gocui.Gui) error { return err } - return c.channels.Set(g, 0, 7, maxX-1, maxY-1) + err = c.channels.Set(g, 0, 7, maxX-1, maxY-1) + if err != nil { + return err + } + + return c.footer.Set(g, 0, maxY-2, maxX, maxY) } func cursorDown(g *gocui.Gui, v *gocui.View) error { @@ -120,6 +126,7 @@ func newController(app *app.App) *controller { return &controller{ app: app, header: views.NewHeader(), + footer: views.NewFooter(), summary: views.NewSummary(), channels: views.NewChannels(), } diff --git a/ui/views/footer.go b/ui/views/footer.go new file mode 100644 index 0000000..a4c82d6 --- /dev/null +++ b/ui/views/footer.go @@ -0,0 +1,26 @@ +package views + +import "github.com/jroimartin/gocui" + +const ( + FOOTER = "footer" +) + +type Footer struct{} + +func (f *Footer) Set(g *gocui.Gui, x0, y0, x1, y1 int) error { + v, err := g.SetView(FOOTER, x0, y0, x1, y1) + if err != nil { + if err != gocui.ErrUnknownView { + return err + } + } + v.Frame = false + v.BgColor = gocui.ColorCyan + v.FgColor = gocui.ColorBlack | gocui.AttrBold + return nil +} + +func NewFooter() *Footer { + return &Footer{} +}