summaryrefslogtreecommitdiff
path: root/src/caelestia/subcommands
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-06-17 14:03:51 +1000
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-06-17 14:03:51 +1000
commit1ab61223c6acd30dac8151f01b9a5fde5f110034 (patch)
tree85df7ad77b56c8770b3a13c1fbd2a34a5809d01e /src/caelestia/subcommands
parentwallpaper: fix print command (diff)
downloadcaelestia-cli-1ab61223c6acd30dac8151f01b9a5fde5f110034.tar.gz
caelestia-cli-1ab61223c6acd30dac8151f01b9a5fde5f110034.tar.bz2
caelestia-cli-1ab61223c6acd30dac8151f01b9a5fde5f110034.zip
scheme: dump scheme data when no args to list
Diffstat (limited to 'src/caelestia/subcommands')
-rw-r--r--src/caelestia/subcommands/scheme.py32
1 files changed, 30 insertions, 2 deletions
diff --git a/src/caelestia/subcommands/scheme.py b/src/caelestia/subcommands/scheme.py
index b326e5d..24d2af3 100644
--- a/src/caelestia/subcommands/scheme.py
+++ b/src/caelestia/subcommands/scheme.py
@@ -1,6 +1,14 @@
+import json
from argparse import Namespace
-from caelestia.utils.scheme import get_scheme, get_scheme_flavours, get_scheme_modes, get_scheme_names, scheme_variants
+from caelestia.utils.scheme import (
+ Scheme,
+ get_scheme,
+ get_scheme_flavours,
+ get_scheme_modes,
+ get_scheme_names,
+ scheme_variants,
+)
from caelestia.utils.theme import apply_colours
@@ -86,4 +94,24 @@ class List:
else:
print("\n".join(scheme_variants))
else:
- print("No args given. Use --names, --flavours, --modes or --variants to list schemes")
+ current_scheme = get_scheme()
+ schemes = {}
+ for scheme in get_scheme_names():
+ schemes[scheme] = {}
+ for flavour in get_scheme_flavours(scheme):
+ s = Scheme(
+ {
+ "name": scheme,
+ "flavour": flavour,
+ "mode": current_scheme.mode,
+ "variant": current_scheme.variant,
+ "colours": current_scheme.colours,
+ }
+ )
+ modes = get_scheme_modes(scheme, flavour)
+ if s.mode not in modes:
+ s._mode = modes[0]
+ s._update_colours()
+ schemes[scheme][flavour] = s.colours
+
+ print(json.dumps(schemes))