电池卡片加入系统充电上限入口

This commit is contained in:
gentpan committed 2026-09-13 08:34:54 +05:00
1 parent 0b09fb91c1
commit 9fb8ead908
2 files changed
+17

No files matched your search

+1
View File
@@ -21,6 +21,7 @@
- 连接探测更省电:打开网络详情时按设置的间隔探测;详情关闭、只在菜单栏显示网速时改为每 10 秒低频探测,并允许系统合并唤醒,也可以在设置里关闭后台探测。
- 进程页每 2 秒刷新一次(读取全系统进程需要启动 ps),其他页面仍为每秒。
- 菜单栏图标用 ⌘ 拖动调整的顺序会被记住,重启应用或切换显示项目后保持不变。
- 本机信息的电池卡片提供“电池设置”入口,用 macOS 自带的充电上限(80%–100%);新款机型不再开放第三方写入 SMC 充电控制键,因此不另做一套充电限制。
## 0.2.0 · 2026-09-13
@@ -77,6 +77,22 @@ struct SystemInfoPage: View {
InfoRow(label: "健康度", text: battery.health.map { Format.percent($0) } ?? "—")
InfoRow(label: "循环次数", text: battery.cycleCount.map(String.init) ?? "—")
InfoRow(label: "电源", text: battery.isPluggedIn ? "电源适配器\(battery.adapterWatts.map { " · \($0)W" } ?? "")" : "电池供电")
// macOS 26 起系统自带充电上限;新款机型已不开放第三方写入 SMC 充电控制键,不另做一套
if ProcessInfo.processInfo.isOperatingSystemAtLeast(OperatingSystemVersion(majorVersion: 26, minorVersion: 0, patchVersion: 0)) {
HStack(spacing: DS.Space.s2) {
Text("充电上限可在系统设置中设为 80%–100%,长期接电源时有助于延缓电池老化")
.dsFont(.xs)
.foregroundStyle(DS.Palette.textTertiary)
.fixedSize(horizontal: false, vertical: true)
Spacer(minLength: 0)
Button("电池设置") {
if let url = URL(string: "x-apple.systempreferences:com.apple.Battery-Settings.extension") {
NSWorkspace.shared.open(url)
}
}
.buttonStyle(DSButtonStyle(kind: .secondary))
}
}
} else {
Text("这台 Mac 没有电池").dsFont(.xs).foregroundStyle(DS.Palette.textTertiary)
}