summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCaleb Bassi <calebjbassi@gmail.com>2018-12-01 21:00:17 -0800
committerCaleb Bassi <calebjbassi@gmail.com>2018-12-01 21:00:17 -0800
commit1b8c3ed91889363e6eb60f793b4fd01b7ec7805d (patch)
tree2e1618df25048066071196104a9e287badf3a7e9
parent357050207e10bc4cddf20f12bd7072186e7a1d82 (diff)
Format cpu names based on cpu count
-rw-r--r--src/widgets/cpu.go28
1 files changed, 17 insertions, 11 deletions
diff --git a/src/widgets/cpu.go b/src/widgets/cpu.go
index 15c1b54..cd41733 100644
--- a/src/widgets/cpu.go
+++ b/src/widgets/cpu.go
@@ -11,20 +11,26 @@ import (
type CPU struct {
*ui.LineGraph
- Count int // number of cores
- Average bool // show average load
- PerCPU bool // show per-core load
- interval time.Duration
+ Count int // number of cores
+ Average bool // show average load
+ PerCPU bool // show per-core load
+ interval time.Duration
+ formatString string
}
func NewCPU(interval time.Duration, zoom int, average bool, percpu bool) *CPU {
count, _ := psCPU.Counts(false)
+ formatString := "CPU%1d"
+ if count > 10 {
+ formatString = "CPU%02d"
+ }
self := &CPU{
- LineGraph: ui.NewLineGraph(),
- Count: count,
- interval: interval,
- Average: average,
- PerCPU: percpu,
+ LineGraph: ui.NewLineGraph(),
+ Count: count,
+ interval: interval,
+ Average: average,
+ PerCPU: percpu,
+ formatString: formatString,
}
self.Label = "CPU Usage"
self.Zoom = zoom
@@ -43,7 +49,7 @@ func NewCPU(interval time.Duration, zoom int, average bool, percpu bool) *CPU {
if self.PerCPU {
for i := 0; i < self.Count; i++ {
- k := fmt.Sprintf("CPU%02d", i)
+ k := fmt.Sprintf(formatString, i)
self.Data[k] = []float64{0}
}
}
@@ -85,7 +91,7 @@ func (self *CPU) update() {
))
}
for i := 0; i < self.Count; i++ {
- k := fmt.Sprintf("CPU%02d", i)
+ k := fmt.Sprintf(self.formatString, i)
self.Data[k] = append(self.Data[k], percents[i])
self.Labels[k] = fmt.Sprintf("%3.0f%%", percents[i])
}