mirror of
https://github.com/bcicen/ctop.git
synced 2024-08-30 18:23:19 +00:00
45 lines
621 B
Go
45 lines
621 B
Go
package compact
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
ui "github.com/gizak/termui"
|
|
)
|
|
|
|
const (
|
|
mark = string('\u25C9')
|
|
vBar = string('\u25AE')
|
|
statusWidth = 3
|
|
)
|
|
|
|
// Status indicator
|
|
type Status struct {
|
|
*ui.Par
|
|
}
|
|
|
|
func NewStatus() *Status {
|
|
p := ui.NewPar(mark)
|
|
p.Border = false
|
|
p.Height = 1
|
|
p.Width = statusWidth
|
|
return &Status{p}
|
|
}
|
|
|
|
func (s *Status) Set(val string) {
|
|
// defaults
|
|
text := mark
|
|
color := ui.ColorDefault
|
|
|
|
switch val {
|
|
case "running":
|
|
color = ui.ColorGreen
|
|
case "exited":
|
|
color = ui.ColorRed
|
|
case "paused":
|
|
text = fmt.Sprintf("%s%s", vBar, vBar)
|
|
}
|
|
|
|
s.Text = text
|
|
s.TextFgColor = color
|
|
}
|