summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-06-11 22:48:09 +1000
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-06-11 22:48:09 +1000
commit2161e3ee6b61c0ebd56142ccd9502404d3ee1314 (patch)
tree0689a9072ea145f037897b49405c71b3bf18778d
parentfeat: theme btop (diff)
downloadcaelestia-cli-2161e3ee6b61c0ebd56142ccd9502404d3ee1314.tar.gz
caelestia-cli-2161e3ee6b61c0ebd56142ccd9502404d3ee1314.tar.bz2
caelestia-cli-2161e3ee6b61c0ebd56142ccd9502404d3ee1314.zip
theme: better spicetify colours
-rw-r--r--src/caelestia/data/templates/spicetify-dark.ini19
-rw-r--r--src/caelestia/data/templates/spicetify-light.ini19
-rw-r--r--src/caelestia/data/templates/spicetify.ini17
-rw-r--r--src/caelestia/subcommands/scheme.py2
-rw-r--r--src/caelestia/utils/theme.py8
5 files changed, 43 insertions, 22 deletions
diff --git a/src/caelestia/data/templates/spicetify-dark.ini b/src/caelestia/data/templates/spicetify-dark.ini
new file mode 100644
index 0000000..4bf85eb
--- /dev/null
+++ b/src/caelestia/data/templates/spicetify-dark.ini
@@ -0,0 +1,19 @@
+[caelestia]
+text = {{ $onSurface }} ; Main text colour
+subtext = {{ $onSurfaceVariant }} ; Subtext colour
+main = {{ $surfaceContainer }} ; Panel backgrounds
+highlight = {{ $primary }} ; Doesn't seem to do anything
+misc = {{ $primary }} ; Doesn't seem to do anything
+notification = {{ $outline }} ; Notifications probably
+notification-error = {{ $error }} ; Error notifications probably
+shadow = {{ $shadow }} ; Shadow for covers, context menu, also affects playlist/artist banners
+card = {{ $surfaceContainerHigh }} ; Context menu and tooltips
+player = {{ $secondaryContainer }} ; Background for top result in search
+sidebar = {{ $surface }} ; Background
+main-elevated = {{ $surfaceContainerHigh }} ; Higher layers than main, e.g. search bar
+highlight-elevated = {{ $surfaceContainerHighest }} ; Home button and search bar accelerator
+selected-row = {{ $onSurface }} ; Selections, hover, other coloured text and slider background
+button = {{ $primary }} ; Slider and text buttons
+button-active = {{ $primary }} ; Background buttons
+button-disabled = {{ $outline }} ; Disabled buttons
+tab-active = {{ $surfaceContainerHigh }} ; Profile fallbacks in search
diff --git a/src/caelestia/data/templates/spicetify-light.ini b/src/caelestia/data/templates/spicetify-light.ini
new file mode 100644
index 0000000..a8b361b
--- /dev/null
+++ b/src/caelestia/data/templates/spicetify-light.ini
@@ -0,0 +1,19 @@
+[caelestia]
+text = {{ $onSurface }} ; Main text colour
+subtext = {{ $onSurfaceVariant }} ; Subtext colour
+main = {{ $surface }} ; Panel backgrounds
+highlight = {{ $primary }} ; Doesn't seem to do anything
+misc = {{ $primary }} ; Doesn't seem to do anything
+notification = {{ $outline }} ; Notifications probably
+notification-error = {{ $error }} ; Error notifications probably
+shadow = {{ $shadow }} ; Shadow for covers, context menu, also affects playlist/artist banners
+card = {{ $surfaceContainer }} ; Context menu and tooltips
+player = {{ $secondaryContainer }} ; Background for top result in search
+sidebar = {{ $surfaceContainer }} ; Background
+main-elevated = {{ $surfaceContainerHigh }} ; Higher layers than main, e.g. search bar
+highlight-elevated = {{ $surfaceContainerHighest }} ; Home button and search bar accelerator
+selected-row = {{ $onSurface }} ; Selections, hover, other coloured text and slider background
+button = {{ $primary }} ; Slider and text buttons
+button-active = {{ $primary }} ; Background buttons
+button-disabled = {{ $outline }} ; Disabled buttons
+tab-active = {{ $surfaceContainer }} ; Profile fallbacks in search
diff --git a/src/caelestia/data/templates/spicetify.ini b/src/caelestia/data/templates/spicetify.ini
deleted file mode 100644
index 976a0c9..0000000
--- a/src/caelestia/data/templates/spicetify.ini
+++ /dev/null
@@ -1,17 +0,0 @@
-[caelestia]
-text = {{ $text }} ; Main text colour
-subtext = {{ $subtext0 }} ; Subtext colour
-main = {{ $base }} ; Panel backgrounds
-highlight = {{ $primary }} ; Doesn't seem to do anything
-misc = {{ $primary }} ; Doesn't seem to do anything
-notification = {{ $overlay0 }} ; Notifications probably
-notification-error = {{ $error }} ; Error notifications probably
-shadow = {{ $mantle }} ; Shadow for covers, context menu, also affects playlist/artist banners
-card = {{ $surface0 }} ; Context menu and tooltips
-player = {{ $base }} ; Doesn't seem to do anything
-sidebar = {{ $mantle }} ; Background
-main-elevated = {{ $surface0 }} ; Higher layers than main, e.g. search bar
-selected-row = {{ $text }} ; Selections, hover, other coloured text and slider background
-button = {{ $primary }} ; Slider and text buttons
-button-active = {{ $primary }} ; Background buttons
-button-disabled = {{ $overlay0 }} ; Disabled buttons
diff --git a/src/caelestia/subcommands/scheme.py b/src/caelestia/subcommands/scheme.py
index fa1f49a..e149d13 100644
--- a/src/caelestia/subcommands/scheme.py
+++ b/src/caelestia/subcommands/scheme.py
@@ -22,6 +22,6 @@ class Command:
scheme.flavour = self.args.flavour
if self.args.mode:
scheme.mode = self.args.mode
- apply_colours(scheme.colours)
+ apply_colours(scheme.colours, scheme.mode)
else:
print(scheme)
diff --git a/src/caelestia/utils/theme.py b/src/caelestia/utils/theme.py
index 7f29637..3250ea3 100644
--- a/src/caelestia/utils/theme.py
+++ b/src/caelestia/utils/theme.py
@@ -97,8 +97,8 @@ def apply_discord(scss: str) -> None:
try_write(config_dir / client / "themes/caelestia.theme.css", conf)
-def apply_spicetify(colours: dict[str, str]) -> None:
- template = gen_replace(colours, templates_dir / "spicetify.ini")
+def apply_spicetify(colours: dict[str, str], mode: str) -> None:
+ template = gen_replace(colours, templates_dir / f"spicetify-{mode}.ini")
try_write(config_dir / "spicetify/Themes/caelestia/color.ini", template)
@@ -113,10 +113,10 @@ def apply_btop(colours: dict[str, str]) -> None:
subprocess.run(["killall", "-USR2", "btop"])
-def apply_colours(colours: dict[str, str]) -> None:
+def apply_colours(colours: dict[str, str], mode: str) -> None:
apply_terms(gen_sequences(colours))
apply_hypr(gen_conf(colours))
apply_discord(gen_scss(colours))
- apply_spicetify(colours)
+ apply_spicetify(colours, mode)
apply_fuzzel(colours)
apply_btop(colours)