waveterm/pkg/wconfig/defaultconfig/settings.json

45 lines
1.5 KiB
JSON
Raw Normal View History

2024-08-28 01:49:49 +00:00
{
"ai:preset": "ai@global",
"ai:model": "gpt-5-mini",
"ai:maxtokens": 4000,
2024-10-09 20:36:02 +00:00
"ai:timeoutms": 60000,
2025-02-12 05:58:03 +00:00
"app:defaultnewblock": "term",
"app:tabbar": "top",
"app:confirmquit": true,
"app:hideaibutton": false,
"term:showsplitbuttons": false,
"app:disablectrlshiftarrows": false,
"app:disablectrlshiftdisplay": false,
"app:focusfollowscursor": "off",
2024-08-28 01:49:49 +00:00
"autoupdate:enabled": true,
"autoupdate:installonquit": true,
"autoupdate:intervalms": 3600000,
"conn:askbeforewshinstall": true,
"conn:wshenabled": true,
"editor:minimapenabled": true,
"web:defaulturl": "https://github.com/wavetermdev/waveterm",
"web:defaultsearch": "https://www.google.com/search?q={query}",
"window:tilegapsize": 3,
2024-10-17 21:34:02 +00:00
"window:maxtabcachesize": 10,
"window:nativetitlebar": true,
"window:magnifiedblockopacity": 0.6,
2026-02-28 23:48:52 +00:00
"window:magnifiedblocksize": 0.95,
"window:magnifiedblockblurprimarypx": 10,
"window:fullscreenonlaunch": false,
"window:magnifiedblockblursecondarypx": 2,
"window:confirmclose": true,
"window:savelastwindow": true,
"telemetry:enabled": true,
"term:bellsound": false,
"term:bellindicator": true,
"term:osc52": "always",
Add terminal cursor style/blink config with block-level overrides (#2933) Adds support for configuring terminal cursor style and blink behavior in terminal blocks, with hierarchical resolution (block metadata → connection overrides → global settings). New keys are `term:cursor` (`block`/`underline`/`bar`, default `block`) and `term:cursorblink` (`bool`, default `false`). - **Config surface: new terminal keys** - Added to global settings schema/types: - `pkg/wconfig/settingsconfig.go` - Added to block metadata typing: - `pkg/waveobj/wtypemeta.go` - Added default values: - `pkg/wconfig/defaultconfig/settings.json` - `"term:cursor": "block"` - `"term:cursorblink": false` - **Frontend terminal behavior (xterm options)** - `frontend/app/view/term/termwrap.ts` - Added `setCursorStyle()` with value normalization (`underline`/`bar` else fallback `block`) - Added `setCursorBlink()` - Applies both options on terminal construction via `getOverrideConfigAtom(...)` - `frontend/app/view/term/term-model.ts` - Subscribes to `term:cursor` and `term:cursorblink` override atoms - Propagates live updates to `term.options.cursorStyle` / `term.options.cursorBlink` - Cleans up subscriptions in `dispose()` - **Generated artifacts** - Regenerated config/type outputs after Go type additions: - `schema/settings.json` - `pkg/wconfig/metaconsts.go` - `pkg/waveobj/metaconsts.go` - `frontend/types/gotypes.d.ts` - **Docs** - Updated config reference and default config example: - `docs/docs/config.mdx` ```ts // termwrap.ts this.setCursorStyle(globalStore.get(getOverrideConfigAtom(this.blockId, "term:cursor"))); this.setCursorBlink(globalStore.get(getOverrideConfigAtom(this.blockId, "term:cursorblink")) ?? false); // term-model.ts (live updates) const termCursorAtom = getOverrideConfigAtom(blockId, "term:cursor"); this.termCursorUnsubFn = globalStore.sub(termCursorAtom, () => { this.termRef.current?.setCursorStyle(globalStore.get(termCursorAtom)); }); ``` <!-- START COPILOT CODING AGENT TIPS --> --- 🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. [Learn more about Advanced Security.](https://gh.io/cca-advanced-security) --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: sawka <2722291+sawka@users.noreply.github.com> Co-authored-by: sawka <mike@commandline.dev>
2026-02-25 20:40:20 +00:00
"term:cursor": "block",
"term:cursorblink": false,
"term:copyonselect": true,
fix: trim trailing whitespace from terminal clipboard copies (#3167) Fixes #2778. ## Problem `xterm.js`'s `getSelection()` returns lines padded to the full terminal column width. Every copy path passed this directly to `navigator.clipboard.writeText()`, so pasting into Slack, editors, etc. included hundreds of trailing spaces. ## Solution Adds a `term:trimtrailingwhitespace` setting (default `true`) that strips trailing whitespace from each line before writing to the clipboard. Applied to all three copy paths: - copy-on-select (`termwrap.ts`) - `Ctrl+Shift+C` (`term-model.ts`) - right-click Copy context menu (`term-model.ts`) OSC 52 is intentionally excluded — that path copies program-provided text, not grid content. The trim itself uses the same per-line `trimEnd()` approach already present in `bufferLinesToText` via `translateToString(true)`. Setting to `false` restores the previous behaviour. ## Files changed - `pkg/wconfig/settingsconfig.go` — new `TermTrimTrailingWhitespace *bool` field - `pkg/wconfig/defaultconfig/settings.json` — default `true` - `frontend/app/view/term/termutil.ts` — `trimTerminalSelection` helper - `frontend/app/view/term/termwrap.ts` — copy-on-select path - `frontend/app/view/term/term-model.ts` — Ctrl+Shift+C and right-click paths - Generated: `pkg/wconfig/metaconsts.go`, `frontend/types/gotypes.d.ts`, `schema/settings.json` 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 17:24:39 +00:00
"term:trimtrailingwhitespace": true,
"term:durable": false,
"waveai:showcloudmodes": true,
"waveai:defaultmode": "waveai@balanced",
"preview:defaultsort": "name"
2024-08-28 01:49:49 +00:00
}