1- # GoVim Configuration
2- # Copy to:
1+ # GoVim Configuration — Mini Docs
2+ #
3+ # Copy locations:
34# - macOS: ~/Library/Application Support/govim/config.toml
4- # - XDG: ~/.config/govim/config.toml
5- # - Custom location: specify with --config flag
5+ # - XDG: ~/.config/govim/config.toml
6+ # Or pass a custom path via the CLI: `govim launch --config /path/to/config.toml`
7+ #
8+ # Conventions
9+ # - Colors: `#RGB`, `#RRGGBB`, or `#RRGGBBAA`.
10+ # - Hotkeys: `Modifier+...+Key` with modifiers `Cmd`, `Ctrl`, `Alt`, `Shift`, `Option`.
11+ # Examples: `Cmd+Shift+Space`, `Ctrl+D`. Set to "" to disable.
12+ # - When `hint_style = "numeric"`, `hint_characters` are ignored.
613
714[general ]
15+ # Characters used to build hint labels for alphabet style.
16+ # - At least 2 characters; choose distinct, easy-to-type ones.
817hint_characters = " asdfghjkl"
18+
19+ # Hint label style: "alphabet" or "numeric".
20+ # - "alphabet": uses `hint_characters` to build AA/AS/...
21+ # - "numeric": labels are numbers 1..N; ignores `hint_characters`.
922hint_style = " alphabet"
1023
24+ # Check Accessibility permission on startup; exits with guidance if missing.
25+ accessibility_check_on_start = true
26+
1127[accessibility ]
1228# Global accessibility roles that are treated as clickable
1329# These roles will be used for ALL applications
@@ -42,9 +58,17 @@ scrollable_roles = [
4258# [[accessibility.app_configs]]
4359# bundle_id = "com.apple.mail"
4460# additional_clickable_roles = ["AXStaticText"]
61+ # # You can also add scrollable roles scoped to the app:
62+ # # additional_scrollable_roles = ["AXScrollArea"]
4563
4664[accessibility .electron_support ]
65+ # # Electron & Chromium support
66+ # Enables manual accessibility toggles for Electron-like apps.
67+ # Built-in: VS Code, Windsurf, Slack, Cursor, Spotify, Obsidian, Firefox.
4768enable = true
69+
70+ # Extra bundle IDs requiring Electron-style accessibility.
71+ # Examples: ["com.example.app"]
4872additional_bundles = []
4973
5074[hotkeys ]
@@ -61,8 +85,14 @@ activate_scroll_mode = "Cmd+Shift+J"
6185
6286# Note: Escape key is hardcoded to exit any active mode
6387
88+ # Hotkey format notes:
89+ # - Use `Cmd`, `Ctrl`, `Alt`, `Shift`, or `Option` as modifiers.
90+ # - Keys can be letters, function keys, or names like `Space`.
91+ # - Set any hotkey to "" to disable that action.
92+
6493[hints ]
6594# Font size for hint labels
95+ # Valid range: 6–72
6696font_size = 12
6797
6898# Font family (leave empty for system default)
@@ -78,18 +108,22 @@ text_color = "#000000"
78108matched_text_color = " #0066CC"
79109
80110# Border radius (pixels)
111+ # Non-negative integer
81112border_radius = 4
82113
83114# Padding (pixels)
115+ # Non-negative integer
84116padding = 4
85117
86118# Border width (pixels)
119+ # Non-negative integer
87120border_width = 1
88121
89122# Border color (hex format)
90123border_color = " #000000"
91124
92125# Opacity (0.0 to 1.0)
126+ # Controls hint translucency; 1.0 is fully opaque
93127opacity = 0.95
94128
95129# Action overlay colors (used when selecting click type)
@@ -116,12 +150,15 @@ action_opacity = 0.95
116150menubar = false
117151# Show hints on the Dock
118152dock = false
153+ # Tip: enable both to interact with menu bar and Dock via hints.
119154
120155[scroll ]
121156# Base scroll amount for j/k keys in pixels
157+ # Minimum: 1. Increase for faster per-press scrolling.
122158scroll_speed = 50
123159
124160# Highlight the active scroll area with a border
161+ # When true, draws a border around the detected scroll container.
125162highlight_scroll_area = true
126163
127164# Highlight border color (hex format)
@@ -131,39 +168,52 @@ highlight_color = "#FF0000"
131168highlight_width = 2
132169
133170# Estimated page height in pixels (used for calculating Ctrl+D/U scroll distance)
171+ # Increase if your app windows are taller; decrease for short panes.
134172page_height = 1200
135173
136174# Half-page scroll multiplier for Ctrl+D/U (0.5 = 600px with default page_height)
175+ # Valid range: (0, 1]
137176half_page_multiplier = 0.5
138177
139178# Full-page scroll multiplier (not currently used)
179+ # Valid range: (0, 1]
140180full_page_multiplier = 0.9
141181
142182# Number of scroll events to send for gg/G commands
183+ # Higher values create longer smooth scrolls to edges.
143184scroll_to_edge_iterations = 20
144185
145186# Pixels to scroll per iteration for gg/G (total = iterations * delta)
187+ # Increase for faster edge scrolling; tune with iterations above.
146188scroll_to_edge_delta = 5000
147189
148190[performance ]
149191# Maximum number of hints to display
192+ # Minimum: 1. Higher values increase CPU and memory usage.
150193max_hints_displayed = 500
151194
152195# Debounce time for UI updates (milliseconds)
196+ # Lower feels snappier; higher reduces CPU during rapid changes.
153197debounce_ms = 50
154198
155199# Cache duration for UI element tree (milliseconds)
200+ # Trade-off between freshness and performance.
156201cache_duration_ms = 100
157202
158203# Maximum concurrent element queries
204+ # Minimum: 1. Controls parallelism when scanning accessibility elements.
159205max_concurrent_queries = 10
160206
161207[logging ]
162208# Log level: "debug", "info", "warn", "error"
209+ # Use "debug" for troubleshooting; default is "info".
163210log_level = " info"
164211
165212# Log file location (empty for default: ~/Library/Logs/govim/app.log)
213+ # Set a custom path to redirect logs elsewhere; directories are created as needed.
166214log_file = " "
167215
168216# Enable structured logging
169217structured_logging = true
218+ # When true, file logs use a structured (JSON) encoder; console remains readable.
219+ # When false, console uses a development-friendly formatter.
0 commit comments