eleven / ocho Public

mac: Settings toggles are checkboxes, not switches — labels clickable (#953)

The grouped form style renders Toggle as an iOS-style switch; a Mac Settings
window conventionally uses checkboxes, and the checkbox style makes the whole
label a click target. Applied to all three Settings toggles (Markdown
conversion, Set yourself as away, automatic updates).
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Paul Campbell 5e53f380d9a733430b22a1a8e2da1ee1150c7fbc parent a645988
2 files changed, +7 −0
  • ios/LChatMac/MacSettingsView.swift +6 −0
  • ios/LChatMac/UpdaterUI.swift +1 −0
diff --git a/ios/LChatMac/MacSettingsView.swift b/ios/LChatMac/MacSettingsView.swift
index b6efc87..ca61143 100644
--- a/ios/LChatMac/MacSettingsView.swift
+++ b/ios/LChatMac/MacSettingsView.swift
@@ -65,7 +65,12 @@ struct MacSettingsView: View {
Text("Text size")
}
Section {
+ // Checkboxes, not switches: the grouped form style renders
+ // Toggle as an iOS-style switch, but a Mac Settings window
+ // conventionally uses checkboxes — and the checkbox style
+ // makes the whole label clickable (Paul, 2026-07-15).
Toggle("Convert common Markdown formatting as you type", isOn: $formatAsYouType)
+ .toggleStyle(.checkbox)
} header: {
Text("Composer")
} footer: {
@@ -98,6 +103,7 @@ struct MacSettingsView: View {
// Presence: pin your dot to away (activity won't flip it back).
// Applies immediately, per server, synced across your devices.
Toggle("Set yourself as away", isOn: $away)
+ .toggleStyle(.checkbox)
.disabled(!awayLoaded)
.onChange(of: away) { _, next in setAway(next) }
if let awayNote {
diff --git a/ios/LChatMac/UpdaterUI.swift b/ios/LChatMac/UpdaterUI.swift
index 7671e66..f57de33 100644
--- a/ios/LChatMac/UpdaterUI.swift
+++ b/ios/LChatMac/UpdaterUI.swift
@@ -45,6 +45,7 @@ struct UpdatesSettingsView: View {
var body: some View {
Form {
Toggle("Automatically download and install updates", isOn: $automaticUpdates)
+ .toggleStyle(.checkbox) // Settings-window convention — see MacSettingsView
.onChange(of: automaticUpdates) { _, enabled in
// Downloading automatically requires checking automatically;
// turning the switch off falls back to fully manual