forked from Shinonome/caelestia-cli
scheme: add variant option
Remove variant subcommand
This commit is contained in:
+2
-20
@@ -1,18 +1,6 @@
|
||||
import argparse
|
||||
|
||||
from caelestia.subcommands import (
|
||||
clipboard,
|
||||
emoji,
|
||||
pip,
|
||||
record,
|
||||
scheme,
|
||||
screenshot,
|
||||
shell,
|
||||
toggle,
|
||||
variant,
|
||||
wallpaper,
|
||||
wsaction,
|
||||
)
|
||||
from caelestia.subcommands import clipboard, emoji, pip, record, scheme, screenshot, shell, toggle, wallpaper, wsaction
|
||||
from caelestia.utils.scheme import get_scheme_names, scheme_variants
|
||||
|
||||
|
||||
@@ -65,13 +53,7 @@ def parse_args() -> (argparse.ArgumentParser, argparse.Namespace):
|
||||
scheme_parser.add_argument("-n", "--name", choices=get_scheme_names(), help="the name of the scheme to switch to")
|
||||
scheme_parser.add_argument("-f", "--flavour", help="the flavour to switch to")
|
||||
scheme_parser.add_argument("-m", "--mode", choices=["dark", "light"], help="the mode to switch to")
|
||||
|
||||
# Create parser for variant opts
|
||||
variant_parser = command_parser.add_parser("variant", help="manage the dynamic scheme variant")
|
||||
variant_parser.set_defaults(cls=variant.Command)
|
||||
variant_parser.add_argument("-g", "--get", action="store_true", help="print the current dynamic scheme variant")
|
||||
variant_parser.add_argument("-s", "--set", choices=scheme_variants, help="set the current dynamic scheme variant")
|
||||
variant_parser.add_argument("-r", "--random", action="store_true", help="switch to a random variant")
|
||||
scheme_parser.add_argument("-v", "--variant", choices=scheme_variants, help="the variant to switch to")
|
||||
|
||||
# Create parser for screenshot opts
|
||||
screenshot_parser = command_parser.add_parser("screenshot", help="take a screenshot")
|
||||
|
||||
@@ -16,13 +16,15 @@ class Command:
|
||||
if self.args.random:
|
||||
scheme.set_random()
|
||||
apply_colours(scheme.colours, scheme.mode)
|
||||
elif self.args.name or self.args.flavour or self.args.mode:
|
||||
elif self.args.name or self.args.flavour or self.args.mode or self.args.variant:
|
||||
if self.args.name:
|
||||
scheme.name = self.args.name
|
||||
if self.args.flavour:
|
||||
scheme.flavour = self.args.flavour
|
||||
if self.args.mode:
|
||||
scheme.mode = self.args.mode
|
||||
if self.args.variant:
|
||||
scheme.variant = self.args.variant
|
||||
apply_colours(scheme.colours, scheme.mode)
|
||||
else:
|
||||
print(scheme)
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
from argparse import Namespace
|
||||
|
||||
|
||||
class Command:
|
||||
args: Namespace
|
||||
|
||||
def __init__(self, args: Namespace) -> None:
|
||||
self.args = args
|
||||
|
||||
def run(self) -> None:
|
||||
pass
|
||||
@@ -84,7 +84,12 @@ class Scheme:
|
||||
|
||||
@variant.setter
|
||||
def variant(self, variant: str) -> None:
|
||||
if variant == self._variant:
|
||||
return
|
||||
|
||||
self._variant = variant
|
||||
self._update_colours()
|
||||
self.save()
|
||||
|
||||
@property
|
||||
def colours(self) -> dict[str, str]:
|
||||
|
||||
Reference in New Issue
Block a user