microsoft / terminal

The new Windows Terminal and the original Windows console host, all in the same place!
MIT License
95.97k stars 8.35k forks source link

colorScheme does not work #8443

Closed agarwalvaibhav0211 closed 4 years ago

agarwalvaibhav0211 commented 4 years ago

Environment

Windows build number: Microsoft Windows [Version 10.0.19042.630]
Windows Terminal version (if applicable):1.3.2651.0

Any other software?

Steps to reproduce

I have my settings.json file as follows:

// This file was initially generated by Windows Terminal 1.3.2651.0
// It should still be usable in newer versions, but newer versions might have additional
// settings, help text, or changes that you will not see unless you clear this file
// and let us generate a new one for you.

// To view the default settings, hold "alt" while clicking on the "Settings" button.
// For documentation on these settings, see: https://aka.ms/terminal-documentation
{
    "$schema": "https://aka.ms/terminal-profiles-schema",

    "defaultProfile": "{2c4de342-38b7-51cf-b940-2309a097f518}",

    // You can add more global application settings here.
    // To learn more about global settings, visit https://aka.ms/terminal-global-settings

    // If enabled, selections are automatically copied to your clipboard.
    "copyOnSelect": false,

    // If enabled, formatted data is also copied to your clipboard
    "copyFormatting": false,

    // A profile specifies a command to execute paired with information about how it should look and feel.
    // Each one of them will appear in the 'New Tab' dropdown,
    //   and can be invoked from the commandline with `wt.exe -p xxx`
    // To learn more about profiles, visit https://aka.ms/terminal-profile-settings
    "profiles":
    {
        "defaults":
        {
            // Put settings here that you want to apply to all profiles.
            "suppressApplicationTitle": true,
            "fontSize": 14,
            "startingDirectory": ".",
            "useAcrylic": true,
            "acrylicOpacity": 0.5,
            "backgroundImage": "C:\\Users\\Vaibhav\\Pictures\\Terminal\\2.jpg",
            "backgroundImageOpacity": 0.4,
            "colorScheme": "Campbell",
        },
        "list":
        [
            {
                // Make changes here to the powershell.exe profile.
                "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
                "name": "Windows PowerShell",
                "commandline": "powershell.exe",
                "hidden": false
            },
            {
                // Make changes here to the cmd.exe profile.
                "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
                "name": "Command Prompt",
                "commandline": "cmd.exe",
                "hidden": false
            },
            {
                "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",
                "hidden": false,
                "name": "Ubuntu",
                "source": "Windows.Terminal.Wsl"
            },
            {
                "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
                "hidden": false,
                "name": "Azure Cloud Shell",
                "source": "Windows.Terminal.Azure"
            }
        ]
    },

    // Add custom color schemes to this array.
    // To learn more about color schemes, visit https://aka.ms/terminal-color-schemes
    "schemes": [
        {
            "name" : "Campbell",

            "cursorColor": "#FFFFFF",
            "selectionBackground": "#FFFFFF",

            "background" : "#0C0C0C",
            "foreground" : "#CCCCCC",

            "black" : "#0C0C0C",
            "blue" : "#0037DA",
            "cyan" : "#3A96DD",
            "green" : "#13A10E",
            "purple" : "#881798",
            "red" : "#C50F1F",
            "white" : "#fc1100",
            "yellow" : "#C19C00",
            "brightBlack" : "#767676",
            "brightBlue" : "#3B78FF",
            "brightCyan" : "#61D6D6",
            "brightGreen" : "#16C60C",
            "brightPurple" : "#B4009E",
            "brightRed" : "#E74856",
            "brightWhite" : "#F2F2F2",
            "brightYellow" : "#F9F1A5"
        }
    ],

    // Add custom actions and keybindings to this array.
    // To unbind a key combination from your defaults.json, set the command to "unbound".
    // To learn more about actions and keybindings, visit https://aka.ms/terminal-keybindings
    "actions":
    [
        // Copy and paste are bound to Ctrl+Shift+C and Ctrl+Shift+V in your defaults.json.
        // These two lines additionally bind them to Ctrl+C and Ctrl+V.
        // To learn more about selection, visit https://aka.ms/terminal-selection
        { "command": {"action": "copy", "singleLine": false }, "keys": "ctrl+c" },
        { "command": "paste", "keys": "ctrl+v" },

        // Press Ctrl+Shift+F to open the search box
        { "command": "find", "keys": "ctrl+shift+f" },

        // Press Alt+Shift+D to open a new pane.
        // - "split": "auto" makes this pane open in the direction that provides the most surface area.
        // - "splitMode": "duplicate" makes the new pane use the focused pane's profile.
        // To learn more about panes, visit https://aka.ms/terminal-panes
        { "command": { "action": "splitPane", "split": "auto", "splitMode": "duplicate" }, "keys": "alt+shift+d" }
    ]
}

Expected behavior

I expect the text color to change in the terminal.

Actual behavior

All Text is displayed as white. Screenshot 2020-11-30 225304

I have already tried #2883 and all issues referenced on #3012

zadjii-msft commented 4 years ago

@agarwalvaibhav0211 Could you try running the following?

printf "\e[31mA\e[42mB\e[33;44mC\e[95mD\e[m\n"

It should look something like: image

agarwalvaibhav0211 commented 4 years ago

This is the output: image

zadjii-msft commented 4 years ago

Okay, then it looks like the color scheme is actually working just fine. I'd bet your .bashrc isn't configured to enable a colored prompt. I forget what exactly turns on the colors, but it's somewhere in this block: image

IIRC setting force_color_prompt=yes (and restarting bash) will turn the colors on.

agarwalvaibhav0211 commented 4 years ago

I uncommentedforce_color_prompt=yes and restarted lxssmanager and restarted the terminal, still no effect. Even in powershell and command prompt in windows terminal, there is no color

agarwalvaibhav0211 commented 4 years ago

on running . .bashrc the colors load up. But on restarting windows terminal I lose it. How can I make it so that the colors are there on startup. I don't know how this happened but till a week back bashrc was executing

zadjii-msft commented 4 years ago

Well that's unexpected, especially considering the color is working, you're just missing some piece of config for the shell that'll enable it.

Are you running something like screen, tmux, ssh?

cmd.exe doesn't have any color by default, but does executing the following turn some color on?

set PROMPT=$e[31m$p$g$e[m

image

Is PsReadline enabled in powershell? Because that's what's responsible for colorizing the prompt: image

image

agarwalvaibhav0211 commented 4 years ago

Ok, solved the issue. There was a ~/.bash_profile file. It was interfering with the execution of ~/.profile and consequently ~/.bashrc. I removed the file and now its working. I can see the colors on cmd and powershell using the above steps. Thanks for the help.