From 5c9ce66c031788df50bbfbea195bf773ddbf92bc Mon Sep 17 00:00:00 2001 From: Haikal <152383572+haikalllp@users.noreply.github.com> Date: Wed, 29 Apr 2026 21:56:07 +0800 Subject: [PATCH] feat: expose more environment variables in post-hook (#107) * feat: expose more environment variables in post-hook * fix: formatted --- README.md | 2 +- src/caelestia/utils/wallpaper.py | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 82dcb1d..d72027c 100644 --- a/README.md +++ b/README.md @@ -191,7 +191,7 @@ All configuration options are in `~/.config/caelestia/cli.json`. "extraArgs": [] }, "wallpaper": { - "postHook": "echo $WALLPAPER_PATH" + "postHook": "echo $WALLPAPER_PATH $SCHEME_NAME $SCHEME_FLAVOUR $SCHEME_MODE $SCHEME_VARIANT $SCHEME_COLOURS" }, "theme": { "enableTerm": true, diff --git a/src/caelestia/utils/wallpaper.py b/src/caelestia/utils/wallpaper.py index 02d3f4e..227a8fd 100644 --- a/src/caelestia/utils/wallpaper.py +++ b/src/caelestia/utils/wallpaper.py @@ -192,7 +192,16 @@ def set_wallpaper(wall: Path, no_smart: bool) -> None: subprocess.run( post_hook, shell=True, - env={**os.environ, "WALLPAPER_PATH": str(wall)}, + env={ + **os.environ, + "WALLPAPER_PATH": str(wall), + "SCHEME_NAME": scheme.name, + "SCHEME_FLAVOUR": scheme.flavour, + "SCHEME_MODE": scheme.mode, + "SCHEME_VARIANT": scheme.variant, + "SCHEME_COLOURS": json.dumps(scheme.colours), + "THUMBNAIL_PATH": str(thumb), + }, stderr=subprocess.DEVNULL, ) except (FileNotFoundError, json.JSONDecodeError):