mirror of
https://github.com/morgan9e/macos-stats
synced 2026-04-14 00:04:15 +09:00
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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))]
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
import Cocoa
|
||||
|
||||
class BatteryView: NSView, Widget {
|
||||
var active: Observable<Bool> = Observable(false)
|
||||
var size: CGFloat = MODULE_WIDTH
|
||||
var label: String = ""
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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 = ""
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user