vscode-peacock icon indicating copy to clipboard operation
vscode-peacock copied to clipboard

[Feature] Allow Custom Secondary Color

Open presto2116 opened this issue 5 years ago • 6 comments

Is your feature request related to a problem? Please describe.

When setting up a new project i use the projects primary color and set it to peacock.color and then peacock does its magic and creates a new workbench.colorCustomizations object. This is great, but sometimes I want to tweak secondary colors to better match my projects brand. I can go into .vscode/settings.json and change them to suit my needs. The issue is next time I open the project. Peacock overrides my workbench.colorCustomizations object. I am not sure if there is a way to prevent "workbench.colorCustomizations" changes from being overridden every time or a peacock override object that we can use to fine tune the color scheme.. I see you can set lighten/darken overrides, but cant change the color values

Describe the solution you'd like One solution could be add a

"peakcock.customizationOverides": {
   "activityBar.background": "#aeebdf"
}

Then when peacock grabs my peacock.color and sets up the workbench colors it would pull in the overrides instead of creating an entirely new Color Cusomizations object deleting the tweaks I previously made.

Thanks again for a great extension!

presto2116 avatar Jan 29 '20 14:01 presto2116

Thank you @presto2116 for creating this issue!

johnpapa avatar Jan 29 '20 14:01 johnpapa

thanks for the issue. I see your point here. Peacock does change those colors, so really by using Peacock you are opting into letting Peacock adjust them for you.

The darker and lighter features do let you adjust a little (have you tired those?)

But ... if you really wanted to adjust something that Peacock handles, then it would be overwritten (as you mentioned). So ... it may be worth exploring an option where you tell Peacock to stop doing its thing.

This may have a lot of consequences ... so it's not something we should do lightly. But I am open o hearing more about this and seeing if the community can help offer some suggestions and insight in discussion here.

johnpapa avatar Feb 08 '20 06:02 johnpapa

An example I am thinking of is if I have given peacock a color and it does its thing and styles my project accordingly, I may not like the secondary color it uses for the activityBarBadge.background Lightening/darkening will never change the color of these items.

I agree with you on the consequences of adding this feature. you probably can think of more than I can, but first that comes to mind is on randomization/changing peacock color, these customizationOverides would stay in place and have negative consequences.

My current solution is run peacock. adjust my .vscode/settings.json and then disabling peacock on that project (if I have custom styling). it works. and may be to easiest solution.

presto2116 avatar Feb 11 '20 15:02 presto2116

one option could be to allow setting the secondary color yourself.

this may cause a11y issues, but if you do it then it is your call, ya know? so maybe that's an option for a future feature. would that cut it? not saying I can take it on right now, but is this on the right track?

johnpapa avatar Mar 28 '20 02:03 johnpapa

Thanks very much, @johnpapa, for the terrific extension!

I've noticed this behavior, too—I want to change …

"activityBar.activeBorder": "#ff80fb",

… to some other color, since I'm just not a huge fan of pink. But, as noted above, this customization will be reversed. Would be great to be able to make this change and keep it.

imbwaldo avatar Sep 21 '21 22:09 imbwaldo

My current solution is run peacock. adjust my .vscode/settings.json and then disabling peacock on that project (if I have custom styling). it works. and may be to easiest solution. -- @presto2116

Thinking on this some more lately ... I have yet to find a good way to implement this in code. Perhaps there could be a command to disable Peacock for a specific project in a custom setting like "freeze colors" that is applied locally. This could tell Peacock to not do its thing. Lots of challenges with this , but i'll keep thinking.

Again - i'm open to suggestions and PRs too.

johnpapa avatar Mar 11 '22 19:03 johnpapa