You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Feature: custom default color schemes for terminal/PowerShell instances #4
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.
Hi @Xilous — shipped in v0.7.1. Thanks for the well-scoped request, the example config was basically the API I ended up building.
What's in the release
12 bundled presets (Ghostty .theme format under resources/themes/):
Dracula, Solarized Dark/Light, Nord, Gruvbox Dark, One Dark, Tokyo Night, Catppuccin Mocha, GitHub Light, Monokai — plus Prod Red, Staging Amber, Dev Green as ready-made environment tints for the exact dev/staging/prod use case you described.
Full ANSI 16-color palette + FG/BG + cursor + selection colors, matching your minimum bar.
Global default — Settings > Terminal > Default scheme (dropdown auto-populated from bundled themes + any user-defined schemes).
Per-pane overrides via CLI:
wmux split --down --color-scheme <
C53F
span class="pl-pds">"Prod Red"
wmux pane new --color-scheme "Dev Green"
wmux new-surface --shell pwsh --color-scheme "Staging Amber"
wmux set-color-scheme "Prod Red"# retag the current pane mid-session
wmux clear-color-scheme # revert to global default
wmux list-themes # discover valid names
User-defined schemes — Settings > Terminal > Custom schemes. Partial overrides (you only specify background / foreground / cursor) layered on top of a bundled base theme. Addressable by name in --color-scheme, persisted with your settings.
Live reload — changing the default or editing a user scheme repaints every open terminal immediately. No restart, no PTY recreation.
How the config shape landed
I went with the same semantics as your TOML example, just expressed through the existing settings store + bundled theme files:
terminalPrefs.theme → your default = "dracula"
terminalPrefs.userColorSchemes → your [terminal.colors.schemes.prod] block (keyed by name, partial overrides)
--color-scheme <name> → your --color-scheme prod
Resolution priority: per-surface override → global default → Monokai fallback.
No standalone ~/.wmux/config.toml file yet — wmux persists settings through the existing store, so adding a TOML reader would just be a different path to the same state. Happy to add it if you'd prefer config-as-code over the settings UI; open a follow-up and we'll land it.
Install
Grab wmux-0.7.1-win-x64.zip from the release, extract, run wmux.exe. If Windows SmartScreen flags the zip after download: right-click the archive > Properties > Unblock before extracting.
Try wmux list-themes once it's running to see the available names, then wmux split --color-scheme "Prod Red" for the classic red-tinted prod pane. Feedback welcome.
wmux config path # print config file location
wmux config show # dump parsed config (useful to debug TOML syntax)
wmux config reload # re-read and live-apply to every open surface
wmux reload-config # shorthand
Precedence: built-in defaults → Settings UI → config.toml → per-pane overrides (--color-scheme). File wins at startup, app wins at runtime — edit in the UI without your dotfile clobbering your live tweaks, then wmux reload-config whenever you want the file to take over again.
The parser is hand-rolled (zero deps, to dodge the native-module traps this repo has), covered by 13 unit tests. wmux config show reports per-key parse errors without aborting the whole file, so a typo in one scheme doesn't nuke the rest of your config.
2. More bundled presets
Went from 12 → 29. Added: Ayu Dark / Mirage / Light, Cobalt 2, Material Dark, Monokai Pro, Palenight, Oceanic Next, Everforest Dark, Rose Pine, Kanagawa, Horizon, SynthWave 84, Zenburn, GitHub Dark, Night Owl, Nightfly.
All work as default = "..." in TOML, as --color-scheme "..." on the CLI, and in the Settings UI dropdown. wmux list-themes prints the current list.
Install: grab wmux-0.7.2-win-x64.zip from the release page, right-click → Properties → Unblock, extract, run.
If you want a specific extra theme or a config key I didn't ship, reopen or drop a comment — easy to add. 🚀
Activity
amirlehmam commentedon Apr 18, 2026
Hi @Xilous — shipped in v0.7.1. Thanks for the well-scoped request, the example config was basically the API I ended up building.
What's in the release
12 bundled presets (Ghostty
.themeformat underresources/themes/):Dracula, Solarized Dark/Light, Nord, Gruvbox Dark, One Dark, Tokyo Night, Catppuccin Mocha, GitHub Light, Monokai — plus Prod Red, Staging Amber, Dev Green as ready-made environment tints for the exact dev/staging/prod use case you described.
Full ANSI 16-color palette + FG/BG + cursor + selection colors, matching your minimum bar.
Global default — Settings > Terminal > Default scheme (dropdown auto-populated from bundled themes + any user-defined schemes).
Per-pane overrides via CLI:
User-defined schemes — Settings > Terminal > Custom schemes. Partial overrides (you only specify
background/foreground/cursor) layered on top of a bundled base theme. Addressable by name in--color-scheme, persisted with your settings.Live reload — changing the default or editing a user scheme repaints every open terminal immediately. No restart, no PTY recreation.
How the config shape landed
I went with the same semantics as your TOML example, just expressed through the existing settings store + bundled theme files:
terminalPrefs.theme→ yourdefault = "dracula"terminalPrefs.userColorSchemes→ your[terminal.colors.schemes.prod]block (keyed by name, partial overrides)--color-scheme <name>→ your--color-scheme prodResolution priority: per-surface override → global default → Monokai fallback.
No standalone
~/.wmux/config.tomlfile yet — wmux persists settings through the existing store, so adding a TOML reader would just be a different path to the same state. Happy to add it if you'd prefer config-as-code over the settings UI; open a follow-up and we'll land it.Install
Grab
wmux-0.7.1-win-x64.zipfrom the release, extract, runwmux.exe. If Windows SmartScreen flags the zip after download: right-click the archive > Properties > Unblock before extracting.Try
wmux list-themesonce it's running to see the available names, thenwmux split --color-scheme "Prod Red"for the classic red-tinted prod pane. Feedback welcome.feat(config): add ~/.wmux/config.toml reader + 17 bundled themes
amirlehmam commentedon Apr 18, 2026
Follow-up — shipped the two things I left as "possible next steps" in the previous comment. 🎯
v0.7.2 (release, docs):
1.
~/.wmux/config.tomlreaderYour exact example from the issue now works verbatim:
Plus a fuller surface for the rest of
TerminalPrefs:New CLI:
Precedence: built-in defaults → Settings UI →
config.toml→ per-pane overrides (--color-scheme). File wins at startup, app wins at runtime — edit in the UI without your dotfile clobbering your live tweaks, thenwmux reload-configwhenever you want the file to take over again.The parser is hand-rolled (zero deps, to dodge the native-module traps this repo has), covered by 13 unit tests.
wmux config showreports per-key parse errors without aborting the whole file, so a typo in one scheme doesn't nuke the rest of your config.2. More bundled presets
Went from 12 → 29. Added: Ayu Dark / Mirage / Light, Cobalt 2, Material Dark, Monokai Pro, Palenight, Oceanic Next, Everforest Dark, Rose Pine, Kanagawa, Horizon, SynthWave 84, Zenburn, GitHub Dark, Night Owl, Nightfly.
All work as
default = "..."in TOML, as--color-scheme "..."on the CLI, and in the Settings UI dropdown.wmux list-themesprints the current list.Install: grab
wmux-0.7.2-win-x64.zipfrom the release page, right-click → Properties → Unblock, extract, run.If you want a specific extra theme or a config key I didn't ship, reopen or drop a comment — easy to add. 🚀
feat: address issue #32 (notification sounds, single-instance CLI, qu…
Merge PR #182: fix(sidebar): render the PR icon, and let a stale PR b…