Colorscheme options with the option to select flavor and accent #73
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
For schemes like catppuccin, there are multiple flavors and many accents. For other themes, similar options are available. Make the scheme options more dynamic so more options are available. This could be with or without materialyou (personally not a fan afaik).
Hey @zach
A number of changes were made in two commits:
Commit 1
Commit 2
In short:
schemepalletes.pyadjusted to scan assets/schemes/ directory for all .txt palettes.shell.py.shell.pyand presets inschemepalettes.My request would be to implement these in settingswindow. My concerns currently are:
automatic scheme modeis disabled, it still has the option to changescheme modeandscheme type. This can cause issues since that affects the preset color scheme. These options could be hidden whenautomatic scheme modeis disabled, optionally revealing the palette options instead.We can discuss these options. The implementation technically works fine by just running the
zshell-clicommand using--preset, but a settingswindow implementation would be a nice addition.Yeah I've been working on the UI in settings for this today. I needed to make a bunch of changes to hide/reveal options based on the value of other options, so it's taking me a while to do it. What's taking the longest is properly displaying the available options for each scheme.
My idea is to use the same object list box as fonts do, letting the user search for the color schemes they want to apply, as well as the variant and optionally accent, where the accent section will appear/disappear as needed if selected variant has accent colors. The attached image is just to give you an idea of what I mean, the implementation is obviously not complete yet.
The main hurdle right now is just parsing the output of
zshell-cli scheme list-presets. So, my request to you is to structure the output in a more manageable way, possibly with additional flags likezshell-cli scheme list-presets --jsonfor json formatting. Eg. output:I think adding logic for accents is a fine idea. Though is catppuccin not the only one using accents?
IMO, it might be better to just have the accents included in the presets. It does kinda look ugly as there are a bunch of
catppuccin-macchiato-<accent>options, but that does simplify things. What do you prefer?I think I'd prefer separating them, mainly because then we have robust handling for presets/variants/accents should we add more color schemes in the future that also use both variants and accents. And as long as the output of the
list-presetscommand is easily parsed (preferably it just outputs json as said in my previous comment) then this is a pretty simple task to do on the QML sideShould work now. I did revert to
--accentsyntax. Would make more sense. Catppuccin flavors default to blue if not specified via cli.