From fe78d6b1c7636835d81692fc29ab9b68d07d8fb8 Mon Sep 17 00:00:00 2001 From: Dylan Araps Date: Sun, 1 Apr 2018 13:10:38 +1000 Subject: [PATCH] config: Added another option. --- pywal/__main__.py | 3 ++- pywal/colors.py | 30 +++++++++++++++++++++--------- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/pywal/__main__.py b/pywal/__main__.py index c1c4002..90e8978 100644 --- a/pywal/__main__.py +++ b/pywal/__main__.py @@ -40,7 +40,8 @@ def get_args(args): arg.add_argument("--backend", metavar="backend", help="Which color backend to use. \ Use 'wal --backend' to list backends.", - const="list_backends", type=str, nargs="?", default="wal") + const="list_backends", type=str, + nargs="?", default="default") arg.add_argument("--theme", metavar="/path/to/file or theme_name", help="Which colorscheme file to use. \ diff --git a/pywal/colors.py b/pywal/colors.py index 5472ef5..956cd35 100644 --- a/pywal/colors.py +++ b/pywal/colors.py @@ -8,7 +8,7 @@ import sys from . import theme from . import util -from .settings import CACHE_DIR, MODULE_DIR, __cache_version__ +from .settings import CACHE_DIR, MODULE_DIR, CONFIG, __cache_version__ def list_backends(): @@ -81,8 +81,27 @@ def cache_fname(img, backend, light, cache_dir): return [cache_dir, "schemes", "%s_%s_%s_%s.json" % (*file_parts,)] -def get(img, light=False, backend="wal", cache_dir=CACHE_DIR): +def get_backend(backend): + """Figure out which backend to use.""" + if CONFIG.get("colors", "backend") and backend == "default": + return CONFIG.get("colors", "backend") + + elif backend == "default": + return "wal" + + if backend == "random": + backends = list_backends() + random.shuffle(backends) + return backends[0] + + return backend + + +def get(img, light=False, backend="default", cache_dir=CACHE_DIR): """Generate a palette.""" + backend = get_backend(backend) + print("wal: Using", backend, "backend.") + # home_dylan_img_jpg_backend_1.2.2.json cache_name = cache_fname(img, backend, light, cache_dir) cache_file = os.path.join(*cache_name) @@ -95,13 +114,6 @@ def get(img, light=False, backend="wal", cache_dir=CACHE_DIR): else: print("wal: Generating a colorscheme...") - if backend == "random": - backends = list_backends() - random.shuffle(backends) - backend = backends[0] - - print("wal: Using", backend, "backend.") - # Dynamically import the backend we want to use. # This keeps the dependencies "optional". try: