Merge pull request #14 from exelban/dev

v1.2.6
This commit is contained in:
Serhiy Mytrovtsiy
2019-07-12 18:30:12 +02:00
committed by GitHub
11 changed files with 37 additions and 6 deletions

View File

@@ -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
[v1.0.0]: https://github.com/exelban/stats/releases/tag/v1.0.0

View File

@@ -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
}

View File

@@ -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))]

View File

@@ -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
}

View File

@@ -17,7 +17,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.2.5</string>
<string>1.2.6</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>LSApplicationCategoryType</key>

View File

@@ -9,6 +9,7 @@
import Cocoa
class BarChart: NSView, Widget {
var active: Observable<Bool> = 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

View File

@@ -9,6 +9,7 @@
import Cocoa
class BatteryView: NSView, Widget {
var active: Observable<Bool> = Observable(false)
var size: CGFloat = MODULE_WIDTH
var label: String = ""

View File

@@ -9,6 +9,7 @@
import Cocoa
class Chart: NSView, Widget {
var active: Observable<Bool> = Observable(false)
var size: CGFloat = MODULE_WIDTH + 7
var labelPadding: CGFloat = 10.0
var labelEnabled: Bool = false

View File

@@ -9,6 +9,8 @@
import Cocoa
class Mini: NSView, Widget {
var active: Observable<Bool> = Observable(false)
var size: CGFloat = MODULE_WIDTH
var valueView: NSTextField = NSTextField()
var labelView: NSTextField = NSTextField()

View File

@@ -9,6 +9,7 @@
import Cocoa
class NetworkDotsView: NSView, Widget {
var active: Observable<Bool> = Observable(false)
var size: CGFloat = 12
var label: String = ""
@@ -89,6 +90,7 @@ class NetworkDotsView: NSView, Widget {
}
class NetworkTextView: NSView, Widget {
var active: Observable<Bool> = 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<Bool> = Observable(false)
var size: CGFloat = 8
var label: String = ""
@@ -255,6 +258,7 @@ class NetworkArrowsView: NSView, Widget {
}
class NetworkDotsTextView: NSView, Widget {
var active: Observable<Bool> = 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<Bool> = Observable(false)
var size: CGFloat = MODULE_WIDTH + 24
var label: String = ""

View File

@@ -11,6 +11,7 @@ import Foundation
protocol Widget {
var size: CGFloat { get }
var label: String { get set }
var active: Observable<Bool> { get set }
func setValue(data: [Double])
func toggleColor(state: Bool)