From 0696187bb0e3a9335bb7a485777a44103a7d2cd6 Mon Sep 17 00:00:00 2001 From: ysicing Date: Sun, 4 Oct 2026 11:58:46 +0800 Subject: [PATCH] =?UTF-8?q?fix(menubar):=20=E8=AE=A9=E8=93=9D=E7=89=99?= =?UTF-8?q?=E7=94=B5=E9=87=8F=E9=81=B5=E5=BE=AA=E6=96=87=E5=AD=97=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../XStatsUI/AppKit/MenuBarRenderer.swift | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/Packages/XStatsKit/Sources/XStatsUI/AppKit/MenuBarRenderer.swift b/Packages/XStatsKit/Sources/XStatsUI/AppKit/MenuBarRenderer.swift index 45dd6dc..1b5f8f8 100644 --- a/Packages/XStatsKit/Sources/XStatsUI/AppKit/MenuBarRenderer.swift +++ b/Packages/XStatsKit/Sources/XStatsUI/AppKit/MenuBarRenderer.swift @@ -478,10 +478,19 @@ enum MenuBarRenderer { /// 电池:按电量画图形,电量低时着色为警示;充电中在前面加一道闪电。 /// 没有电池的 Mac 显示电量最低的蓝牙设备;开了提示且某个设备电量低时,附在电池后面 private static func batterySegment(reading: MenuBarReading, style: MenuBarStyle, colorizeHighLoad: Bool) -> Segment { - let bluetooth = reading.bluetoothDevice.map { device in - combine([symbolSegment(device.symbol), - inlineValue("\(device.percent)%", sample: "100%", - alert: colorizeHighLoad && device.percent <= MenuBarReading.lowBluetoothPercent)]) + let bluetooth = reading.bluetoothDevice.map { device -> Segment in + let value = "\(device.percent)%" + let alert = colorizeHighLoad && device.percent <= MenuBarReading.lowBluetoothPercent + // 蓝牙回退与低电量提示也遵循文字排版;BT 区分外设电量与本机 BAT。 + switch style { + case .stacked, .stackedCenter: + return stackedText(label: "BT", value: value, sample: "100%", alert: alert, + centered: style == .stackedCenter) + case .inline: + return inlineText(label: "BT", value: value, sample: "100%", alert: alert) + default: + return combine([symbolSegment(device.symbol), inlineValue(value, sample: "100%", alert: alert)]) + } } guard let level = reading.battery else { return bluetooth ?? textSegment(item: .battery, value: "—", sample: "100%", style: style)