diff options
| -rw-r--r-- | src/caelestia/data/schemes/dynamic/alt1/dark.txt | 81 | ||||
| -rw-r--r-- | src/caelestia/data/schemes/dynamic/alt1/light.txt | 81 | ||||
| -rw-r--r-- | src/caelestia/data/schemes/dynamic/alt2/dark.txt | 81 | ||||
| -rw-r--r-- | src/caelestia/data/schemes/dynamic/alt2/light.txt | 81 | ||||
| -rw-r--r-- | src/caelestia/data/schemes/dynamic/default/dark.txt | 81 | ||||
| -rw-r--r-- | src/caelestia/data/schemes/dynamic/default/light.txt | 81 | ||||
| -rw-r--r-- | src/caelestia/parser.py | 29 | ||||
| -rw-r--r-- | src/caelestia/subcommands/scheme.py | 60 |
8 files changed, 81 insertions, 494 deletions
diff --git a/src/caelestia/data/schemes/dynamic/alt1/dark.txt b/src/caelestia/data/schemes/dynamic/alt1/dark.txt deleted file mode 100644 index f3c70ea..0000000 --- a/src/caelestia/data/schemes/dynamic/alt1/dark.txt +++ /dev/null @@ -1,81 +0,0 @@ -primary_paletteKeyColor 5E8046 -secondary_paletteKeyColor 6E7B62 -tertiary_paletteKeyColor 517F7E -neutral_paletteKeyColor 75786F -neutral_variant_paletteKeyColor 74796D -background 11140E -onBackground E1E4D9 -surface 11140E -surfaceDim 11140E -surfaceBright 373A33 -surfaceContainerLowest 0C0F09 -surfaceContainerLow 191D16 -surfaceContainer 1D211A -surfaceContainerHigh 282B24 -surfaceContainerHighest 33362F -onSurface E1E4D9 -surfaceVariant 44483E -onSurfaceVariant C4C8BB -inverseSurface E1E4D9 -inverseOnSurface 2E312A -outline 8E9286 -outlineVariant 44483E -shadow 000000 -scrim 000000 -surfaceTint ACD28F -primary ACD28F -onPrimary 1A3705 -primaryContainer 304F1A -onPrimaryContainer C7EEA9 -inversePrimary 476730 -secondary BDCBAF -onSecondary 283420 -secondaryContainer 414D37 -onSecondaryContainer D9E7CA -tertiary A0CFCE -onTertiary 003737 -tertiaryContainer 6B9998 -onTertiaryContainer 000000 -error FFB4AB -onError 690005 -errorContainer 93000A -onErrorContainer FFDAD6 -primaryFixed C7EEA9 -primaryFixedDim ACD28F -onPrimaryFixed 0A2000 -onPrimaryFixedVariant 304F1A -secondaryFixed D9E7CA -secondaryFixedDim BDCBAF -onSecondaryFixed 141E0C -onSecondaryFixedVariant 3F4A35 -tertiaryFixed BBECEA -tertiaryFixedDim A0CFCE -onTertiaryFixed 002020 -onTertiaryFixedVariant 1E4E4D -text E1E4D9 -subtext1 C4C8BB -subtext0 8E9286 -overlay2 7D8075 -overlay1 6A6D63 -overlay0 585C52 -surface2 474A42 -surface1 353931 -surface0 22261F -base 11140E -mantle 090B08 -crust 040503 -success ADE29A -rosewater ACD28F -flamingo 9BD4A0 -pink 8AD0EF -mauve 91CEF5 -red 86D6BE -maroon 81D4DA -peach 90D6AE -yellow A7D293 -green A3D398 -teal 82D5C7 -sky 80D5D3 -sapphire 86D2E8 -blue 9CCBFA -lavender 81D3E2
\ No newline at end of file diff --git a/src/caelestia/data/schemes/dynamic/alt1/light.txt b/src/caelestia/data/schemes/dynamic/alt1/light.txt deleted file mode 100644 index 84b0e64..0000000 --- a/src/caelestia/data/schemes/dynamic/alt1/light.txt +++ /dev/null @@ -1,81 +0,0 @@ -primary_paletteKeyColor 5E8046 -secondary_paletteKeyColor 6E7B62 -tertiary_paletteKeyColor 517F7E -neutral_paletteKeyColor 75786F -neutral_variant_paletteKeyColor 74796D -background F9FAF0 -onBackground 191D16 -surface F9FAF0 -surfaceDim D9DBD1 -surfaceBright F9FAF0 -surfaceContainerLowest FFFFFF -surfaceContainerLow F3F5EA -surfaceContainer EDEFE4 -surfaceContainerHigh E7E9DF -surfaceContainerHighest E1E4D9 -onSurface 191D16 -surfaceVariant E0E4D6 -onSurfaceVariant 44483E -inverseSurface 2E312A -inverseOnSurface F0F2E7 -outline 71766B -outlineVariant C4C8BB -shadow 000000 -scrim 000000 -surfaceTint 476730 -primary 476730 -onPrimary FFFFFF -primaryContainer C7EEA9 -onPrimaryContainer 304F1A -inversePrimary ACD28F -secondary 56624B -onSecondary FFFFFF -secondaryContainer D7E4C7 -onSecondaryContainer 3F4A35 -tertiary 4F7C7C -onTertiary FFFFFF -tertiaryContainer 4F7C7C -onTertiaryContainer FFFFFF -error BA1A1A -onError FFFFFF -errorContainer FFDAD6 -onErrorContainer 93000A -primaryFixed C7EEA9 -primaryFixedDim ACD28F -onPrimaryFixed 0A2000 -onPrimaryFixedVariant 304F1A -secondaryFixed D9E7CA -secondaryFixedDim BDCBAF -onSecondaryFixed 141E0C -onSecondaryFixedVariant 3F4A35 -tertiaryFixed BBECEA -tertiaryFixedDim A0CFCE -onTertiaryFixed 002020 -onTertiaryFixedVariant 1E4E4D -text 191D16 -subtext1 44483E -subtext0 71766B -overlay2 84887E -overlay1 989C92 -overlay0 ABAFA4 -surface2 BFC1B7 -surface1 D2D4C9 -surface0 E6E8DD -base F9FAF0 -mantle F4F6E5 -crust F1F4DD -success 4A9F23 -rosewater 3D6837 -flamingo 34693F -pink 006968 -mauve 00696F -red 156A59 -maroon 006876 -peach 256B4A -yellow 426733 -green 476730 -teal 00677B -sky 2E628B -sapphire 206486 -blue 0F6681 -lavender 0D6A5F
\ No newline at end of file diff --git a/src/caelestia/data/schemes/dynamic/alt2/dark.txt b/src/caelestia/data/schemes/dynamic/alt2/dark.txt deleted file mode 100644 index 9b36dee..0000000 --- a/src/caelestia/data/schemes/dynamic/alt2/dark.txt +++ /dev/null @@ -1,81 +0,0 @@ -primary_paletteKeyColor 5E76AB -secondary_paletteKeyColor 70778B -tertiary_paletteKeyColor 8B6D8C -neutral_paletteKeyColor 76777D -neutral_variant_paletteKeyColor 757780 -background 121318 -onBackground E2E2E9 -surface 121318 -surfaceDim 121318 -surfaceBright 37393E -surfaceContainerLowest 0C0E13 -surfaceContainerLow 1A1B20 -surfaceContainer 1E1F25 -surfaceContainerHigh 282A2F -surfaceContainerHighest 33353A -onSurface E2E2E9 -surfaceVariant 44474F -onSurfaceVariant C5C6D0 -inverseSurface E2E2E9 -inverseOnSurface 2F3036 -outline 8E9099 -outlineVariant 44474F -shadow 000000 -scrim 000000 -surfaceTint AEC6FF -primary AEC6FF -onPrimary 122F60 -primaryContainer 2C4678 -onPrimaryContainer D8E2FF -inversePrimary 455E91 -secondary BFC6DC -onSecondary 293041 -secondaryContainer 3F4759 -onSecondaryContainer DBE2F9 -tertiary DFBBDE -onTertiary 402843 -tertiaryContainer A786A7 -onTertiaryContainer 000000 -error FFB4AB -onError 690005 -errorContainer 93000A -onErrorContainer FFDAD6 -primaryFixed D8E2FF -primaryFixedDim AEC6FF -onPrimaryFixed 001A43 -onPrimaryFixedVariant 2C4678 -secondaryFixed DBE2F9 -secondaryFixedDim BFC6DC -onSecondaryFixed 141B2C -onSecondaryFixedVariant 3F4759 -tertiaryFixed FCD7FB -tertiaryFixedDim DFBBDE -onTertiaryFixed 2A132D -onTertiaryFixedVariant 583E5A -text E2E2E9 -subtext1 C5C6D0 -subtext0 8E9099 -overlay2 7D7E87 -overlay1 6A6C74 -overlay0 595A62 -surface2 47494F -surface1 36373D -surface0 23242A -base 121318 -mantle 0B0C0F -crust 070709 -success 93E5B6 -rosewater 9BD4A1 -flamingo 84D5C3 -pink A1CAFE -mauve A5C8FF -red 80D3DE -maroon 8ECFF2 -peach 80D5D0 -yellow 93D5A9 -green 8DD5B3 -teal 84D2E5 -sky 89D0ED -sapphire 9CCBFB -blue ACC6FF -lavender 94CDF7
\ No newline at end of file diff --git a/src/caelestia/data/schemes/dynamic/alt2/light.txt b/src/caelestia/data/schemes/dynamic/alt2/light.txt deleted file mode 100644 index 00483f0..0000000 --- a/src/caelestia/data/schemes/dynamic/alt2/light.txt +++ /dev/null @@ -1,81 +0,0 @@ -primary_paletteKeyColor 5E76AB -secondary_paletteKeyColor 70778B -tertiary_paletteKeyColor 8B6D8C -neutral_paletteKeyColor 76777D -neutral_variant_paletteKeyColor 757780 -background FAF9FF -onBackground 1A1B20 -surface FAF9FF -surfaceDim DAD9E0 -surfaceBright FAF9FF -surfaceContainerLowest FFFFFF -surfaceContainerLow F3F3FA -surfaceContainer EEEDF4 -surfaceContainerHigh E8E7EF -surfaceContainerHighest E2E2E9 -onSurface 1A1B20 -surfaceVariant E1E2EC -onSurfaceVariant 44474F -inverseSurface 2F3036 -inverseOnSurface F1F0F7 -outline 72747D -outlineVariant C5C6D0 -shadow 000000 -scrim 000000 -surfaceTint 455E91 -primary 455E91 -onPrimary FFFFFF -primaryContainer D8E2FF -onPrimaryContainer 2C4678 -inversePrimary AEC6FF -secondary 575E71 -onSecondary FFFFFF -secondaryContainer DBE2F9 -onSecondaryContainer 3F4759 -tertiary 896B8A -onTertiary FFFFFF -tertiaryContainer 896B8A -onTertiaryContainer FFFFFF -error BA1A1A -onError FFFFFF -errorContainer FFDAD6 -onErrorContainer 93000A -primaryFixed D8E2FF -primaryFixedDim AEC6FF -onPrimaryFixed 001A43 -onPrimaryFixedVariant 2C4678 -secondaryFixed DBE2F9 -secondaryFixedDim BFC6DC -onSecondaryFixed 141B2C -onSecondaryFixedVariant 3F4759 -tertiaryFixed FCD7FB -tertiaryFixedDim DFBBDE -onTertiaryFixed 2A132D -onTertiaryFixedVariant 583E5A -text 1A1B20 -subtext1 44474F -subtext0 72747D -overlay2 85878F -overlay1 999BA3 -overlay0 ACADB5 -surface2 C0C0C7 -surface1 D3D2D9 -surface0 E7E6ED -base FAF9FF -mantle EDEAFF -crust E5E0FF -success 00A25A -rosewater 1F6A4E -flamingo 056A5C -pink 15667E -mauve 1B6685 -red 006972 -maroon 266389 -peach 006A67 -yellow 2B6A46 -green 35693F -teal 30628C -sky 435E91 -sapphire 3D5F8F -blue 37608E -lavender 0A6777
\ No newline at end of file diff --git a/src/caelestia/data/schemes/dynamic/default/dark.txt b/src/caelestia/data/schemes/dynamic/default/dark.txt deleted file mode 100644 index 001e000..0000000 --- a/src/caelestia/data/schemes/dynamic/default/dark.txt +++ /dev/null @@ -1,81 +0,0 @@ -primary_paletteKeyColor 2E8195 -secondary_paletteKeyColor 647B82 -tertiary_paletteKeyColor 707598 -neutral_paletteKeyColor 72787A -neutral_variant_paletteKeyColor 70797C -background 0F1416 -onBackground DEE3E6 -surface 0F1416 -surfaceDim 0F1416 -surfaceBright 343A3C -surfaceContainerLowest 090F11 -surfaceContainerLow 171C1E -surfaceContainer 1B2022 -surfaceContainerHigh 252B2D -surfaceContainerHighest 303638 -onSurface DEE3E6 -surfaceVariant 3F484B -onSurfaceVariant BFC8CB -inverseSurface DEE3E6 -inverseOnSurface 2C3133 -outline 899295 -outlineVariant 3F484B -shadow 000000 -scrim 000000 -surfaceTint 85D2E7 -primary 85D2E7 -onPrimary 003641 -primaryContainer 004E5D -onPrimaryContainer AEECFF -inversePrimary 00687B -secondary B2CBD3 -onSecondary 1D343A -secondaryContainer 364D53 -onSecondaryContainer CEE7EF -tertiary BFC4EB -onTertiary 292E4D -tertiaryContainer 898FB3 -onTertiaryContainer 000000 -error FFB4AB -onError 690005 -errorContainer 93000A -onErrorContainer FFDAD6 -primaryFixed AEECFF -primaryFixedDim 85D2E7 -onPrimaryFixed 001F26 -onPrimaryFixedVariant 004E5D -secondaryFixed CEE7EF -secondaryFixedDim B2CBD3 -onSecondaryFixed 061F25 -onSecondaryFixedVariant 344A51 -tertiaryFixed DEE1FF -tertiaryFixedDim BFC4EB -onTertiaryFixed 141937 -onTertiaryFixedVariant 3F4565 -text DEE3E6 -subtext1 BFC8CB -subtext0 899295 -overlay2 788083 -overlay1 666D70 -overlay0 555C5E -surface2 434A4D -surface1 32393B -surface0 202628 -base 0F1416 -mantle 090C0D -crust 050607 -success 93E5B6 -rosewater 9BD4A1 -flamingo 84D5C3 -pink 8CD0F1 -mauve 91CEF5 -red 80D4DC -maroon 85D2E7 -peach 80D5D0 -yellow 93D5A9 -green 8DD5B3 -teal 81D3E0 -sky 83D2E4 -sapphire 8AD1EE -blue 9CCBFA -lavender 86D1EB
\ No newline at end of file diff --git a/src/caelestia/data/schemes/dynamic/default/light.txt b/src/caelestia/data/schemes/dynamic/default/light.txt deleted file mode 100644 index 09648cf..0000000 --- a/src/caelestia/data/schemes/dynamic/default/light.txt +++ /dev/null @@ -1,81 +0,0 @@ -primary_paletteKeyColor 2E8195 -secondary_paletteKeyColor 647B82 -tertiary_paletteKeyColor 707598 -neutral_paletteKeyColor 72787A -neutral_variant_paletteKeyColor 70797C -background F5FAFC -onBackground 171C1E -surface F5FAFC -surfaceDim D5DBDD -surfaceBright F5FAFC -surfaceContainerLowest FFFFFF -surfaceContainerLow EFF4F7 -surfaceContainer E9EFF1 -surfaceContainerHigh E4E9EB -surfaceContainerHighest DEE3E6 -onSurface 171C1E -surfaceVariant DBE4E7 -onSurfaceVariant 3F484B -inverseSurface 2C3133 -inverseOnSurface ECF2F4 -outline 6D7679 -outlineVariant BFC8CB -shadow 000000 -scrim 000000 -surfaceTint 00687B -primary 00687B -onPrimary FFFFFF -primaryContainer AEECFF -onPrimaryContainer 004E5D -inversePrimary 85D2E7 -secondary 4B6269 -onSecondary FFFFFF -secondaryContainer CEE7EF -onSecondaryContainer 344A51 -tertiary 6D7395 -onTertiary FFFFFF -tertiaryContainer 6D7395 -onTertiaryContainer FFFFFF -error BA1A1A -onError FFFFFF -errorContainer FFDAD6 -onErrorContainer 93000A -primaryFixed AEECFF -primaryFixedDim 85D2E7 -onPrimaryFixed 001F26 -onPrimaryFixedVariant 004E5D -secondaryFixed CEE7EF -secondaryFixedDim B2CBD3 -onSecondaryFixed 061F25 -onSecondaryFixedVariant 344A51 -tertiaryFixed DEE1FF -tertiaryFixedDim BFC4EB -onTertiaryFixed 141937 -onTertiaryFixedVariant 3F4565 -text 171C1E -subtext1 3F484B -subtext0 6D7679 -overlay2 80888B -overlay1 949C9F -overlay0 A7AFB1 -surface2 BBC1C4 -surface1 CED4D6 -surface0 E2E8EA -base F5FAFC -mantle E9F4F8 -crust E1F0F6 -success 00A25A -rosewater 1F6A4E -flamingo 056A5C -pink 046877 -mauve 00687B -red 006970 -maroon 02677E -peach 006A67 -yellow 2B6A46 -green 35693F -teal 0D6680 -sky 2E628B -sapphire 206486 -blue 156583 -lavender 036873
\ No newline at end of file diff --git a/src/caelestia/parser.py b/src/caelestia/parser.py index 6d0b552..824158a 100644 --- a/src/caelestia/parser.py +++ b/src/caelestia/parser.py @@ -50,12 +50,29 @@ def parse_args() -> (argparse.ArgumentParser, argparse.Namespace): # Create parser for scheme opts scheme_parser = command_parser.add_parser("scheme", help="manage the colour scheme") - scheme_parser.set_defaults(cls=scheme.Command) - scheme_parser.add_argument("-r", "--random", action="store_true", help="switch to a random scheme") - 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") - scheme_parser.add_argument("-v", "--variant", choices=scheme_variants, help="the variant to switch to") + scheme_command_parser = scheme_parser.add_subparsers(title="subcommands") + + list_parser = scheme_command_parser.add_parser("list", help="list available schemes") + list_parser.set_defaults(cls=scheme.List) + list_parser.add_argument("-n", "--names", action="store_true", help="list scheme names") + list_parser.add_argument("-f", "--flavours", action="store_true", help="list scheme flavours") + list_parser.add_argument("-m", "--modes", action="store_true", help="list scheme modes") + list_parser.add_argument("-v", "--variants", action="store_true", help="list scheme variants") + + get_parser = scheme_command_parser.add_parser("get", help="get scheme properties") + get_parser.set_defaults(cls=scheme.Get) + get_parser.add_argument("-n", "--name", action="store_true", help="print the current scheme name") + get_parser.add_argument("-f", "--flavour", action="store_true", help="print the current scheme flavour") + get_parser.add_argument("-m", "--mode", action="store_true", help="print the current scheme mode") + get_parser.add_argument("-v", "--variant", action="store_true", help="print the current scheme variant") + + set_parser = scheme_command_parser.add_parser("set", help="set the current scheme") + set_parser.set_defaults(cls=scheme.Set) + set_parser.add_argument("-r", "--random", action="store_true", help="switch to a random scheme") + set_parser.add_argument("-n", "--name", choices=get_scheme_names(), help="the name of the scheme to switch to") + set_parser.add_argument("-f", "--flavour", help="the flavour to switch to") + set_parser.add_argument("-m", "--mode", choices=["dark", "light"], help="the mode to switch to") + set_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") diff --git a/src/caelestia/subcommands/scheme.py b/src/caelestia/subcommands/scheme.py index c95df96..c8842f7 100644 --- a/src/caelestia/subcommands/scheme.py +++ b/src/caelestia/subcommands/scheme.py @@ -1,10 +1,10 @@ from argparse import Namespace -from caelestia.utils.scheme import get_scheme +from caelestia.utils.scheme import get_scheme, get_scheme_flavours, get_scheme_modes, get_scheme_names, scheme_variants from caelestia.utils.theme import apply_colours -class Command: +class Set: args: Namespace def __init__(self, args: Namespace) -> None: @@ -27,4 +27,60 @@ class Command: scheme.variant = self.args.variant apply_colours(scheme.colours, scheme.mode) else: + print("No args given. Use --name, --flavour, --mode, --variant or --random to set a scheme") + + +class Get: + args: Namespace + + def __init__(self, args: Namespace) -> None: + self.args = args + + def run(self) -> None: + scheme = get_scheme() + + if self.args.name or self.args.flavour or self.args.mode or self.args.variant: + if self.args.name: + print(scheme.name) + if self.args.flavour: + print(scheme.flavour) + if self.args.mode: + print(scheme.mode) + if self.args.variant: + print(scheme.variant) + else: print(scheme) + + +class List: + args: Namespace + + def __init__(self, args: Namespace) -> None: + self.args = args + + def run(self) -> None: + multiple = [self.args.names, self.args.flavours, self.args.modes, self.args.variants].count(True) > 1 + + if self.args.names or self.args.flavours or self.args.modes or self.args.variants: + if self.args.names: + if multiple: + print("Names:", *get_scheme_names()) + else: + print("\n".join(get_scheme_names())) + if self.args.flavours: + if multiple: + print("Flavours:", *get_scheme_flavours()) + else: + print("\n".join(get_scheme_flavours())) + if self.args.modes: + if multiple: + print("Modes:", *get_scheme_modes()) + else: + print("\n".join(get_scheme_modes())) + if self.args.variants: + if multiple: + print("Variants:", *scheme_variants) + else: + print("\n".join(scheme_variants)) + else: + print("No args given. Use --names, --flavours, --modes or --variants to list schemes") |