From 9e2517dcbb940e750d65b706d82afa6bcd44af9d Mon Sep 17 00:00:00 2001 From: Serhiy Mytrovtsiy Date: Mon, 19 Jun 2023 17:35:31 +0200 Subject: [PATCH] feat: dropped macOS 10.14 support. From now the minimum supporting version is macOS 10.15. --- Kit/Widgets/Speed.swift | 4 +-- Kit/Widgets/Stack.swift | 20 +++++------ Modules/CPU/settings.swift | 10 +++--- README.md | 10 +++--- Stats.xcodeproj/project.pbxproj | 60 ++++++++++++++++----------------- 5 files changed, 50 insertions(+), 54 deletions(-) diff --git a/Kit/Widgets/Speed.swift b/Kit/Widgets/Speed.swift index 96559c5b..c5f2c33b 100644 --- a/Kit/Widgets/Speed.swift +++ b/Kit/Widgets/Speed.swift @@ -404,7 +404,7 @@ public class SpeedWidget: WidgetWrapper { view.addArrangedSubview(selectSettingsRow( title: localizedString("Display mode"), - action: #selector(changeMode), + action: #selector(changeDisplayMode), items: SensorsWidgetMode.filter({ $0.key == "oneRow" || $0.key == "twoRows"}), selected: self.modeState )) @@ -483,7 +483,7 @@ public class SpeedWidget: WidgetWrapper { return view } - @objc private func changeMode(_ sender: NSMenuItem) { + @objc private func changeDisplayMode(_ sender: NSMenuItem) { guard let key = sender.representedObject as? String else { return } self.modeState = key Store.shared.set(key: "\(self.title)_\(self.type.rawValue)_mode", value: key) diff --git a/Kit/Widgets/Stack.swift b/Kit/Widgets/Stack.swift index 6f1ca96c..e55bba80 100644 --- a/Kit/Widgets/Stack.swift +++ b/Kit/Widgets/Stack.swift @@ -137,7 +137,7 @@ public class StackWidget: WidgetWrapper { private func drawOneRow(_ x: CGFloat, _ element: Stack_t) -> CGFloat { var font: NSFont - if #available(macOS 10.15, *), self.monospacedFontState { + if self.monospacedFontState { font = NSFont.monospacedDigitSystemFont(ofSize: 13, weight: .regular) } else { font = NSFont.systemFont(ofSize: 13, weight: .regular) @@ -166,7 +166,7 @@ public class StackWidget: WidgetWrapper { let rowHeight: CGFloat = self.frame.height / 2 var font: NSFont - if #available(macOS 10.15, *), self.monospacedFontState { + if self.monospacedFontState { font = NSFont.monospacedDigitSystemFont(ofSize: 10, weight: .light) } else { font = NSFont.systemFont(ofSize: 10, weight: .light) @@ -233,7 +233,7 @@ public class StackWidget: WidgetWrapper { view.addArrangedSubview(selectSettingsRow( title: localizedString("Display mode"), - action: #selector(changeMode), + action: #selector(changeDisplayMode), items: SensorsWidgetMode, selected: self.modeState.rawValue )) @@ -246,20 +246,18 @@ public class StackWidget: WidgetWrapper { )) } - if #available(macOS 10.15, *) { - view.addArrangedSubview(toggleSettingRow( - title: localizedString("Monospaced font"), - action: #selector(toggleMonospacedFont), - state: self.monospacedFontState - )) - } + view.addArrangedSubview(toggleSettingRow( + title: localizedString("Monospaced font"), + action: #selector(toggleMonospacedFont), + state: self.monospacedFontState + )) view.addArrangedSubview(self.orderTableView) return view } - @objc private func changeMode(_ sender: NSMenuItem) { + @objc private func changeDisplayMode(_ sender: NSMenuItem) { guard let key = sender.representedObject as? String else { return } self.modeState = StackMode(rawValue: key) ?? .auto Store.shared.set(key: "\(self.title)_\(self.type.rawValue)_mode", value: key) diff --git a/Modules/CPU/settings.swift b/Modules/CPU/settings.swift index cb08960d..4e4b33d6 100644 --- a/Modules/CPU/settings.swift +++ b/Modules/CPU/settings.swift @@ -281,12 +281,10 @@ internal class Settings: NSStackView, Settings_v { findAndToggleEnableNSControlState(self.splitValueView, state: !(self.usagePerCoreState || self.clustersGroupState)) if self.clustersGroupState && self.usagePerCoreState { - if #available(macOS 10.15, *) { - findAndToggleNSControlState(self.usagePerCoreView, state: .off) - let toggle: NSSwitch = NSSwitch() - toggle.state = .off - self.toggleUsagePerCore(toggle) - } + findAndToggleNSControlState(self.usagePerCoreView, state: .off) + let toggle: NSSwitch = NSSwitch() + toggle.state = .off + self.toggleUsagePerCore(toggle) } self.callback() diff --git a/README.md b/README.md index 3ecacb2a..6ca5ccc1 100644 --- a/README.md +++ b/README.md @@ -19,20 +19,20 @@ brew install stats ``` ## Requirements -Stats is currently supported on macOS 10.14 (Mojave) and higher. +Stats is supported on the released macOS version starting from macOS 10.15 (Catalina). ## Features Stats is an application that allows you to monitor your macOS system. - - Battery level - - Bluetooth devices - CPU utilization - - Disk utilization - - Fan/s control - GPU utilization - Memory usage + - Disk utilization - Network usage + - Battery level + - Fan's control - Sensors information (Temperature/Voltage/Power) + - Bluetooth devices - Multiple time zone clock ## FAQs diff --git a/Stats.xcodeproj/project.pbxproj b/Stats.xcodeproj/project.pbxproj index bcb428a0..d49d4dd0 100644 --- a/Stats.xcodeproj/project.pbxproj +++ b/Stats.xcodeproj/project.pbxproj @@ -2041,7 +2041,7 @@ "@executable_path/../Frameworks", "@loader_path/Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats.Clock; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; @@ -2079,7 +2079,7 @@ "@executable_path/../Frameworks", "@loader_path/Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats.Clock; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; @@ -2104,7 +2104,7 @@ "DEVELOPMENT_TEAM[sdk=macosx*]" = RP2S87B72W; ENABLE_HARDENED_RUNTIME = YES; INFOPLIST_FILE = "$(SRCROOT)/SMC/Helper/Info.plist"; - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; MARKETING_VERSION = 1.0.1; "OTHER_LDFLAGS[arch=*]" = ( "-sectcreate", @@ -2136,7 +2136,7 @@ "DEVELOPMENT_TEAM[sdk=macosx*]" = RP2S87B72W; ENABLE_HARDENED_RUNTIME = YES; INFOPLIST_FILE = "$(SRCROOT)/SMC/Helper/Info.plist"; - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; MARKETING_VERSION = 1.0.1; "OTHER_LDFLAGS[arch=*]" = ( "-sectcreate", @@ -2178,7 +2178,7 @@ "@executable_path/../Frameworks", "@loader_path/Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats.Bluetooth; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -2212,7 +2212,7 @@ "@executable_path/../Frameworks", "@loader_path/Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats.Bluetooth; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -2379,7 +2379,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; MARKETING_VERSION = 2.8.26; OTHER_LDFLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats; @@ -2417,7 +2417,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; MARKETING_VERSION = 2.8.26; OTHER_LDFLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats; @@ -2450,7 +2450,7 @@ "@executable_path/../Frameworks", "@loader_path/Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats.Kit; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; @@ -2485,7 +2485,7 @@ "@executable_path/../Frameworks", "@loader_path/Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats.Kit; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; @@ -2517,7 +2517,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats.LaunchAtLogin; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -2546,7 +2546,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats.LaunchAtLogin; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -2577,7 +2577,7 @@ "@executable_path/../Frameworks", "@loader_path/Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats.Net; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -2611,7 +2611,7 @@ "@executable_path/../Frameworks", "@loader_path/Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats.Net; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -2644,7 +2644,7 @@ "@executable_path/../Frameworks", "@loader_path/Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats.RAM; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -2678,7 +2678,7 @@ "@executable_path/../Frameworks", "@loader_path/Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats.RAM; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -2711,7 +2711,7 @@ "@executable_path/../Frameworks", "@loader_path/Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats.GPU; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; @@ -2746,7 +2746,7 @@ "@executable_path/../Frameworks", "@loader_path/Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats.GPU; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; @@ -2784,7 +2784,7 @@ "@executable_path/../Frameworks", "@loader_path/Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; OTHER_LDFLAGS = "-ObjC"; PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats.CPU; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; @@ -2824,7 +2824,7 @@ "@executable_path/../Frameworks", "@loader_path/Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; OTHER_LDFLAGS = "-ObjC"; PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats.CPU; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; @@ -2852,7 +2852,7 @@ "@executable_path/../Frameworks", "@loader_path/../Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; PRODUCT_BUNDLE_IDENTIFIER = io.serhiy.Stats.Tests; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -2876,7 +2876,7 @@ "@executable_path/../Frameworks", "@loader_path/../Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; PRODUCT_BUNDLE_IDENTIFIER = io.serhiy.Stats.Tests; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -2907,7 +2907,7 @@ "@executable_path/../Frameworks", "@loader_path/Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats.Battery; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -2941,7 +2941,7 @@ "@executable_path/../Frameworks", "@loader_path/Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats.Battery; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -2965,7 +2965,7 @@ "DEVELOPMENT_TEAM[sdk=macosx*]" = RP2S87B72W; ENABLE_HARDENED_RUNTIME = YES; INFOPLIST_FILE = "$(SRCROOT)/SMC/Info.plist"; - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; MARKETING_VERSION = 1.0.0; OTHER_LDFLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats.SMC; @@ -2989,7 +2989,7 @@ "DEVELOPMENT_TEAM[sdk=macosx*]" = RP2S87B72W; ENABLE_HARDENED_RUNTIME = YES; INFOPLIST_FILE = "$(SRCROOT)/SMC/Info.plist"; - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; MARKETING_VERSION = 1.0.0; OTHER_LDFLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats.SMC; @@ -3022,7 +3022,7 @@ "@executable_path/../Frameworks", "@loader_path/Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats.Sensors; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -3057,7 +3057,7 @@ "@executable_path/../Frameworks", "@loader_path/Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats.Sensors; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -3092,7 +3092,7 @@ "@executable_path/../Frameworks", "@loader_path/Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats.Disk; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -3128,7 +3128,7 @@ "@executable_path/../Frameworks", "@loader_path/Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.14; + MACOSX_DEPLOYMENT_TARGET = 10.15; PRODUCT_BUNDLE_IDENTIFIER = eu.exelban.Stats.Disk; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; PROVISIONING_PROFILE_SPECIFIER = "";