Skip to content

Commit

Permalink
Merge pull request #122 from gao-sun/v1.4.8
Browse files Browse the repository at this point in the history
v1.4.8
  • Loading branch information
gao-sun committed Dec 2, 2020
2 parents e466ef4 + eed3cdb commit 6afafd4
Show file tree
Hide file tree
Showing 6 changed files with 54 additions and 48 deletions.
40 changes: 20 additions & 20 deletions eul.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -1522,7 +1522,7 @@
CODE_SIGN_ENTITLEMENTS = MemoryWidget/MemoryWidget.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 26;
CURRENT_PROJECT_VERSION = 27;
DEVELOPMENT_TEAM = M8G2RFZVFV;
ENABLE_HARDENED_RUNTIME = YES;
INFOPLIST_FILE = MemoryWidget/Info.plist;
Expand All @@ -1532,7 +1532,7 @@
"@executable_path/../../../../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 11.0;
MARKETING_VERSION = 1.4.7;
MARKETING_VERSION = 1.4.8;
PRODUCT_BUNDLE_IDENTIFIER = com.gaosun.eul.MemoryWidget;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
Expand All @@ -1548,7 +1548,7 @@
CODE_SIGN_ENTITLEMENTS = MemoryWidget/MemoryWidget.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 26;
CURRENT_PROJECT_VERSION = 27;
DEVELOPMENT_TEAM = M8G2RFZVFV;
ENABLE_HARDENED_RUNTIME = YES;
INFOPLIST_FILE = MemoryWidget/Info.plist;
Expand All @@ -1558,7 +1558,7 @@
"@executable_path/../../../../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 11.0;
MARKETING_VERSION = 1.4.7;
MARKETING_VERSION = 1.4.8;
PRODUCT_BUNDLE_IDENTIFIER = com.gaosun.eul.MemoryWidget;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
Expand All @@ -1574,7 +1574,7 @@
CODE_SIGN_ENTITLEMENTS = NetworkWidget/NetworkWidget.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 26;
CURRENT_PROJECT_VERSION = 27;
DEVELOPMENT_TEAM = M8G2RFZVFV;
ENABLE_HARDENED_RUNTIME = YES;
INFOPLIST_FILE = NetworkWidget/Info.plist;
Expand All @@ -1584,7 +1584,7 @@
"@executable_path/../../../../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 11.0;
MARKETING_VERSION = 1.4.7;
MARKETING_VERSION = 1.4.8;
PRODUCT_BUNDLE_IDENTIFIER = com.gaosun.eul.NetworkWidget;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
Expand All @@ -1600,7 +1600,7 @@
CODE_SIGN_ENTITLEMENTS = NetworkWidget/NetworkWidget.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 26;
CURRENT_PROJECT_VERSION = 27;
DEVELOPMENT_TEAM = M8G2RFZVFV;
ENABLE_HARDENED_RUNTIME = YES;
INFOPLIST_FILE = NetworkWidget/Info.plist;
Expand All @@ -1610,7 +1610,7 @@
"@executable_path/../../../../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 11.0;
MARKETING_VERSION = 1.4.7;
MARKETING_VERSION = 1.4.8;
PRODUCT_BUNDLE_IDENTIFIER = com.gaosun.eul.NetworkWidget;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
Expand Down Expand Up @@ -1745,7 +1745,7 @@
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 26;
CURRENT_PROJECT_VERSION = 27;
DEVELOPMENT_ASSET_PATHS = "";
DEVELOPMENT_TEAM = M8G2RFZVFV;
ENABLE_HARDENED_RUNTIME = YES;
Expand All @@ -1757,7 +1757,7 @@
"@executable_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.15;
MARKETING_VERSION = 1.4.7;
MARKETING_VERSION = 1.4.8;
PRODUCT_BUNDLE_IDENTIFIER = com.gaosun.eul;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "";
Expand All @@ -1776,7 +1776,7 @@
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 26;
CURRENT_PROJECT_VERSION = 27;
DEVELOPMENT_ASSET_PATHS = "";
DEVELOPMENT_TEAM = M8G2RFZVFV;
ENABLE_HARDENED_RUNTIME = YES;
Expand All @@ -1788,7 +1788,7 @@
"@executable_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.15;
MARKETING_VERSION = 1.4.7;
MARKETING_VERSION = 1.4.8;
PRODUCT_BUNDLE_IDENTIFIER = com.gaosun.eul;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "";
Expand All @@ -1804,7 +1804,7 @@
CODE_SIGN_ENTITLEMENTS = BatteryWidget/BatteryWidget.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 26;
CURRENT_PROJECT_VERSION = 27;
DEVELOPMENT_TEAM = M8G2RFZVFV;
ENABLE_HARDENED_RUNTIME = YES;
INFOPLIST_FILE = BatteryWidget/Info.plist;
Expand All @@ -1814,7 +1814,7 @@
"@executable_path/../../../../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 11.0;
MARKETING_VERSION = 1.4.7;
MARKETING_VERSION = 1.4.8;
PRODUCT_BUNDLE_IDENTIFIER = com.gaosun.eul.BatteryWidget;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
Expand All @@ -1830,7 +1830,7 @@
CODE_SIGN_ENTITLEMENTS = BatteryWidget/BatteryWidget.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 26;
CURRENT_PROJECT_VERSION = 27;
DEVELOPMENT_TEAM = M8G2RFZVFV;
ENABLE_HARDENED_RUNTIME = YES;
INFOPLIST_FILE = BatteryWidget/Info.plist;
Expand All @@ -1840,7 +1840,7 @@
"@executable_path/../../../../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 11.0;
MARKETING_VERSION = 1.4.7;
MARKETING_VERSION = 1.4.8;
PRODUCT_BUNDLE_IDENTIFIER = com.gaosun.eul.BatteryWidget;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
Expand All @@ -1856,7 +1856,7 @@
CODE_SIGN_ENTITLEMENTS = CpuWidget/CpuWidget.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 26;
CURRENT_PROJECT_VERSION = 27;
DEVELOPMENT_TEAM = M8G2RFZVFV;
ENABLE_HARDENED_RUNTIME = YES;
INFOPLIST_FILE = CpuWidget/Info.plist;
Expand All @@ -1866,7 +1866,7 @@
"@executable_path/../../../../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 11.0;
MARKETING_VERSION = 1.4.7;
MARKETING_VERSION = 1.4.8;
PRODUCT_BUNDLE_IDENTIFIER = com.gaosun.eul.CpuWidget;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
Expand All @@ -1882,7 +1882,7 @@
CODE_SIGN_ENTITLEMENTS = CpuWidget/CpuWidget.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 26;
CURRENT_PROJECT_VERSION = 27;
DEVELOPMENT_TEAM = M8G2RFZVFV;
ENABLE_HARDENED_RUNTIME = YES;
INFOPLIST_FILE = CpuWidget/Info.plist;
Expand All @@ -1892,7 +1892,7 @@
"@executable_path/../../../../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 11.0;
MARKETING_VERSION = 1.4.7;
MARKETING_VERSION = 1.4.8;
PRODUCT_BUNDLE_IDENTIFIER = com.gaosun.eul.CpuWidget;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
Expand Down
27 changes: 17 additions & 10 deletions eul/Schema/FanData.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,27 @@ import Foundation
import SharedLibrary
import SwiftyJSON

class FanData: Identifiable {
let fan: Fan
var speed: Int
struct FanData: Identifiable {
let id: Int
var currentSpeed: Int?
var minSpeed: Int?
var maxSpeed: Int?

var id: Int {
fan.id
var currentSpeedString: String {
currentSpeed.map {
"\($0) rpm"
} ?? "N/A"
}

var percentage: Double {
Double(speed) / Double(fan.maxSpeed) * 100
var minSpeedString: String {
minSpeed.map {
"\($0) rpm"
} ?? "N/A"
}

init(fan: Fan, speed: Int = 0) {
self.fan = fan
self.speed = speed
var maxSpeedString: String {
maxSpeed.map {
"\($0) rpm"
} ?? "N/A"
}
}
3 changes: 2 additions & 1 deletion eul/StatusBar/StatusBarItem.swift
Original file line number Diff line number Diff line change
Expand Up @@ -91,13 +91,14 @@ class StatusBarItem: NSObject, NSMenuDelegate {
}
}

override init() {
init(named: String = "eul") {
config = getStatusBarConfig()
statusBarMenu = NSMenu()
item = NSStatusBar.system.statusItem(withLength: 0)
super.init()

statusBarMenu.delegate = self
item.autosaveName = named
item.isVisible = false

if let menuBuilder = config.menuBuilder {
Expand Down
25 changes: 11 additions & 14 deletions eul/Utilities/SmcControl.swift
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,10 @@ class SmcControl: Refreshable {
do {
try SMCKit.open()
sensors = try SMCKit.allKnownTemperatureSensors().map { .init(sensor: $0) }
fans = try (0..<SMCKit.fanCount()).map { .init(
fan: Fan(
id: $0,
name: $0.description,
minSpeed: try SMCKit.fanMinSpeed($0),
maxSpeed: try SMCKit.fanMaxSpeed($0)
)
fans = try (0..<SMCKit.fanCount()).map { FanData(
id: $0,
minSpeed: try? SMCKit.fanMinSpeed($0),
maxSpeed: try? SMCKit.fanMaxSpeed($0)
) }
} catch {
print("SMC init error", error)
Expand Down Expand Up @@ -74,13 +71,13 @@ class SmcControl: Refreshable {
print("error while getting temperature", error)
}
}
for fan in fans {
do {
fan.speed = try SMCKit.fanCurrentSpeed(fan.fan.id)
} catch {
fan.speed = 0
print("error while getting fan speed", error)
}
fans = fans.map {
FanData(
id: $0.id,
currentSpeed: try? SMCKit.fanCurrentSpeed($0.id),
minSpeed: $0.minSpeed,
maxSpeed: $0.maxSpeed
)
}
NotificationCenter.default.post(name: .StoreShouldRefresh, object: nil)
}
Expand Down
2 changes: 1 addition & 1 deletion eul/Views/Menu/FanMenuBlockView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ struct FanMenuBlockView: View {
ForEach(fanStore.fans) { fan in
MiniSectionView(
title: "\("fan".localized()) \(fan.id + 1)",
value: "\(fan.speed.description) rpm"
value: fan.currentSpeedString
)
.frame(width: 80)
}
Expand Down
5 changes: 3 additions & 2 deletions eul/Views/StatusBar/FanView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ struct FanView: View {
}

var averageRpm: String {
"\(fanStore.fans.reduce(0) { $0 + $1.speed } / fanStore.fans.count) rpm"
let speeds = fanStore.fans.compactMap { $0.currentSpeed }
return "\(speeds.reduce(0) { $0 + $1 } / speeds.count) rpm"
}

var texts: [String] {
Expand All @@ -29,7 +30,7 @@ struct FanView: View {
guard let fan = fanStore.fans.first(where: { $0.id == component.id }) else {
return nil
}
return "\(fan.speed) rpm"
return fan.currentSpeedString
}
}

Expand Down

0 comments on commit 6afafd4

Please sign in to comment.