fix(settings): reduce motion in VTE flicker terminals
Harvested from PR #1527 by @axobase001. Co-authored-by: axobase001 <dengzhuoran9@gmail.com>
This commit is contained in:
@@ -10,8 +10,9 @@ visual motion and density for screen-reader and low-motion users.
|
||||
| Toggle | Default | Effect |
|
||||
| --- | --- | --- |
|
||||
| `NO_ANIMATIONS=1` env var | unset | At startup, forces `low_motion = true` and `fancy_animations = false`. Overrides whatever's saved in `settings.toml`. |
|
||||
| `low_motion` setting | `false` | Suppresses spinners' motion, transcript fade-ins, footer drift, and the active-cell pulse. The frame-rate limiter also slows down idle redraws so the cursor doesn't blink as aggressively. |
|
||||
| `low_motion` setting | `false` | Suppresses spinners' motion, transcript fade-ins, footer drift, the header status-indicator cycle, and the active-cell pulse. The frame-rate limiter also slows down idle redraws so the cursor doesn't blink as aggressively. |
|
||||
| `fancy_animations` setting | `false` | Footer water-spout strip and pulsing sub-agent counter. Off by default. |
|
||||
| `status_indicator` setting | `whale` | Header status chip. Set to `dots` for the compact dot cycle or `off` to hide it. |
|
||||
| `calm_mode` setting | `false` | Collapses tool-output details by default and trims status messages. Useful for screen readers that announce every redraw. |
|
||||
| `show_thinking` setting | `true` | Set to `false` to hide model `reasoning_content` blocks entirely. |
|
||||
| `show_tool_details` setting | `true` | Set to `false` to render tool calls as one-liners without expanded payloads. |
|
||||
@@ -43,11 +44,17 @@ The same toggles are reachable from the command palette:
|
||||
* `/settings set low_motion on`
|
||||
* `/settings set fancy_animations off`
|
||||
* `/settings set calm_mode on`
|
||||
* `/settings set status_indicator off`
|
||||
|
||||
Settings written this way persist to `~/.config/deepseek/settings.toml`.
|
||||
The `NO_ANIMATIONS` env var still wins at startup if it's set, so
|
||||
unsetting the env var is the way to honor your saved choice.
|
||||
|
||||
Tilix and Terminator sessions automatically start in low-motion mode because
|
||||
those VTE-based terminals have reported visible redraw flicker during active
|
||||
turns. You can still override the saved settings after launch if your terminal
|
||||
version renders cleanly.
|
||||
|
||||
## Notes for screen-reader users
|
||||
|
||||
* `low_motion` slows the idle redraw loop to ~120ms per frame so
|
||||
|
||||
@@ -82,6 +82,35 @@ URLs (`localhost`, `127.0.0.1`, `[::1]`, `0.0.0.0`) do not read the secret store
|
||||
unless API-key auth is explicitly requested; use an env var or config-file key
|
||||
when a local server does require bearer auth.
|
||||
|
||||
### Custom OpenAI-Compatible Gateways
|
||||
|
||||
For a third-party service that implements the OpenAI Chat Completions API, use
|
||||
the built-in `openai` provider name and point its provider table at the gateway:
|
||||
|
||||
```toml
|
||||
provider = "openai"
|
||||
default_text_model = "your-model-id"
|
||||
|
||||
[providers.openai]
|
||||
api_key = "YOUR_OPENAI_COMPATIBLE_API_KEY"
|
||||
base_url = "https://your-gateway.example/v1"
|
||||
```
|
||||
|
||||
Do not invent a custom provider name; `provider` must be one of the known
|
||||
providers listed above. Put the endpoint under `[providers.openai]`, not the
|
||||
legacy top-level `base_url`, so the OpenAI-compatible provider receives it.
|
||||
`default_text_model` is the model ID sent to the gateway; if you keep several
|
||||
provider tables in one config, `[providers.openai].model` can be used as the
|
||||
OpenAI-provider-specific override.
|
||||
|
||||
Local HTTP endpoints such as Ollama, SGLang, and vLLM are allowed by default
|
||||
when they use localhost or loopback addresses. For a non-local `http://`
|
||||
gateway, launch with `DEEPSEEK_ALLOW_INSECURE_HTTP=1` only on a trusted network:
|
||||
|
||||
```bash
|
||||
DEEPSEEK_ALLOW_INSECURE_HTTP=1 deepseek
|
||||
```
|
||||
|
||||
Third-party OpenAI-compatible gateways that need extra request headers can set
|
||||
`http_headers = { "X-Model-Provider-Id" = "your-model-provider" }` at the top
|
||||
level or under a provider table such as `[providers.deepseek]`. When configured,
|
||||
|
||||
Reference in New Issue
Block a user