feat: import Windows Terminal profiles into New Session dialog#12
Merged
Conversation
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…nalProfiles setting Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…tions Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ly profile overrides
Adds ProfilesTests with two cases: combobox absent when ImportWindowsTerminalProfiles is off (default), and the settings checkbox itself is present in the Settings window. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ument in BuiltInTerminalSchemes
…ve AppSettings The MainWindow settings-save block copies each edited field back to _vm.Settings before SaveStateAsync. ImportWindowsTerminalProfiles was missing from that block, so the toggle reverted on every dialog reopen. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Restore loop now launches live sessions in saved order first, then appends dormant entries — matches the invariant SleepSession and RebuildSidebarOrder enforce at runtime. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…line Profiles store paths like %SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe. Win32 CreateProcess does not expand %VAR% references, so the unexpanded path failed with ERROR_FILE_NOT_FOUND. Mirrors the existing expansion of startingDirectory. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #6. Adds an opt-in setting that lets the New Session dialog read the user's Windows Terminal
settings.jsonand offer each profile as a one-click starting point. Picking a profile pre-fills folder/command/name and stamps per-session appearance overrides — color scheme, font (family/size/weight/ligatures), cursor (shape/blink), padding, transparency, and a best-effort retro CRT overlay — onto the newShellSession. The app chrome (sidebar, toolbar, accent stripe) keeps Catppuccin; only the inner xterm pane is restyled.WindowsTerminalProfileServiceprobes Stable / Preview / Unpackaged install paths, flattensprofiles.defaults, filters hidden profiles, resolves color schemes (withBuiltInTerminalSchemesfallback for Campbell / Vintage / One Half / Solarized / Tango).ShellSessionare persisted tostate.jsonso a profile-stamped session keeps its look across restarts and stays stable even if the source profile is later edited or deleted.terminal-transparent.html(xterm needsallowTransparencyset in the constructor); both HTML entry points shareterminal-init.js. Acrylic blur is not reachable from WebView2 — we get flat alpha over the WPF chrome instead. Retro effect is a CSS scanlines overlay, not a WebGL CRT shader.Test plan
dotnet test tests/CodeShellManager.Tests/)dotnet build src/CodeShellManager/CodeShellManager.csproj)opacity < 1.0→ terminal pane is transparent over the WPF chrome (verifies theNavigationStartingguard fix in d47c744)🤖 Generated with Claude Code