From 62af85eaea438a30ddb4bf6557b6d02783e95c97 Mon Sep 17 00:00:00 2001 From: enricobuehler Date: Sun, 19 Jul 2026 16:10:32 +0200 Subject: [PATCH] =?UTF-8?q?fix(apple):=20settings=20captions=20=E2=80=94?= =?UTF-8?q?=20cap=20line=20length=20at=20360pt,=20bump=20to=2013pt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Full-width captions ran their text right up to the control column (toggles especially), reading as one colliding block; ~46 chars/line also measures better. Same cap on the iOS resolution wheel's inline caption. Co-Authored-By: Claude Fable 5 --- .../PunktfunkClient/Settings/SettingsView+Sections.swift | 3 ++- .../PunktfunkClient/Settings/SettingsView+Support.swift | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/clients/apple/Sources/PunktfunkClient/Settings/SettingsView+Sections.swift b/clients/apple/Sources/PunktfunkClient/Settings/SettingsView+Sections.swift index 875e72de..8c313e4a 100644 --- a/clients/apple/Sources/PunktfunkClient/Settings/SettingsView+Sections.swift +++ b/clients/apple/Sources/PunktfunkClient/Settings/SettingsView+Sections.swift @@ -79,9 +79,10 @@ extension SettingsView { .pickerStyle(.wheel) .frame(maxHeight: 140) Text("The host drives a real output at exactly this mode — true pixels, no scaling.") - .font(.geist(12, relativeTo: .caption)) + .font(.geist(13, relativeTo: .footnote)) .foregroundStyle(.secondary) .fixedSize(horizontal: false, vertical: true) + .frame(maxWidth: 360, alignment: .leading) // match the described-row caption cap } } diff --git a/clients/apple/Sources/PunktfunkClient/Settings/SettingsView+Support.swift b/clients/apple/Sources/PunktfunkClient/Settings/SettingsView+Support.swift index d391e3a5..dab339d2 100644 --- a/clients/apple/Sources/PunktfunkClient/Settings/SettingsView+Support.swift +++ b/clients/apple/Sources/PunktfunkClient/Settings/SettingsView+Support.swift @@ -23,9 +23,13 @@ extension SettingsView { VStack(alignment: .leading, spacing: 5) { content() Text(caption) - .font(.geist(12, relativeTo: .caption)) + .font(.geist(13, relativeTo: .footnote)) .foregroundStyle(.secondary) .fixedSize(horizontal: false, vertical: true) // wrap, never truncate, in Form cells + // Cap the caption's line length well short of the cell: a full-width caption runs + // its text right up to the control column (toggles especially), reading as one + // colliding block. ~46 chars/line also just measures better. + .frame(maxWidth: 360, alignment: .leading) } .padding(.vertical, 2) }