Summary
Allow users to configure custom default color schemes that are automatically applied to new terminal/PowerShell instances spawned inside wmux.
Today, newly spawned shells fall back to whatever the host terminal profile provides, which makes it hard to:
- Maintain a consistent look across panes and sessions
- Match wmux visuals (e.g. the browser panel theme) with the shell color palette
- Differentiate roles of panes (e.g. a red-tinted prod shell vs. a green dev shell) at a glance
Proposed behavior
- Provide a configurable theme/palette applied as the default for any new terminal or PowerShell instance created by wmux.
- Support at minimum:
- Foreground / background colors
- ANSI 16-color palette (normal + bright)
- Optional cursor color
- Allow configuration via a config file (e.g.
~/.wmux/config.toml or equivalent) and/or a CLI flag when spawning a pane.
- Ship a small set of built-in presets (e.g.
dark, light, solarized, dracula) that users can select by name.
- Allow per-pane overrides so a specific shell can opt into a different scheme without changing the global default.
Example (illustrative)
[terminal.colors]
default = "dracula"
[terminal.colors.schemes.prod]
background = "#2b0b0b"
foreground = "#ffdddd"
cursor = "#ff5555"
wmux pane new --shell pwsh --color-scheme prod
Motivation / use cases
- Visual consistency between wmux UI and shells
- Quickly distinguishing environments (dev / staging / prod) by color
- Accessibility: users who need higher contrast or specific palettes shouldn't have to reconfigure every spawned shell manually
Alternatives considered
- Configuring color schemes at the OS terminal level (Windows Terminal profile, etc.) — works, but doesn't let wmux differentiate panes or apply per-session overrides.
- Running
Set-PSReadLineOption / ANSI escape scripts in each new shell — brittle, requires shell-specific setup.
Happy to help refine the config shape or contribute a PR if the direction is welcome.
Summary
Allow users to configure custom default color schemes that are automatically applied to new terminal/PowerShell instances spawned inside wmux.
Today, newly spawned shells fall back to whatever the host terminal profile provides, which makes it hard to:
Proposed behavior
~/.wmux/config.tomlor equivalent) and/or a CLI flag when spawning a pane.dark,light,solarized,dracula) that users can select by name.Example (illustrative)
Motivation / use cases
Alternatives considered
Set-PSReadLineOption/ ANSI escape scripts in each new shell — brittle, requires shell-specific setup.Happy to help refine the config shape or contribute a PR if the direction is welcome.