diff --git a/cointop.go b/cointop.go index 94cf3c5..4eda02d 100644 --- a/cointop.go +++ b/cointop.go @@ -42,7 +42,6 @@ type Cointop struct { func (ct *Cointop) layout(g *gocui.Gui) error { maxX, maxY := g.Size() - chartHeight := 10 if v, err := g.SetView("chart", 0, 0, maxX, chartHeight); err != nil { if err != gocui.ErrUnknownView { @@ -78,24 +77,35 @@ func (ct *Cointop) layout(g *gocui.Gui) error { t.Format().Fprint(v) ct.headersview = v + ct.headersview.Frame = false ct.headersview.Highlight = true ct.headersview.SelBgColor = gocui.ColorGreen ct.headersview.SelFgColor = gocui.ColorBlack - ct.headersview.Frame = false } - if v, err := g.SetView("table", 0, chartHeight+1, maxX, maxY); err != nil { + if v, err := g.SetView("table", 0, chartHeight+1, maxX, maxY-1); err != nil { if err != gocui.ErrUnknownView { return err } ct.tableview = v + ct.tableview.Frame = false ct.tableview.Highlight = true ct.tableview.SelBgColor = gocui.ColorCyan ct.tableview.SelFgColor = gocui.ColorBlack - ct.tableview.Frame = false ct.updateTable() } + if v, err := g.SetView("footer", 0, maxY-2, maxX, maxY); err != nil { + if err != gocui.ErrUnknownView { + return err + } + v.Frame = false + v.Highlight = true + v.SelBgColor = gocui.ColorCyan + v.SelFgColor = gocui.ColorBlack + fmt.Fprintln(v, pad.Right("[q]uit", maxX, " ")) + } + return nil } diff --git a/color/color.go b/color/color.go index 8ee5ff8..5bcd35f 100644 --- a/color/color.go +++ b/color/color.go @@ -3,8 +3,12 @@ package color import "github.com/fatih/color" var ( + // White color White = color.New(color.FgWhite).SprintFunc() + // Green color Green = color.New(color.FgGreen).SprintFunc() - Red = color.New(color.FgRed).SprintFunc() - Cyan = color.New(color.FgCyan).SprintFunc() + // Red color + Red = color.New(color.FgRed).SprintFunc() + // Cyan color + Cyan = color.New(color.FgCyan).SprintFunc() ) diff --git a/keybindings.go b/keybindings.go index 52311b0..d14e0cd 100644 --- a/keybindings.go +++ b/keybindings.go @@ -6,8 +6,15 @@ import ( "github.com/jroimartin/gocui" ) -func (ct *Cointop) setKeybinding(key gocui.Key, callback func(g *gocui.Gui, v *gocui.View) error) { - if err := ct.g.SetKeybinding("", key, gocui.ModNone, callback); err != nil { +func (ct *Cointop) setKeybinding(key interface{}, callback func(g *gocui.Gui, v *gocui.View) error) { + var err error + switch t := key.(type) { + case gocui.Key: + err = ct.g.SetKeybinding("", t, gocui.ModNone, callback) + case rune: + err = ct.g.SetKeybinding("", t, gocui.ModNone, callback) + } + if err != nil { log.Fatal(err) } }