From 752bc5a4548f1ccc6de3f557fa3fd9b859f3c3c9 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sun, 7 Dec 2025 02:32:57 +0100 Subject: [PATCH] VoiceWake: align mic + level rows --- .../Sources/Clawdis/VoiceWakeSettings.swift | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/apps/macos/Sources/Clawdis/VoiceWakeSettings.swift b/apps/macos/Sources/Clawdis/VoiceWakeSettings.swift index 4ab5920ec..9dc23a127 100644 --- a/apps/macos/Sources/Clawdis/VoiceWakeSettings.swift +++ b/apps/macos/Sources/Clawdis/VoiceWakeSettings.swift @@ -299,6 +299,7 @@ struct VoiceWakeSettings: View { @State private var availableLocales: [Locale] = [] @State private var showForwardAdvanced = false @State private var forwardStatus: ForwardStatus = .idle + private let fieldLabelWidth: CGFloat = 110 private var voiceWakeBinding: Binding { Binding( @@ -558,7 +559,10 @@ struct VoiceWakeSettings: View { private var micPicker: some View { VStack(alignment: .leading, spacing: 6) { - LabeledContent("Microphone") { + HStack(alignment: .firstTextBaseline, spacing: 10) { + Text("Microphone") + .font(.callout.weight(.semibold)) + .frame(width: self.fieldLabelWidth, alignment: .leading) Picker("Microphone", selection: self.$state.voiceWakeMicID) { Text("System default").tag("") ForEach(self.availableMics) { mic in @@ -712,16 +716,16 @@ struct VoiceWakeSettings: View { private var levelMeter: some View { VStack(alignment: .leading, spacing: 6) { - LabeledContent { - HStack(spacing: 10) { - MicLevelBar(level: self.meterLevel) - Text(self.levelLabel) - .font(.callout.monospacedDigit()) - .foregroundStyle(.secondary) - } - } label: { + HStack(alignment: .center, spacing: 10) { Text("Live level") .font(.callout.weight(.semibold)) + .frame(width: self.fieldLabelWidth, alignment: .leading) + MicLevelBar(level: self.meterLevel) + .frame(width: 260, alignment: .leading) + Text(self.levelLabel) + .font(.callout.monospacedDigit()) + .foregroundStyle(.secondary) + .frame(width: 60, alignment: .trailing) } if let meterError { Text(meterError)