listless

A simple list app for Apple platforms
Log | Files | Refs | README | LICENSE

commit cd974edc871195e731b8a6002848f442f57a4077
parent a6910ea1226dc5d075217897ba93a47e6b2576b4
Author: Michael Camilleri <[email protected]>
Date:   Sun,  8 Mar 2026 17:06:31 +0900

Support adjustable flick threshold

The threshold doesn't feel right to me. This commit adds a slider to
Settings that a beta tester can use to adjust the level.

Co-Authored-By: Claude 4.6 Opus <[email protected]>

Diffstat:
MListlessiOS/Views/SettingsView.swift | 9+++++++++
MListlessiOS/Views/TaskListView.swift | 2+-
2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/ListlessiOS/Views/SettingsView.swift b/ListlessiOS/Views/SettingsView.swift @@ -5,6 +5,7 @@ struct SettingsView: View { @Environment(\.dismiss) private var dismiss @AppStorage("headingText") private var headingText = "Items" @AppStorage("appearanceMode") private var appearanceMode = 0 + @AppStorage("flickThreshold") private var flickThreshold: Double = 800 var body: some View { NavigationStack { @@ -13,6 +14,14 @@ struct SettingsView: View { TextField("List Title", text: $headingText) } + Section("Flick Sensitivity") { + HStack { + Text("\(Int(flickThreshold)) pt/s") + .monospacedDigit() + Slider(value: $flickThreshold, in: 200...2000, step: 50) + } + } + Section("Appearance") { Picker("Appearance", selection: $appearanceMode) { Text("System").tag(0) diff --git a/ListlessiOS/Views/TaskListView.swift b/ListlessiOS/Views/TaskListView.swift @@ -174,7 +174,7 @@ struct TaskListView: View, TaskListViewProtocol { var vStackSpacing: CGFloat { 12 } var pullCreateThreshold: CGFloat { 70 } - var flickThreshold: CGFloat { 800 } + @AppStorage("flickThreshold") var flickThreshold: Double = 800 var isCompletelyEmpty: Bool { activeTasks.isEmpty && completedTasks.isEmpty } init(store: TaskStore, syncMonitor: CloudKitSyncMonitor) {