From 4f01824832da8455a40446dc2ee949545f470ec5 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Fri, 11 Sep 2026 16:30:31 +0200 Subject: refactor(theme): read the palette from unified-desktop-theme Both components had their own copy of the Macchiato colours, and the second copy appeared the moment there was a second component. Editing the palette meant editing it in as many places as there were shells, and they would have drifted. They now read ~/.cache/wal/udt-palette.qml, which udt-accent generates from unified-desktop-theme's palette.rasi. The file is watched, so a palette change reaches a running shell in place, the same way the accent already did. What is left in Theme.qml is a fallback, used before the file has been read and on a machine where unified-desktop-theme is not installed, which is what keeps each directory runnable on its own. The file is parsed rather than imported: a generated QML singleton cannot be imported without a qmldir beside it, and the wal cache has no reason to carry one. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01G7NRsGyF9jGfPYS4zPqpN7 --- volume-osd/README.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'volume-osd/README.md') diff --git a/volume-osd/README.md b/volume-osd/README.md index 3ef0212..f651c1d 100644 --- a/volume-osd/README.md +++ b/volume-osd/README.md @@ -60,11 +60,15 @@ it just renders flat translucent instead of frosted. ## Theme -`Theme.qml` holds the Catppuccin Macchiato palette. The accent is read from -`~/.cache/wal/udt-accent.rasi`, the file `udt-accent` writes on every wallpaper -change, and is watched, so the OSD recolours without a restart. Lavender -(`#b7bdf8`) is the fallback when that file is absent, which is also what makes -this directory runnable on a machine that has no unified-desktop-theme. +`Theme.qml` holds no palette of its own beyond a fallback. The colours come +from `~/.cache/wal/udt-palette.qml`, which `udt-accent` generates on every +wallpaper change from unified-desktop-theme's `palette.rasi`, carrying the +whole Macchiato palette plus the accent snapped from the wallpaper. + +That file is watched, so editing the palette in unified-desktop-theme and +regenerating recolours a running OSD with no restart. Where the file does not +exist, the hardcoded defaults in `Theme.qml` apply, which is what keeps this +directory runnable on a machine without unified-desktop-theme. ## Two details worth knowing -- cgit v1.2.3