From 37d5d83c5b833394d909728ab19f9a1a37c94803 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Tue, 29 Sep 2026 10:15:17 +0200 Subject: Add README Co-Authored-By: Claude Opus 5.5 --- README.md | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..bcb0528 --- /dev/null +++ b/README.md @@ -0,0 +1,65 @@ +# grub-theme-udt + +A GRUB 2 theme for the unified-desktop-theme (udt) family. The background is a +snapshot of the current wallpaper; a translucent panel on the left carries the +menu, in the active udt scheme's colours. + +## How it is wired + +`theme.txt.in` is a template. udt's `udt-palette` renders it to `theme.txt` +with the scheme's colours, then udt's `install.sh` runs `./build`, which +assembles the complete theme in `dist/udt/`: `theme.txt`, the PNG slices in +the same colours, the `.pf2` fonts and `background.jpg`, a GRUB-readable copy +of `~/.cache/udt/wpaper`. Both outputs are gitignored. + +The accent is the scheme's fixed `accent` role, not the wallpaper-tracking +one: nothing at boot can read that. + +## Install + +GRUB reads `/boot` before anything else is mounted, so the theme is copied, +not linked. In a root shell: + + rm -rf /boot/grub/themes/udt && cp -r /dist/udt /boot/grub/themes/ + +Once, set this in `/etc/default/grub`: + + GRUB_THEME="/boot/grub/themes/udt/theme.txt" + +then regenerate the config: + + grub-mkconfig -o /boot/grub/grub.cfg + +udt's `install.sh` prints these commands after a successful build; it never +runs them. + +## After a scheme or wallpaper change + +Rerun udt's `install.sh`, then the `cp` line above. `grub-mkconfig` is only +needed when `GRUB_THEME` changes. The theme on `/boot` stays as it was until +root copies the new one. + +## Requirements + +GRUB 2.14 or later (for `desktop-image-scale-method`), Python 3, `grub-mkfont`, +`fc-match`, ImageMagick's `magick`, and the fonts Noto Sans (Regular, Bold) +and Inconsolata Nerd Font Mono. + +## Test + + ./build --selftest + +There is no GRUB emulator here, so the visual check is a reboot. Keep the +previous `GRUB_THEME` line to go back to. + +## License + +GPLv2 only. See `LICENSE`. + +## Development Approach + +This project is developed using AI-assisted tools. Code is generated with the help of AI based on human-provided specifications, design decisions, and iterative feedback. + +All contributions are reviewed, tested, and curated by the maintainer before being included in the codebase. AI is used as a productivity and exploration tool, while human oversight remains central to all decisions. + +The goal is to combine the flexibility of AI-assisted development with standard open-source practices such as transparency, review, and accountability. -- cgit v1.2.3