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())) %"
|
"\(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 {
|
public static func temperature(_ celsius: Double) -> String {
|
||||||
"\(Int(celsius.rounded()))°"
|
"\(Int(celsius.rounded()))°"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -133,7 +133,7 @@ final class MetricStatusView: NSView, WidthReporting {
|
|||||||
private var reference: String {
|
private var reference: String {
|
||||||
switch (metric, mode) {
|
switch (metric, mode) {
|
||||||
case (.temperature, _), (_, .temperature): "100°"
|
case (.temperature, _), (_, .temperature): "100°"
|
||||||
default: "100 %"
|
default: "100%"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -174,7 +174,10 @@ final class MetricStatusView: NSView, WidthReporting {
|
|||||||
if metric == .temperature, let celsius = sensorCelsius {
|
if metric == .temperature, let celsius = sensorCelsius {
|
||||||
return MetricFormat.temperature(celsius)
|
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