diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8d5ea47c76e..499d04643ea 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,9 @@
# Changelog
All notable changes to this project will be documented in this file.
+### [v1.2.6]
+ - fixed CPU usage
+
### [v1.2.5]
- added chart bar widget for CPU, Memory and Disk module
- label in Charts are enabled by default
@@ -48,6 +51,7 @@ All notable changes to this project will be documented in this file.
### [v1.0.0]
- first release
+[v1.2.6]: https://github.com/exelban/stats/releases/tag/v1.2.6
[v1.2.5]: https://github.com/exelban/stats/releases/tag/v1.2.5
[v1.2.4]: https://github.com/exelban/stats/releases/tag/v1.2.4
[v1.2.3]: https://github.com/exelban/stats/releases/tag/v1.2.3
@@ -55,4 +59,4 @@ All notable changes to this project will be documented in this file.
[v1.2.1]: https://github.com/exelban/stats/releases/tag/v1.2.1
[v1.2.0]: https://github.com/exelban/stats/releases/tag/v1.2.0
[v1.1.0]: https://github.com/exelban/stats/releases/tag/v1.1.0
-[v1.0.0]: https://github.com/exelban/stats/releases/tag/v1.0.0
\ No newline at end of file
+[v1.0.0]: https://github.com/exelban/stats/releases/tag/v1.0.0
diff --git a/Stats/Modules/CPU/CPU.swift b/Stats/Modules/CPU/CPU.swift
index cfb5e1afea9..2fa48ed4815 100644
--- a/Stats/Modules/CPU/CPU.swift
+++ b/Stats/Modules/CPU/CPU.swift
@@ -31,6 +31,10 @@ class CPU: Module {
self.label = Observable(defaults.object(forKey: "\(name)_label") != nil ? defaults.bool(forKey: "\(name)_label") : true)
initMenu()
initWidget()
+
+ if self.widgetType == Widgets.BarChart {
+ (self.reader as! CPUReader).perCoreMode = true
+ }
}
func initMenu() {
@@ -116,6 +120,12 @@ class CPU: Module {
break
}
+ if widgetCode == Widgets.BarChart {
+ (self.reader as! CPUReader).perCoreMode = true
+ } else {
+ (self.reader as! CPUReader).perCoreMode = false
+ }
+
if self.widgetType == widgetCode {
return
}
diff --git a/Stats/Modules/CPU/CPUReader.swift b/Stats/Modules/CPU/CPUReader.swift
index d8d3f3720b9..d227e095dea 100644
--- a/Stats/Modules/CPU/CPUReader.swift
+++ b/Stats/Modules/CPU/CPUReader.swift
@@ -19,7 +19,7 @@ class CPUReader: Reader {
var updateTimer: Timer!
let CPUUsageLock: NSLock = NSLock()
- var perCoreMode: Bool = true
+ var perCoreMode: Bool = false
init() {
let mibKeys: [Int32] = [ CTL_HW, HW_NCPU ]
@@ -83,7 +83,7 @@ class CPUReader: Reader {
usagePerCore.insert((Double(inUse) / Double(total)), at: Int(i))
}
- if perCoreMode {
+ if self.perCoreMode {
self.value << usagePerCore
} else {
self.value << [(Double(inUseOnAllCores) / Double(totalOnAllCores))]
diff --git a/Stats/Modules/Module.swift b/Stats/Modules/Module.swift
index d7e5d248fbf..2fd9cdb1ad5 100644
--- a/Stats/Modules/Module.swift
+++ b/Stats/Modules/Module.swift
@@ -57,6 +57,7 @@ extension Module {
widget.label = self.shortName
widget.toggleColor(state: self.color.value)
widget.toggleLabel(state: self.label.value)
+ widget.active = self.active
self.view = widget as! NSView
}
diff --git a/Stats/Supporting Files/Info.plist b/Stats/Supporting Files/Info.plist
index 90fa3e4c1fe..d0028172df4 100755
--- a/Stats/Supporting Files/Info.plist
+++ b/Stats/Supporting Files/Info.plist
@@ -17,7 +17,7 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 1.2.5
+ 1.2.6
CFBundleVersion
1
LSApplicationCategoryType
diff --git a/Stats/Widgets/BarChart.swift b/Stats/Widgets/BarChart.swift
index 4daec4b4ba9..5944b2383a0 100644
--- a/Stats/Widgets/BarChart.swift
+++ b/Stats/Widgets/BarChart.swift
@@ -9,6 +9,7 @@
import Cocoa
class BarChart: NSView, Widget {
+ var active: Observable = Observable(false)
var size: CGFloat = MODULE_WIDTH + 10
var labelPadding: CGFloat = 12.0
@@ -117,13 +118,18 @@ class BarChart: NSView, Widget {
}
func redraw() {
- var width: CGFloat = 18
+ var width: CGFloat = MODULE_WIDTH + 10
+ if self.partitions.count == 1 {
+ width = 18
+ }
if self.labelEnabled {
width += labelPadding
}
- if self.partitions.count == 1 && self.frame.size.width != width{
+ if self.frame.size.width != width {
+ self.active << false
self.frame = CGRect(x: self.frame.origin.x, y: self.frame.origin.y, width: width, height: self.frame.size.height)
+ self.active << true
}
self.needsDisplay = true
diff --git a/Stats/Widgets/BatteryView.swift b/Stats/Widgets/BatteryView.swift
index 0cd541a145e..96f98ac7d9c 100644
--- a/Stats/Widgets/BatteryView.swift
+++ b/Stats/Widgets/BatteryView.swift
@@ -9,6 +9,7 @@
import Cocoa
class BatteryView: NSView, Widget {
+ var active: Observable = Observable(false)
var size: CGFloat = MODULE_WIDTH
var label: String = ""
diff --git a/Stats/Widgets/Chart.swift b/Stats/Widgets/Chart.swift
index ae5f58674ce..5531887b2f2 100644
--- a/Stats/Widgets/Chart.swift
+++ b/Stats/Widgets/Chart.swift
@@ -9,6 +9,7 @@
import Cocoa
class Chart: NSView, Widget {
+ var active: Observable = Observable(false)
var size: CGFloat = MODULE_WIDTH + 7
var labelPadding: CGFloat = 10.0
var labelEnabled: Bool = false
diff --git a/Stats/Widgets/Mini.swift b/Stats/Widgets/Mini.swift
index afae745f6b9..09edcca893a 100644
--- a/Stats/Widgets/Mini.swift
+++ b/Stats/Widgets/Mini.swift
@@ -9,6 +9,8 @@
import Cocoa
class Mini: NSView, Widget {
+ var active: Observable = Observable(false)
+
var size: CGFloat = MODULE_WIDTH
var valueView: NSTextField = NSTextField()
var labelView: NSTextField = NSTextField()
diff --git a/Stats/Widgets/NetworkView.swift b/Stats/Widgets/NetworkView.swift
index 74eb51e8327..32f9488f609 100644
--- a/Stats/Widgets/NetworkView.swift
+++ b/Stats/Widgets/NetworkView.swift
@@ -9,6 +9,7 @@
import Cocoa
class NetworkDotsView: NSView, Widget {
+ var active: Observable = Observable(false)
var size: CGFloat = 12
var label: String = ""
@@ -89,6 +90,7 @@ class NetworkDotsView: NSView, Widget {
}
class NetworkTextView: NSView, Widget {
+ var active: Observable = Observable(false)
var size: CGFloat = MODULE_WIDTH + 20
var label: String = ""
@@ -162,6 +164,7 @@ class NetworkTextView: NSView, Widget {
}
class NetworkArrowsView: NSView, Widget {
+ var active: Observable = Observable(false)
var size: CGFloat = 8
var label: String = ""
@@ -255,6 +258,7 @@ class NetworkArrowsView: NSView, Widget {
}
class NetworkDotsTextView: NSView, Widget {
+ var active: Observable = Observable(false)
var size: CGFloat = MODULE_WIDTH + 26
var label: String = ""
@@ -368,6 +372,7 @@ class NetworkDotsTextView: NSView, Widget {
}
class NetworkArrowsTextView: NSView, Widget {
+ var active: Observable = Observable(false)
var size: CGFloat = MODULE_WIDTH + 24
var label: String = ""
diff --git a/Stats/Widgets/Widget.swift b/Stats/Widgets/Widget.swift
index 04793905fd9..f0cc71ef52d 100644
--- a/Stats/Widgets/Widget.swift
+++ b/Stats/Widgets/Widget.swift
@@ -11,6 +11,7 @@ import Foundation
protocol Widget {
var size: CGFloat { get }
var label: String { get set }
+ var active: Observable { get set }
func setValue(data: [Double])
func toggleColor(state: Bool)