Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Showing 1 changed file with 47 additions and 21 deletions.
| @@ -80,7 +80,8 @@ Gruvbox, Rosé Pine, Solarized and Dracula. | ||
| 80 | 80 | checked out under `~/.local/share/vectrum-code/worktrees`, optionally from the branch as |
| 81 | 81 | origin has it, with submodules filled in. Pick Local or New worktree per thread on the |
| 82 | 82 | start screen. |
| 83 | - - Thread titles written by a small model from the first message (Settings → Text generation). | |
| 83 | + - Thread titles written by a small model from the first message (Settings → General → Text | |
| 84 | + generation). | |
| 84 | 85 | - Pin threads to the top, snooze them until later, rename them (right-click a thread card). |
| 85 | 86 | The sidebar can group threads by project, fold working threads into a Working section, and |
| 86 | 87 | order projects by last message, name or date added. |
| @@ -96,27 +97,47 @@ Gruvbox, Rosé Pine, Solarized and Dracula. | ||
| 96 | 97 | another. The host's projects and threads appear in the sidebar tagged with its name; open, |
| 97 | 98 | continue or start threads there and they run on the host. The connection is a WebSocket |
| 98 | 99 | guarded by the key but not encrypted, so use it on trusted networks or over a VPN. |
| 99 | - - A settings view (Ctrl+, or **Settings** in the sidebar), laid out like T3 Code's: | |
| 100 | - - **General**: what new threads start with (model, reasoning, permissions, workspace, | |
| 101 | - submodules), the text generation model, projects and threads, organization of the | |
| 102 | - sidebar, and confirmations (unpin, settle, delete, and the quit shortcut). | |
| 103 | - - **Behavior**: notifications (desktop, with sound, in-app), time format, response | |
| 104 | - streaming, turn folding and costs, proactive diffs, diff defaults, the composer (skills in | |
| 105 | - the `/` menu, collapsing on scroll, send key, follow-up behavior), update checks, | |
| 106 | - continuing after restarts, background activity, and the editor "Open in" uses. | |
| 107 | - - **Appearance**: comfortable or compact thread cards. | |
| 108 | - - **Themes**: Light, Dark or System mode (System follows the desktop), and a light and a | |
| 109 | - dark theme picked from live previews: Bone and Graphite; Tokyo Night (Night, Storm, Day); | |
| 110 | - Catppuccin (Mocha, Macchiato, Frappé, Latte); GitHub (Dark, Dark Dimmed, Light); One Dark | |
| 111 | - and One Light; Nord; Gruvbox Dark and Light; Rosé Pine (Main, Moon, Dawn); Solarized Dark | |
| 112 | - and Light; and Dracula. | |
| 100 | + - A settings view (Ctrl+, or **Settings** in the sidebar), laid out like T3 Code's: a | |
| 101 | + search field over the pages (press `/` to search, ↑/↓ and Enter to jump to a setting, | |
| 102 | + which scrolls into view and pulses), a "Settings / Page" breadcrumb, and every setting as | |
| 103 | + a row with its description, its control and, once changed, a button that resets it. | |
| 104 | + **Restore device defaults** on General lists what it will reset before it does. | |
| 105 | + - **General**: New threads (model and reasoning, permissions, workspace, submodules); | |
| 106 | + Organization (project grouping and order, auto-resume and snooze for usage-limited | |
| 107 | + threads, the Working section, auto-settling merged and inactive threads); Behavior | |
| 108 | + (thread notifications off, as notifications, as sound or both, in-app notifications, time | |
| 109 | + format, response streaming by token, paragraph or whole turn, turn folding and costs, diff | |
| 110 | + whitespace, file state and Stacked or Split layout, proactive panels, skills in the `/` | |
| 111 | + menu, the rich text composer, collapsing on scroll, the send shortcut (Enter, Ctrl+Enter | |
| 112 | + for multiline prompts, or Ctrl+Enter always), follow-up behavior, update checks, | |
| 113 | + continuing after restarts, background activity); Projects & threads; Confirmations | |
| 114 | + (unpin, archive, delete, and the quit shortcut: Direct, Hold or Double press); the text | |
| 115 | + generation model; the version; Diagnostics (CPU, memory and every process the app | |
| 116 | + started, with interrupt and kill buttons) and the open source licenses; and the folded | |
| 117 | + Legacy features (plan mode, the context window ring, the per-project sidebar). | |
| 118 | + - **Appearance**: System, Light or Dark (System follows the desktop), and a card per theme | |
| 119 | + family whose swatches set the light and the dark theme: Vectrum (Bone and Graphite); Tokyo | |
| 120 | + Night (Day, Night, Storm); Catppuccin (Latte, Mocha, Macchiato, Frappé); GitHub (Light, | |
| 121 | + Dark, Dark Dimmed); One; Nord; Gruvbox; Rosé Pine (Dawn, Main, Moon); Solarized; and | |
| 122 | + Dracula. Then diff colors (red and green, or blue and orange), composer context, chat | |
| 123 | + width and thread cards. | |
| 124 | + - **Keybindings**: the app's shortcuts in T3 Code's groups, searchable, read from the live | |
| 125 | + keymap, with when each applies. | |
| 113 | 126 | - **Providers**: every agent instance (several Claude, Pi or jcode instances side by side, |
| 114 | - say two accounts), each with a switch, its version, login and plan, display name, binary, config | |
| 115 | - folder, launch arguments and environment variables, plus updates and the health check | |
| 116 | - interval, and usage hubs (CLIProxyAPI servers, with their management key). | |
| 127 | + say two accounts) in a list with its status and a switch, and an editor for the selected | |
| 128 | + one: display name and accent color, account, binary, home folder, Claude's auto-compact | |
| 129 | + threshold, launch arguments, environment variables (sensitive ones are kept in a | |
| 130 | + `secrets.json` only you can read), and its models: favorites, which ones the picker | |
| 131 | + shows, their order, and custom models. **Add provider** walks through kind, identity and | |
| 132 | + configuration. Below: usage hubs (CLIProxyAPI servers) and the health check interval. | |
| 133 | + - **Integrations**: whether agents may use the shared browser, and the editor "Open in" uses. | |
| 134 | + - **Source Control**: the git and GitHub CLI found on this machine, and how worktree | |
| 135 | + branches are named (a static prefix, a prefix the model picks, or your instructions). | |
| 136 | + - **Storage**: where new worktrees go, and the app's folders. | |
| 137 | + - **Connections**: remote connections to and from other devices. | |
| 138 | + - **Archive**: settled threads by project, with Unarchive (and Delete on right-click). | |
| 117 | 139 | - **Usage**: cost, tokens and plan limits over the past day, week, month or quarter, read |
| 118 | 140 | from Claude Code's and Pi's local logs and any usage hubs, by provider, model and day. |
| 119 | - - **Connections**, **Keybindings**, an **Archive** of settled threads, and **About**. | |
| 120 | 141 | |
| 121 | 142 | ## Requirements |
| 122 | 143 | |
| @@ -178,7 +199,12 @@ in its `scratch` folder. | ||
| 178 | 199 | - `src/ui/chat.rs`: start screen, transcript (with turn folding), tool cards, permission bar |
| 179 | 200 | and composer. |
| 180 | 201 | - `src/ui/pickers.rs`: the model, reasoning and access pickers. |
| 181 | - - `src/ui/settings.rs`: the settings view and its pages. | |
| 202 | + - `src/ui/settings/`: the settings view (`mod.rs`: nav, search, top bar), the row and | |
| 203 | + section building blocks (`widgets.rs`), the search catalog (`search.rs`) and a file per | |
| 204 | + page. | |
| 205 | + - `assets/licenses.tsv`: the crates the app is built from, with their licenses, for the | |
| 206 | + Open source licenses page (regenerate it from `cargo metadata` after changing | |
| 207 | + dependencies). | |
| 182 | 208 | - `src/ui/changes.rs`: the per-turn change overview and the diff view. |
| 183 | 209 | - `src/ui/workspace.rs`: window root: thread sidebar, top bar and project panel, plus the |
| 184 | 210 | git and editor helpers behind it. |
| @@ -187,7 +213,7 @@ in its `scratch` folder. | ||
| 187 | 213 | MetalUI's CSS, the theme mapping for the stock widgets, and the primitives (caps, wells, |
| 188 | 214 | keycaps, status LEDs, segmented switch). |
| 189 | 215 | - `src/ui/themes.rs`: the color schemes, the palette builder that turns each into a full |
| 190 | - MetalUI palette, the light/dark/system selection, and the Themes page. | |
| 216 | + MetalUI palette, the light/dark/system selection, and the theme families. | |
| 191 | 217 | - `assets/fonts/`: Geist, Geist Mono and Geist Pixel, embedded in the binary |
| 192 | 218 | (SIL Open Font License, see `assets/fonts/OFL.txt`). |
| 193 | 219 | |