diff --git a/Packages/OnyxKit/Sources/AudioProvider/MixerView.swift b/Packages/OnyxKit/Sources/AudioProvider/MixerView.swift index 12476ac..96437fc 100644 --- a/Packages/OnyxKit/Sources/AudioProvider/MixerView.swift +++ b/Packages/OnyxKit/Sources/AudioProvider/MixerView.swift @@ -240,8 +240,15 @@ private struct ProcessRow: View { @ViewBuilder private var resetButton: some View { Group { - if managed, abs(volume - 1) > 0.001 { - Button { mixer.setVolume(1, for: group.bundleID) } label: { + if managed, abs(volume - 1) > 0.001 || overdriven { + Button { + // Der Overdrive geht mit zurück: er ist keine eigene + // Einstellung, sondern die Freigabe für einen Wert, den es + // danach nicht mehr gibt. Bliebe er stehen, zeigte die Zeile + // 100 % und der Regler stünde trotzdem im Boost-Bereich. + mixer.setOverdrive(false, for: group.bundleID) + mixer.setVolume(1, for: group.bundleID) + } label: { Image(systemName: "arrow.counterclockwise") .font(.system(size: 9, weight: .medium)) } diff --git a/Packages/OnyxKit/Sources/MetricsProvider/MetricPopovers.swift b/Packages/OnyxKit/Sources/MetricsProvider/MetricPopovers.swift index b8bc856..10bf311 100644 --- a/Packages/OnyxKit/Sources/MetricsProvider/MetricPopovers.swift +++ b/Packages/OnyxKit/Sources/MetricsProvider/MetricPopovers.swift @@ -250,6 +250,11 @@ private struct BatteryDetail: View { text: MetricFormat.percent(battery.charge), tint: battery.isCharging ? .green : (battery.charge < 0.2 ? .red : .accentColor)) + // Beides gehört neben den Ring: die Schätzung und der Grund + // dafür. „Am Netzteil" über dem Ring und „Am Netz, lädt nicht" + // darunter waren zweimal dieselbe Auskunft an zwei Stellen — + // und die zweite stand allein unter dem Diagramm, wo sie + // aussah, als gehörte sie zu dessen Beschriftung. VStack(alignment: .leading, spacing: 4) { if let remaining = battery.timeRemaining { Text(duration(remaining)).font(.title3.monospacedDigit()) @@ -257,19 +262,21 @@ private struct BatteryDetail: View { : "popover.battery.remaining", bundle: .module) .font(.caption).foregroundStyle(.secondary) - } else { - Text(battery.isPluggedIn ? "popover.battery.pluggedIn" - : "popover.battery.calculating", - bundle: .module) + } else if !battery.isPluggedIn { + // Am Netz braucht es keine Entschuldigung für die + // fehlende Schätzung — die Zeile darunter sagt ohnehin, + // was los ist. + Text("popover.battery.calculating", bundle: .module) .font(.callout).foregroundStyle(.secondary) } + + // Was gerade geschieht, in Worten. „Am Netz" allein + // beantwortet die Frage nicht, die man hat, wenn der + // Ladestand stehen bleibt. + activityLine(battery) } } - // Was gerade geschieht, in Worten. „Am Netz" allein beantwortet die - // Frage nicht, die man hat, wenn der Ladestand stehen bleibt. - activityLine(battery) - // Das Ladelimit steht hier und nicht in den Einstellungen: es ist // eine Akkusache, und man greift danach, während man auf den // Ladestand schaut.