neilpa/cmd-colors-solarized

Importing registry does not work for me.

praveenpuglia opened this issue ยท 20 comments

I have tried adding the reg file as mentioned in the installation process. I dont see any changes in PowerShell or CommandPrompt after that.

Tried - Solarized Dark

I also try these reg files but it doesn't work for me. i use windows 8.1.

I'm using Windows 8.1 too. If I ran the command from the command prompt then it didn't work - I assume a permissions error. However if you just try double-clicking on the reg file it should work.

I followed these steps on Windows 8.1 and they worked great.
http://intenseagile.com/2014/12/21/solarized-powershell-terminal.html

Double-clicking it was successful. Thanks, @ianchanning!

Importing the reg file on Windows 10 doesn't seem to do anything for me. Does anyone have any suggestions on how to get this working? I'm coming from Mac/Linux so I am a noobie with this reg file stuff.

I'm guessing the registry keypaths for the console changed on Win10. I rarely use windows anymore so I can't say for sure.

There are probably some clues in this post if someone wants to poke around

https://blogs.windows.com/buildingapps/2014/10/07/console-improvements-in-the-windows-10-technical-preview/

This works on Windows 10 for me. If you have shortcuts to CMD they will store the old color values. If you install the Solarized registry settings and then go Start > Run > cmd - you will see the updated colors. Shortcut for Run is [win key]+[R] if you don't run Classic Shell.

Where regedit /s solarized-dark.reg did nothing for me on Windows 10 (cmd), simply double-clicking the .reg file did change the colours in the registry. When using cmd, however, the background colour is properly set, but only a constant grey is used for all other text. Non of the other colours get used.

@Forage is right. I am on Windows 10 and have exactly the same behavior.

Double-clicking on the registry file on Windows 10 also did the trick for me. As far as the other colors are concerned, this registry only provides the color mapping, and does not actually change the command shell to add colors. You have to use other methods to get that. For instance, I've attached my current session. On the left is my bash instance (using WSL) where I've setup colors for my prompt and 'ls' command output. On the right is the standard command shell, with just plain text. This is simply a limitation of the shell. However, any console commands that have color in their output should be "solarized".

solarizedcolorcmd

In other words: there is no point in importing the reg file as long as no additional information is provided on how to actually use it and explaining the limitations. Now people try it and give up because nothing appears to happen anyway.

@Forage Were you hoping for regular cmd commands like dir to use the solarized colours as well? If so, perhaps the author could include a note in the readme.md saying that this doesn't happen - maybe even link in troycurtisjr's screenshot which illustrates the expected change very nicely.

@IGTHORN Exactly.

What you're asking for is a never-ending laundry list of compatibility issues that I don't have time to debug or support. It gets even more complex when alternative prompts/terminals, cygwin, msysgit, shortcuts, 32-bit vs 64-bit registry compatibility shims, terminal UIs like vim, etc are all added into the picture. Each one of those combines in different ways that can incorrectly map colors across the layers.

Furthermore, unix and windows use fundamentally different terminal code mappings for colors
http://misc.flogisoft.com/bash/tip_colors_and_formatting
https://ss64.com/nt/color.html

Maybe I'll just add a blanket warning to the effect of if you don't know what you're doing when it comes to the registry, cmd.exe, shortcuts and unix compat then this likely won't work for you.

I think you are making it more complex than it needs to be. All I'm asking is a explanation of what is supposed to work now after you import the settings. What is the expected result?
Now the only thing you say is "scheme for the Windows command prompt". So the only thing I expect is that it will work for cmd. Not PowerShell, not cygwin, just cmd. But as it appears, this is the only terminal in which it does not do anything.

All I'm asking is a explanation of what is supposed to work now after you import the settings. What is the expected result?

It's just not that simple and providing a sufficiently complete answer would take a lot of effort that I'm not willing (or able) to do anymore. Even trying to dissect the ls vs dir example above gets into a lot of nuance of how the various systems interact, especially with the introduction of the embedded linux subsystem. Suffice it to say, both of those pics are expected, but to someone less familiar with how things work, the dir example seems broken.

What you need to do is create a new shortcut to /system32/bash.exe. Else the setting won't take effect. At least for Bash @ Win.