diff --git a/README.md b/README.md index 5aa544b..a5d13b4 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ Prefer not to use Homebrew? Download `ClickLight.zip` from [GitHub Releases](htt - Click highlights across macOS apps - Separate visuals for press, release, right-click, and drag - Optional laser pointer mode with fading freehand strokes while dragging -- Optional live keyboard shortcut display beside the pointer +- Optional live keyboard shortcut display pinned to the bottom of the screen by default, with pointer-following placement and adjustable badge size available - Local daily click activity chart with a resettable seven-day history - Optional daily click count in the menu bar - Dedicated settings window with sliders + presets for size, duration, intensity, and color diff --git a/Sources/ClickLight/ClickLightSettingsView.swift b/Sources/ClickLight/ClickLightSettingsView.swift index a1e613d..8bc582b 100644 --- a/Sources/ClickLight/ClickLightSettingsView.swift +++ b/Sources/ClickLight/ClickLightSettingsView.swift @@ -441,12 +441,28 @@ struct ClickLightSettingsView: View { } Divider().padding(.vertical, 6) ModernRow(title: "Show Live Keyboard Shortcuts", - subtitle: "Display shortcut combinations beside the pointer while you use them.") { + subtitle: "Display shortcut combinations while you use them.") { Toggle("", isOn: binding(\.showLiveKeyboardShortcuts)) .toggleStyle(.switch) .labelsHidden() .accessibilityLabel("Show Live Keyboard Shortcuts") } + if viewModel.settings.showLiveKeyboardShortcuts { + Divider().padding(.vertical, 6) + VStack(alignment: .leading, spacing: 14) { + shortcutDisplayPicker( + title: "Position", + selection: binding(\.liveShortcutPosition), + options: LiveShortcutPosition.allCases + ) + shortcutDisplayPicker( + title: "Size", + selection: binding(\.liveShortcutSize), + options: LiveShortcutSize.allCases + ) + } + .padding(.vertical, 6) + } Divider().padding(.vertical, 6) ModernRow(title: "Show Press", subtitle: "Highlight when the mouse button goes down.") { @@ -650,6 +666,27 @@ struct ClickLightSettingsView: View { ) } + @ViewBuilder + private func shortcutDisplayPicker( + title: String, + selection: Binding