mirror of
https://github.com/morgan9e/macos-stats
synced 2026-04-14 00:04:15 +09:00
- remove top process option from settings (top process will be available always)
This commit is contained in:
@@ -65,10 +65,6 @@ public class CPU: Module {
|
||||
self.settingsView.setInterval = { [unowned self] value in
|
||||
self.loadReader?.setInterval(value)
|
||||
}
|
||||
self.settingsView.topProcessesCallback = {
|
||||
self.popupView = Popup(self.config.name, store: self.store)
|
||||
self.replacePopup(self.popupView)
|
||||
}
|
||||
|
||||
self.loadReader?.readyCallback = { [unowned self] in
|
||||
self.readyHandler()
|
||||
|
||||
@@ -154,13 +154,6 @@ public class ProcessReader: Reader<[TopProcess]> {
|
||||
|
||||
private var loadPrevious = host_cpu_load_info()
|
||||
|
||||
public override var enabled: Bool {
|
||||
set {}
|
||||
get {
|
||||
return self.store?.pointee.bool(key: "CPU_topProcesses", defaultValue: false) ?? false
|
||||
}
|
||||
}
|
||||
|
||||
public override func setup() {
|
||||
self.popup = true
|
||||
}
|
||||
@@ -200,7 +193,7 @@ public class ProcessReader: Reader<[TopProcess]> {
|
||||
let pidString = str.findAndCrop(pattern: "^\\d+")
|
||||
let usageString = str.findAndCrop(pattern: "^[0-9,.]+ ")
|
||||
let command = str.trimmingCharacters(in: .whitespaces)
|
||||
|
||||
|
||||
let pid = Int(pidString) ?? 0
|
||||
let usage = Double(usageString.replacingOccurrences(of: ",", with: ".")) ?? 0
|
||||
|
||||
|
||||
@@ -18,13 +18,11 @@ internal class Settings: NSView, Settings_v {
|
||||
private var hyperthreadState: Bool = false
|
||||
private var updateIntervalValue: String = "1"
|
||||
private let listOfUpdateIntervals: [String] = ["1", "2", "3", "5", "10", "15", "30"]
|
||||
private var topProcessesState: Bool = false
|
||||
|
||||
private let title: String
|
||||
private let store: UnsafePointer<Store>
|
||||
|
||||
public var callback: (() -> Void) = {}
|
||||
public var topProcessesCallback: (() -> Void) = {}
|
||||
public var setInterval: ((_ value: Double) -> Void) = {_ in }
|
||||
|
||||
private var hyperthreadView: NSView? = nil
|
||||
@@ -34,7 +32,6 @@ internal class Settings: NSView, Settings_v {
|
||||
self.store = store
|
||||
self.hyperthreadState = store.pointee.bool(key: "\(self.title)_hyperhreading", defaultValue: self.hyperthreadState)
|
||||
self.usagePerCoreState = store.pointee.bool(key: "\(self.title)_usagePerCore", defaultValue: self.usagePerCoreState)
|
||||
self.topProcessesState = store.pointee.bool(key: "\(self.title)_topProcesses", defaultValue: self.topProcessesState)
|
||||
self.updateIntervalValue = store.pointee.string(key: "\(self.title)_updateInterval", defaultValue: self.updateIntervalValue)
|
||||
if !self.usagePerCoreState {
|
||||
self.hyperthreadState = false
|
||||
@@ -59,7 +56,7 @@ internal class Settings: NSView, Settings_v {
|
||||
self.subviews.forEach{ $0.removeFromSuperview() }
|
||||
|
||||
let rowHeight: CGFloat = 30
|
||||
let num: CGFloat = widget == .barChart ? 3 : 1
|
||||
let num: CGFloat = widget == .barChart ? 2 : 0
|
||||
|
||||
self.addSubview(SelectTitleRow(
|
||||
frame: NSRect(x: Constants.Settings.margin, y: Constants.Settings.margin + (rowHeight + Constants.Settings.margin) * num, width: self.frame.width - (Constants.Settings.margin*2), height: rowHeight),
|
||||
@@ -71,14 +68,14 @@ internal class Settings: NSView, Settings_v {
|
||||
|
||||
if widget == .barChart {
|
||||
self.addSubview(ToggleTitleRow(
|
||||
frame: NSRect(x: Constants.Settings.margin, y: Constants.Settings.margin + (rowHeight + Constants.Settings.margin) * 2, width: self.frame.width - (Constants.Settings.margin*2), height: rowHeight),
|
||||
frame: NSRect(x: Constants.Settings.margin, y: Constants.Settings.margin + (rowHeight + Constants.Settings.margin) * 1, width: self.frame.width - (Constants.Settings.margin*2), height: rowHeight),
|
||||
title: "Show usage per core",
|
||||
action: #selector(toggleUsagePerCore),
|
||||
state: self.usagePerCoreState
|
||||
))
|
||||
|
||||
self.hyperthreadView = ToggleTitleRow(
|
||||
frame: NSRect(x: Constants.Settings.margin, y: Constants.Settings.margin + (rowHeight + Constants.Settings.margin) * 1, width: self.frame.width - (Constants.Settings.margin*2), height: rowHeight),
|
||||
frame: NSRect(x: Constants.Settings.margin, y: Constants.Settings.margin + (rowHeight + Constants.Settings.margin) * 0, width: self.frame.width - (Constants.Settings.margin*2), height: rowHeight),
|
||||
title: "Show hyper-threading cores",
|
||||
action: #selector(toggleMultithreading),
|
||||
state: self.hyperthreadState
|
||||
@@ -90,13 +87,6 @@ internal class Settings: NSView, Settings_v {
|
||||
self.addSubview(self.hyperthreadView!)
|
||||
}
|
||||
|
||||
self.addSubview(ToggleTitleRow(
|
||||
frame: NSRect(x: Constants.Settings.margin, y: Constants.Settings.margin + (rowHeight + Constants.Settings.margin) * 0, width: self.frame.width - (Constants.Settings.margin*2), height: rowHeight),
|
||||
title: "Top processes",
|
||||
action: #selector(toggleTopProcesses),
|
||||
state: self.topProcessesState
|
||||
))
|
||||
|
||||
self.setFrameSize(NSSize(width: self.frame.width, height: (rowHeight*(num+1)) + (Constants.Settings.margin*(2+num))))
|
||||
}
|
||||
|
||||
@@ -142,17 +132,4 @@ internal class Settings: NSView, Settings_v {
|
||||
self.store.pointee.set(key: "\(self.title)_hyperhreading", value: self.hyperthreadState)
|
||||
self.callback()
|
||||
}
|
||||
|
||||
@objc func toggleTopProcesses(_ sender: NSControl) {
|
||||
var state: NSControl.StateValue? = nil
|
||||
if #available(OSX 10.15, *) {
|
||||
state = sender is NSSwitch ? (sender as! NSSwitch).state: nil
|
||||
} else {
|
||||
state = sender is NSButton ? (sender as! NSButton).state: nil
|
||||
}
|
||||
|
||||
self.topProcessesState = state! == .on ? true : false
|
||||
self.store.pointee.set(key: "\(self.title)_topProcesses", value: self.topProcessesState)
|
||||
self.topProcessesCallback()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user