Skip to content

Instantly share code, notes, and snippets.

@UpcraftLP
Last active October 6, 2024 16:43
Show Gist options
  • Save UpcraftLP/78220cee7f775c58f70cfbad2f6953eb to your computer and use it in GitHub Desktop.
Save UpcraftLP/78220cee7f775c58f70cfbad2f6953eb to your computer and use it in GitHub Desktop.
Up's custom Windows Terminal themes
Images (click to show)

image image

Installation Instructions

As a prerequisite, download and install PxPlus IBM VGA8 font. You can use any other font you like, but monospace fonts look best.

Then, add the below sections into your Windows Terminal settings.json file (click the settings gear icon in the dropdown to get to the settings page, then click the gear in the bottom left corner to open the json file).

  1. add the custom schemes:
    {
    // ...
    
      "schemes": [
        {
            "name": "Retro Green",
            "background": "#000000",
            "black": "#00FF00",
            "blue": "#00FF00",
            "brightBlack": "#00FF00",
            "brightBlue": "#00FF00",
            "brightCyan": "#00FF00",
            "brightGreen": "#00FF00",
            "brightPurple": "#00FF00",
            "brightRed": "#00FF00",
            "brightWhite": "#00FF00",
            "brightYellow": "#00FF00",
            "cursorColor": "#FFFFFF",
            "cyan": "#00FF00",
            "foreground": "#00FF00",
            "green": "#00FF00",
            "purple": "#00FF00",
            "red": "#00FF00",
            "selectionBackground": "#5A5A5A",
            "white": "#00FF00",
            "yellow": "#00FF00"
        },
        {
            "name": "Retro Orange",
            "background": "#3F2C1B",
            "black": "#FF7300",
            "blue": "#FF7300",
            "brightBlack": "#FF7300",
            "brightBlue": "#FF7300",
            "brightCyan": "#FF7300",
            "brightGreen": "#FF7300",
            "brightPurple": "#FF7300",
            "brightRed": "#FF7300",
            "brightWhite": "#FF7300",
            "brightYellow": "#FF7300",
            "cursorColor": "#FFFFFF",
            "cyan": "#FF7300",
            "foreground": "#FF7300",
            "green": "#FF7300",
            "purple": "#FF7300",
            "red": "#FF7300",
            "selectionBackground": "#5A5A5A",
            "white": "#FF7300",
            "yellow": "#FF7300"
        },
        // other schemes go here
      ],
      
    // ...
    }

Note

If you want to remove the default profiles, you should hide them instead of removing them, because otherwise they might be recreated. Simply set "hidden": true on any profile that you wish to hide.

  1. Create custom profiles using those schemes:

    {
    // ...
    
    "profiles": {
      "list": [
        {
              "colorScheme": "Retro Green",
              "commandline": "%SystemRoot%\\System32\\cmd.exe",
              "cursorColor": "#00FF00",
              "cursorShape": "filledBox",
              "experimental.retroTerminalEffect": true,
              "font": 
              {
                  "face": "PxPlus IBM VGA8"
              },
              "guid": "{def4f3f8-78f7-4a76-983e-fa12e56dcd47}",
              "hidden": false,
              "name": "Command Prompt",
              "opacity": 75,
              "padding": "5",
              "startingDirectory": null,
              "useAcrylic": true
          },
          {
              "colorScheme": "Retro Orange",
              "cursorColor": "#FF7300",
              "cursorShape": "vintage",
              "experimental.retroTerminalEffect": true,
              "font": 
              {
                  "face": "PxPlus IBM VGA8"
              },
              "guid": "{05f51e3d-9dc4-44b5-96db-1f66dd2541d5}",
              "hidden": false,
              "name": "PowerShell",
              "opacity": 75,
              "padding": "5",
              "source": "Windows.Terminal.PowershellCore",
              "useAcrylic": true
          },
          // other profiles go here
      ]
      
      // ...
    }
  2. Set one of your custom profiles as default (Optional)

    {
    // ...
      
      // the GUID must match one of the profiles in the profiles list
      "defaultProfile": "{05f51e3d-9dc4-44b5-96db-1f66dd2541d5}",
      
    // ...
    }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment