Settings
Settings is a workspace with a tab for each area of settings. Each tab is a
page you change things on, and your changes go into the same files you’d
edit by hand (~/.config/ws/keys.toml, ~/.config/ws/config.toml),
keeping your comments.
Its tabs:
| Tab | What’s in it | File |
|---|---|---|
| Keyboard shortcuts | Every command’s keys, the keyboard map, the leader | keys.toml |
| General | The Dashboard on a fresh start; the which-key popup and its delay; whether the leader twice types it | config.toml, keys.toml |
| Agents & memory | Memory on or off, which agents get context, the context budget, per-repo opt-outs, session summaries, other agents | config.toml |
| Reviews | The review workspace, template and command, the default repo, repo aliases, the PR-comments prompt | config.toml |
Opening it
Section titled “Opening it”leader S(Ctrl-Space S)- Click settings at the right end of the status line
- The main menu (
≡ menu): Settings - The finder (
leader f): typesettings - The Dashboard: the Settings link under “Your leader key is …”, or the Settings button under “Start something”
ws settingsfrom a shell inside ws. With no ws running, it runs the Keyboard shortcuts page right there.
The first time, ws makes a Settings workspace at the end of the sidebar.
After that it takes you back to the tab you last had there. It’s a workspace
like any other: switch tabs with leader 1-9 or Alt-[/Alt-], and close
it (or one of its tabs) when you’re done. Opening Settings again brings back
whatever you closed.
Keyboard shortcuts
Section titled “Keyboard shortcuts”This tab is the shortcut editor, with
the keyboard map and every command. Two things are different from running
ws keys in a terminal:
- Changes save as you make them. There’s no
wand noq. A running ws picks each change up within 10 seconds, anduundoes (and saves that too). - Hand edits are noticed. If
keys.tomlchanges on disk (you edited it in Neovim, say), the page shows the new file within a second. Its next change builds on your edit, so it never overwrites it. A file that doesn’t load shows its error until you fix it.
Below the commands it lists, for reference, the keys you can’t change yet: the sidebar’s, copy mode’s and the mouse.
leader ? still opens the keys overlay, a quick look at every
key. The keys link on the status line does the same.
General, Agents & memory, Reviews
Section titled “General, Agents & memory, Reviews”Each is a list of settings under headings. The selected one’s description, and when a change takes effect, show at the bottom.
| Key | Does |
|---|---|
j/k, arrows, g/G |
Move |
Enter, Space |
A switch flips. Anything else is edited on its line: type, Enter saves, Esc cancels, C-u clears |
d |
Back to the default (the line leaves the file) |
a |
On a table (Repo aliases, Per-repo opt-outs, Other agents) or one of its entries: add an entry. It asks for what the entry needs (below) |
x |
On an entry’s name: remove the entry and its settings (asks first) |
e |
Open config.toml in your editor at this setting’s section (WS_EDITOR, else nvim, else $EDITOR); on an entry, at its own header |
u |
Undo the last change (and save that) |
-
A value that isn’t the default is highlighted, with the default beside it.
-
Checked the way ws loads it. A number that isn’t one, or anything else ws wouldn’t load, is refused, and the bottom line says why.
-
Saved as you go, comments kept, and hand edits noticed, as on the Keyboard shortcuts page.
-
When it applies: ws reads
config.tomleach time it needs a value, so most changes apply the next time they’re used: the next review, the next agent that starts. The Dashboard setting applies on the next fresh start, and General’s keys settings within 10 seconds. -
Tables show each entry under them, with the entry’s settings indented below its name. Those edit like any other setting.
Table aasks forEach entry’s settings Repo aliases a name and the repo: sf acme/storefrontrepo, clone, host, gh account Per-repo opt-outs the repo: github.com/org/name(stored in lowercase, as memory looks it up)store its sessions, give its memory to agents (both on to start) Other agents the agent’s name: grokcommand, how it gets context, model flag A new agent also gets a “Give context to …” switch under Memory.
-
Required text can’t be emptied (an alias’s repo, the review workspace): change it, or
dfor the default where there is one. -
Lists of words (the summarizer command, its repos) are edited as text separated by spaces.
See also
Section titled “See also”- Changing keys:
keys.toml, sequences, and the editor - Keys and mouse: every default key
- Configuration: the files and what’s in them