This crate is a part of rat-salsa.
Theming support for rat-salsa
This splits themes in two parts,
-
Palette This defines a color palette. It contains a rainbow-table,
explicit primary, secondary colors and light/bright/dark/black text-colors.Plus it contains a list of aliases for semantic colors. e.g.: "label-fg", "focus", "select", "container-base" These point to specific colors in the palette and can be used to create the actual theme composition.
-
SalsaTheme Takes a palette and creates
Styles.And it creates concrete
xxStylestructs to configure specific rat-widgets. It can also storeyyStylestructs for your own widgets.
Extras
There is pal-edit a visual editor for palettes.
It can create the .rs palettes and has its own storage format too.
And, it can be configured to use extra aliases needed by your
application.
Application specific palettes.
pal-edit can manage additional aliases for colors.
You can use that to generate palettes directly or to generate
a patch.rs which adds the aliases to a Palette.
From there you go on to create your own SalsaTheme or you can patch an existing one.
Loadable palettes.
It's doable. The .pal files are sufficient to create a Palette, but it's not implemented yet.