Hmm - interesting! So is the idea to have three layers?
-
Layer 1 (Settings) that overrides
-
Layer 2 (Themes), that then overrides
-
Layer 3 (Editor styles).
I think that could work. It’s more complex in some ways — as you add an extra layer. However, users would be able to pick their level.
Some quick thoughts:
I think the way overrides work, and where things need to be specified, would need to be thought through…
In the Settings menu, I think I’d like to see a button that says something like Follow theme
next to each appearance option. And that this greys out the option — to make it very clear. (The best thing would be if it could get the value from the theme, and set it, whilst still being greyed out.)
In other words, being able to specify some parameters where you “skip” Layer 1 and go straight to Layer 2.
(BTW, if you’re planning on having something similar to the old choice of background and text colour, I’d like to see four squares: Separate pairs for light mode and dark mode.)
However, there’s a similar question when it comes to Themes and Editor Styles.
Let’s take the thing I want to make as an example — which is probably something in-between a theme and an editor style. (Here’s a link to my first try. I haven’t gotten around to rebuilding in, though.)
The way I did it there (as was the style at the time) is that the main file, let’s call it havn_editor_style.file
, had both “editor style stuff” and “theme stuff” mixed together. But how should this work in a world were themes are a thing as well?
Potential solution #1** solution could be to force the things covered by themes out of editor styles.** This would be similar to having the CSS be separate from the HTML on a website. Now I would have to move some things out of havn_editor_style.file
, and work on them in havn_theme.file
It could be a bit annoying, of course, not being able to quickly specify a colour within the editor style file. So perhaps forcing is the wrong choice (and encouraging is a better idea). But it would clean up one part of the confusion between the three different layers…
Best of both worlds here could be if you were able to build something that could extract havn_theme.file
out of havn_editor_style.file
without me having to faff around with it myself.
There would also need to be a way for users to just install one thing (the editor style) and get both at once.
Potential solution #2 is that I keep the theming in havn_editor_style.file
, and then have an option to “set the theme to” Follow editor style
. (This option would obviously default to the default for values the editor style might not have specified.) In a similar way as before, we’re here specifying that we want to “skip” Layer 2, and go straight to Layer 3. As I really think there should be an option of skipping layer 1 anyway — this could be the preferred solution. (As you’d re-use the same logic.)
And this would become even nicer if you complete the idea of having a GUI for themes:
-
You’d have two layers of appearance settings in the GUI:
-
The totally basic stuff, that’s in the settings today,
-
The option of picking a theme, and a button to go into the larger GUI with all the options governed by themes.
-
-
Installing a theme will simply set a bunch of parameters in the more advanced settings.
-
These would then be possible to change in the GUI (so you could make small adjustments to a theme) — whilst also having a button to return to the theme default.
-
And here each parameter could have a
Follow editor style
option, similar to the Follow theme one.
-
-
You should also be able to set the theme itself to
Follow editor style
, which would turn on that option for all the parameters.
OK, that’s “all” I have for now…