Menüleiste: Prozentzeichen ohne Leerzeichen
Die Breite ist fest für „100 %" reserviert, damit nichts springt, wenn der Wert eine Stelle mehr bekommt. Das Leerzeichen kostet in dieser Reservierung drei Punkte je Element — in der Menüleiste ist Platz das knappste Gut. Nur dort. Im Panel und in den Popovern bleibt das Leerzeichen stehen; da ist Platz, und typografisch gehört es hin. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -105,6 +105,16 @@ public enum MetricFormat {
|
||||
"\(Int((min(max(fraction, 0), 1) * 100).rounded())) %"
|
||||
}
|
||||
|
||||
/// Ohne Leerzeichen — nur für die Menüleiste.
|
||||
///
|
||||
/// Dort ist die Breite fest für „100 %" reserviert, damit nichts springt,
|
||||
/// wenn der Wert eine Stelle mehr bekommt. Das Leerzeichen kostet in dieser
|
||||
/// Reservierung drei Punkte je Element, und in der Menüleiste ist Platz
|
||||
/// das knappste Gut. Im Panel und in den Popovern bleibt es stehen.
|
||||
public static func percentCompact(_ fraction: Double) -> String {
|
||||
"\(Int((min(max(fraction, 0), 1) * 100).rounded()))%"
|
||||
}
|
||||
|
||||
public static func temperature(_ celsius: Double) -> String {
|
||||
"\(Int(celsius.rounded()))°"
|
||||
}
|
||||
|
||||
@@ -174,7 +174,10 @@ final class MetricStatusView: NSView, WidthReporting {
|
||||
if metric == .temperature, let celsius = sensorCelsius {
|
||||
return MetricFormat.temperature(celsius)
|
||||
}
|
||||
return MetricSummary.value(metric, snapshot, mode: mode)
|
||||
// In der Menüleiste ohne Leerzeichen vor dem Prozentzeichen — siehe
|
||||
// `MetricFormat.percentCompact`.
|
||||
let value = MetricSummary.value(metric, snapshot, mode: mode)
|
||||
return value.replacingOccurrences(of: " %", with: "%")
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user