windows json

Windows Terminal Rainbow Tabs

Auto-open eight color-coded Windows Terminal tabs on launch, one per project, arranged as a ROYGBIV rainbow with matching tab and terminal-background colors.

Windows Terminal’s startupActions opens a fixed set of tabs every time the window launches, each pointing at a named profile. Pairing that with a per-profile tabColor and a custom colorScheme gives every project its own color, laid out as a rainbow across the tab bar. Each tab is split into two panes with split-pane --vertical.

The config lives at C:\Users\<user>\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json.

The startupActions string drives the launch sequence:

"startupActions": "new-tab -p \"Content Server\"; split-pane --vertical -p \"Content Server\"; new-tab -p \"trevorbennett.us\"; split-pane --vertical -p \"trevorbennett.us\"; new-tab -p \"Misc WSL\"; split-pane --vertical -p \"Misc WSL\"; new-tab -p \"Automation\"; split-pane --vertical -p \"Automation\"; new-tab -p \"Help AI-DLC\"; split-pane --vertical -p \"Help AI-DLC\"; new-tab -p \"Claude experiment\"; split-pane --vertical -p \"Claude experiment\"; new-tab -p \"Auto Agentic\"; split-pane --vertical -p \"Auto Agentic\"; new-tab -p \"General / non-WSL\"; split-pane --vertical -p \"General / non-WSL\""

Each profile sets its tab color, color scheme, and how it opens. WSL tabs launch straight into a project directory:

{
    "name": "trevorbennett.us",
    "commandline": "wsl.exe -d Ubuntu --cd ~/projects/trevorbennett.us",
    "tabColor": "#FF7F00",
    "colorScheme": "Vermillion Scheme",
    "suppressApplicationTitle": true,
    "hidden": false
}

A matching scheme darkens the terminal background to the same hue so the whole pane reads as that color:

{
    "name": "Vermillion Scheme",
    "background": "#5A2E00",
    "foreground": "#F5F5F5",
    "cursorColor": "#FFFFFF",
    "selectionBackground": "#FFFFFF"
}

The eight tabs run red → orange → yellow → green → blue → indigo → violet → white. Windows Terminal reloads settings.json on save, but already-open panes keep their old colors — close and reopen the window to relaunch the full set. A syntax error in settings.json makes Windows Terminal silently fall back to defaults, so validate the JSON before relaunching.