package widgets import ( "image" "log" "os" "time" ui "github.com/gizak/termui/v3" ) type StatusBar struct { ui.Block } func NewStatusBar() *StatusBar { self := &StatusBar{*ui.NewBlock()} self.Border = false return self } func (sb *StatusBar) Draw(buf *ui.Buffer) { sb.Block.Draw(buf) hostname, err := os.Hostname() if err != nil { log.Printf(tr.Value("error.nohostname", err.Error())) return } buf.SetString( hostname, ui.Theme.Default, image.Pt(sb.Inner.Min.X, sb.Inner.Min.Y+(sb.Inner.Dy()/2)), ) currentTime := time.Now() formattedTime := currentTime.Format("15:04:05") buf.SetString( formattedTime, ui.Theme.Default, image.Pt( sb.Inner.Min.X+(sb.Inner.Dx()/2)-len(formattedTime)/2, sb.Inner.Min.Y+(sb.Inner.Dy()/2), ), ) // i, e := host.Info() // i.Uptime // Number of seconds since boot buf.SetString( "gotop", ui.Theme.Default, image.Pt( sb.Inner.Max.X-6, sb.Inner.Min.Y+(sb.Inner.Dy()/2), ), ) }