mirror of
https://github.com/Gathin23/cleanyourtv.git
synced 2026-10-29 20:05:17 +00:00
docs/workflows/theme.md is the page AGENTS.md sends a theme author to, and it ended at
"add a row to themes/README.md". tests/test_readme_theme_count.py also holds the front page's
Themes row to the number of folders that carry a config.json, so a theme built exactly from the
recipe fails the suite ("the Themes row says 8 and themes/ holds 9") with no step in the page to
explain it. Its push command also named no TV_HOST, which tools/theme.sh requires, so the line died
before it reached the TV. tests/test_theme_recipe_count.py reads both requirements out of what
enforces them (the count checker's row and config.json rule, theme.sh's :? guard) rather than
copying them.
1.1 KiB
1.1 KiB
Workflow: Add a theme
When to use this: a new look that the keys in themes/README.md already carry.
- Create
themes/<name>/config.jsonusing only keys from the table inthemes/README.md;themes/default/config.jsonis the starting point. - Add
wallpaper.jpgor awallpapers/folder if it uses them: dark, 1920x1080, under about 300 KB each, and art you have the right to use. - Push it to a real TV with
TV_HOST=<tv ip> tools/theme.sh themes/<name>and takescreenshot.jpgof Home with the focus on the dock: a JPEG at 1280x720 (16:9), at most 300 KB. Not a mock-up, not an emulator.tests/test_themes.pyfails without it. - Add a row to the table in
themes/README.mdshowing the screenshot, like the others. - Bump the count in
README.md's Themes feature row (theN ship in themes/sentence):tests/test_readme_theme_count.pycounts the folders that carry aconfig.jsonand fails until the sentence says the same number. - A look that needs a new key is a launcher switch first, in its own PR.
Then run the tests: python3 -m unittest discover -s tests -v.