material-theme / vsc-material-theme

Material Theme, the most epic theme for Visual Studio Code
https://www.material-theme.dev
Other
11.21k stars 788 forks source link

What is the purpose of user.material-theme.config.json #1263

Closed jdheyburn closed 1 year ago

jdheyburn commented 1 year ago

I'm using Nix to manage my VSCode settings and extensions. I'm installing this extension on app startup I'm greeted with an error message about user.material-theme.config.json unable to be written to the extension location because it is RO - this is expected for Nix.

image

I was trying to understand what actually need to be written to this file, and why can't it b to the VSCode settings.json instead?

I can build the file myself when the extension is built, but having an idea of what configs are set there is helpful :)

Thanks!

open-collective-bot[bot] commented 1 year ago

Hey @jdheyburn :wave:,

Thank you for opening an issue. We will get back to you as soon as we can. Have you seen our Open Collective page? Please consider contributing financially to our project. This will help us involve more contributors and get to issues like yours faster.

https://opencollective.com/material-theme

We offer priority support for all financial contributors. Don't forget to add priority label once you become one! :smile:

equinusocio commented 1 year ago

@LasaleFamine I don't remember why we generate that file.

LasaleFamine commented 1 year ago

The user config file it is used for changelog update checks. The content is the same of the material-theme.config.json apart from 1 key, which is the changelog one that is updated (if needed) on every init. So I think that the file should be editable at least anyway. This is an example of user.material-theme.config.json with the changelog addition:

{
  "accents": {
    "Acid Lime": "#C6FF00",
    "Blue": "#2979FF",
    "Breaking Bad": "#388E3C",
    "Bright Teal": "#64FFDA",
    "Cyan": "#00BCD4",
    "Graphite": "#616161",
    "Indigo": "#5C6BC0",
    "Lime": "#7CB342",
    "Orange": "#FF7042",
    "Pink": "#FF4081",
    "Purple": "#AB47BC",
    "Red": "#E57373",
    "Sky": "#84FFFF",
    "Tomato": "#F44336",
    "Teal": "#80CBC4",
    "Yellow": "#FFA000"
  },
  "accentsProperties": {
    "activityBarBadge.background": {
      "alpha": 100,
      "value": null
    },
    "activityBar.activeBorder": {
      "alpha": 100,
      "value": null
    },
    "list.activeSelectionForeground": {
      "alpha": 100,
      "value": null
    },
    "list.inactiveSelectionForeground": {
      "alpha": 100,
      "value": null
    },
    "list.highlightForeground": {
      "alpha": 100,
      "value": null
    },
    "scrollbarSlider.activeBackground": {
      "alpha": 50,
      "value": null
    },
    "editorSuggestWidget.highlightForeground": {
      "alpha": 100,
      "value": null
    },
    "textLink.foreground": {
      "alpha": 100,
      "value": null
    },
    "progressBar.background": {
      "alpha": 100,
      "value": null
    },
    "pickerGroup.foreground": {
      "alpha": 100,
      "value": null
    },
    "tab.activeBorder": {
      "alpha": 100,
      "value": null
    },
    "notificationLink.foreground": {
      "alpha": 100,
      "value": null
    },
    "editorWidget.resizeBorder": {
      "alpha": 100,
      "value": null
    },
    "editorWidget.border": {
      "alpha": 100,
      "value": null
    },
    "settings.modifiedItemIndicator": {
      "alpha": 100,
      "value": null
    },
    "settings.headerForeground": {
      "alpha": 100,
      "value": null
    },
    "panelTitle.activeBorder": {
      "alpha": 100,
      "value": null
    },
    "breadcrumb.activeSelectionForeground": {
      "alpha": 100,
      "value": null
    },
    "menu.selectionForeground": {
      "alpha": 100,
      "value": null
    },
    "menubar.selectionForeground": {
      "alpha": 100,
      "value": null
    },
    "editor.findMatchBorder": {
      "alpha": 100,
      "value": null
    },
    "selection.background": {
      "alpha": 40,
      "value": null
    },
    "statusBarItem.remoteBackground": {
      "alpha": 100,
      "value": null
    }
  },
+ "changelog": {
+   "lastversion": "33.8.0"
+ }
}
dudeofawesome commented 10 months ago

@jdheyburn Did you end up finding a workaround to this?

jdheyburn commented 10 months ago

@dudeofawesome I didn't sadly, I stopped using this theme in favour of another that didn't need a runtime config written.

dudeofawesome commented 10 months ago

That's too bad.