From 9fb8ead908291543c74ca684dbc67fb627b06faa Mon Sep 17 00:00:00 2001 From: gentpan Date: Sun, 13 Sep 2026 08:34:54 +0500 Subject: [PATCH] =?UTF-8?q?=E7=94=B5=E6=B1=A0=E5=8D=A1=E7=89=87=E5=8A=A0?= =?UTF-8?q?=E5=85=A5=E7=B3=BB=E7=BB=9F=E5=85=85=E7=94=B5=E4=B8=8A=E9=99=90?= =?UTF-8?q?=E5=85=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 1 + .../OpenStatsUI/Panel/SystemInfoPage.swift | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index aff1f7e..609ac00 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ - 连接探测更省电:打开网络详情时按设置的间隔探测;详情关闭、只在菜单栏显示网速时改为每 10 秒低频探测,并允许系统合并唤醒,也可以在设置里关闭后台探测。 - 进程页每 2 秒刷新一次(读取全系统进程需要启动 ps),其他页面仍为每秒。 - 菜单栏图标用 ⌘ 拖动调整的顺序会被记住,重启应用或切换显示项目后保持不变。 +- 本机信息的电池卡片提供“电池设置”入口,用 macOS 自带的充电上限(80%–100%);新款机型不再开放第三方写入 SMC 充电控制键,因此不另做一套充电限制。 ## 0.2.0 · 2026-09-13 diff --git a/Packages/OpenStatsKit/Sources/OpenStatsUI/Panel/SystemInfoPage.swift b/Packages/OpenStatsKit/Sources/OpenStatsUI/Panel/SystemInfoPage.swift index 5772339..ecafc36 100644 --- a/Packages/OpenStatsKit/Sources/OpenStatsUI/Panel/SystemInfoPage.swift +++ b/Packages/OpenStatsKit/Sources/OpenStatsUI/Panel/SystemInfoPage.swift @@ -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) }