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

Allow workspace theming at user-level, instead of workspace level (Kind of like `remote.SSH.remotePlatform`)

Open strazto opened this issue 2 years ago • 4 comments

Is your feature request related to a problem? Please describe. I really like peacock for theming workspaces so I can tell my VSCode instances apart, but I don't necessarily want to check peacock theming into workspace settings.

I'd like an option to configure peacock profiles at the user level, and configure which workspaces should use those.

Describe the solution you'd like

I think a good way to do this might resemble `remote.SSH.remotePlatform", ie:

    "remote.SSH.remotePlatform": {
        "windows": "windows",
        "server": "linux",
        "work": "linux",
        "work-externeal": "linux"
    },

By the above config, the remote SSH extension configures the platform for each of its hosts. An equivalent in peacock might be something like:

{
    "peacock.workspaces.profiles": {
        "workspace-1-path-or-name?": "theme1",
        "workspace-2-path-or-name": "theme2",
       // etc
    }
    "peacock.profiles" : {
      "theme1": {
        "activityBar.activeBackground": "#0057b3",
        "activityBar.activeBorder": "#ff409d",
        "activityBar.background": "#0057b3",
        "activityBar.foreground": "#e7e7e7",
        "activityBar.inactiveForeground": "#e7e7e799",
        "activityBarBadge.background": "#ff409d",
        "activityBarBadge.foreground": "#15202b",
        "sash.hoverBorder": "#0057b3",
        "statusBar.background": "#003e80",
        "statusBar.foreground": "#e7e7e7",
        "statusBarItem.hoverBackground": "#0057b3",
        "statusBarItem.remoteBackground": "#003e80",
        "statusBarItem.remoteForeground": "#e7e7e7",
        "titleBar.activeBackground": "#003e80",
        "titleBar.activeForeground": "#e7e7e7",
        "titleBar.inactiveBackground": "#003e8099",
        "titleBar.inactiveForeground": "#e7e7e799"
    },
}  

Describe alternatives you've considered

  • Possibly using something like .peacockrc could work, as that can be ignored / not checked in separately to settings

I'm not sure about the best way to specify a workspace, there are a few options for pattern matching.

Maybe follow some precedence based on explictness, eg,

  1. look for peacockrc,
  2. look for workspace setting peacock.name
  3. match on folder base name
  4. idk

strazto avatar Jun 22 '22 04:06 strazto

Thank you @matthewstrasiotto for creating this issue!

johnpapa avatar Jun 22 '22 04:06 johnpapa

This would be fantastic and a huge upgrade to this extension. I'd love to use Peacock but the fact that it writes to my workspace .vscode/settings.json is just too much hassle. Most of my projects have that file already included in the git repo. So, I can't ignore the changes with .gitignore and have to manually ignore and filter out the Peacock settings.

tbenthompson avatar Aug 11 '22 13:08 tbenthompson

This seems like a duplicate of https://github.com/johnpapa/vscode-peacock/issues/7

tbenthompson avatar Aug 11 '22 13:08 tbenthompson

+1 to @tbenthompson - this looks like a duplicate of https://github.com/johnpapa/vscode-peacock/issues/7

jadnhm avatar Feb 01 '24 19:02 jadnhm