diff --git a/widgets/cpu.go b/widgets/cpu.go index 05332186..cf8fc106 100644 --- a/widgets/cpu.go +++ b/widgets/cpu.go @@ -34,7 +34,9 @@ func NewCPU(interval time.Duration, zoom int) *CPU { self.Data["Average"] = []float64{0} } + // update asynchronously because of 1 second blocking period go self.update() + ticker := time.NewTicker(self.interval) go func() { for range ticker.C { diff --git a/widgets/disk.go b/widgets/disk.go index f2d45536..4b4df3c8 100644 --- a/widgets/disk.go +++ b/widgets/disk.go @@ -23,7 +23,8 @@ func NewDisk() *Disk { } self.Label = "Disk Usage" - go self.update() + self.update() + ticker := time.NewTicker(self.interval) go func() { for range ticker.C { diff --git a/widgets/mem.go b/widgets/mem.go index e38be92b..5b80c4d8 100644 --- a/widgets/mem.go +++ b/widgets/mem.go @@ -22,7 +22,8 @@ func NewMem(interval time.Duration, zoom int) *Mem { self.Data["Main"] = []float64{0} self.Data["Swap"] = []float64{0} - go self.update() + self.update() + ticker := time.NewTicker(self.interval) go func() { for range ticker.C { diff --git a/widgets/net.go b/widgets/net.go index 5b630291..88187dc8 100644 --- a/widgets/net.go +++ b/widgets/net.go @@ -31,7 +31,8 @@ func NewNet() *Net { } self.Label = "Network Usage" - go self.update() + self.update() + ticker := time.NewTicker(self.interval) go func() { for range ticker.C { diff --git a/widgets/temp.go b/widgets/temp.go index 9478cd16..895f1d74 100644 --- a/widgets/temp.go +++ b/widgets/temp.go @@ -31,7 +31,8 @@ func NewTemp() *Temp { } self.Label = "Temperatures" - go self.update() + self.update() + ticker := time.NewTicker(self.interval) go func() { for range ticker.C {