Nine days, 355 pull requests from 152 people. CleanYourTV 3.5 brings eight new themes, from Diwali lamps to Istanbul at night, three new add-ons, 30 more TVs from 12 new brands, and a Home screen that no longer holds on to memory it doesn't need. The README now reads in Spanish, French, Hebrew and Uzbek too.
Since v3.4.0: 472 TV models (from 442), 129 brands (from 117), 29 themes (from 21), 36 add-ons (from 33), 243 projects in the showcase (from 212), 355 pull requests from 152 people. No binaries, as always: build the launcher with launcher/build-and-install.sh.
Highlights
- Eight new themes (29 now): diwali, ridgelines, twilight, istanbul, istanbul_v2, family, ambient-glass and glass-gallery
- A lighter Home: every settings change used to leave the old Home screen in memory, about 15 MB each time. After eight changes Home now uses 114 MB instead of 210 MB (#3804)
- 30 more TVs from 12 new brands: Chihi, Continental Edison, Durabrand, ENGY, Essentiel b, Indurama, Metz, Nonete, SAMPO, STRONG, Turbo-X and Vityas
- Three new add-ons: Neon Dream (#3402), Koi Pond (#3480) and a Files card (#3650), and Sleep Timer can now wake and sleep the TV on a weekly schedule (#3139)
- The README in four more languages: Spanish (#3726), French (#3681), Hebrew with a right-to-left layout (#3356) and Uzbek (#3350)
- 243 projects in the showcase, among them a tvOS-style Home for Google TV, a Quran screensaver and CleanYourHeadUnit, the same approach for Android car head units
Themes
- diwali: eight Diwali photos from Wikimedia Commons, with the festival skin that ran until 11 November
- ridgelines: layered mountain scenes that follow the time of day (#3662)
- twilight: three original anime landscapes, each with its caption (#3261)
- istanbul and istanbul_v2: the skyline drawn in flat layers by code, and three illustrated skylines from morning to night (#3291)
- family: a family in single-line drawings that changes with the time of day (#3291)
- ambient-glass: a five-column dark grid over rotating landscapes (#3425)
- glass-gallery: seven apps in a glass dock, an app library for the rest and three abstract wallpapers (#3378)
Twenty-nine themes now, the built-in default/ included. Apply one with tools/theme.sh, no rebuild; browse them at cleanyour.tv/addons.
Launcher 3.5
Nothing changes unless your TV needed the fix or a theme turns a switch on.
- Memory: Home no longer keeps every earlier copy of itself alive after a settings change. Measured on a TV: 210 MB after eight changes before, 114 MB now (#3804)
- More room for features: stricter resource shrinking frees 888 bytes under the size limit (#3444)
volume_pauses_filter: on TVs like the Mi TV, where a key filter blocks the volume buttons, a volume press now pauses the filter for 4 seconds so the buttons work as usual. Off by default (#3723)home_ignore_channel_keys: a channel key on Home no longer opens Live TV (#3334), and on Xiaomi sets the number keys can open Live TV straight from Home (#3434)settings_key_clear_task: Back from Settings goes Home on MediaTek TVs (#3503)boot_to_live_tvopens the Live TV tile's own input when one is set (#3558)- Remote buttons: a held volume key stops repeating when a game controller turns key filtering off (#3637), vendor keys for Back, Home, Recents and Sleep go through the key helper (#3599), and a key in both
app_keysand the Settings keys opens only itsapp_keystarget (#3600) - The clock: digits keep their width so the date doesn't shift every minute (#3746), and the clock screensaver follows the theme's language, as the idle clock does (#3722)
- Danish: the greetings read as one word, Godmorgen, Godaften and Godnat (#3751)
Fixes
- Tiles stay dimmed after an icon is set down in Move mode (#3576)
- A reused tile no longer shows the previous app's hidden icon (#3595)
- The Inputs list's status line is readable on the focused row (#3437)
Add-ons (three new, in addons/)
- Neon Dream: a neon screensaver and card, with scene, colour and clock options (#3402)
- Koi Pond: a pixel-art koi pond screensaver and card (#3480)
- Files card: a card that opens your file manager, Amaze first (#3650)
Sleep Timer gains weekly wake and sleep schedules with date and time pickers you can use with the remote (#3139). Smart Home picks which rows to show (#3439) and shows fuel prices unrounded (#3431). Weather speaks German (#3339), Russian (#3447) and Spanish (#3593), and Neon Dream, Koi Pond, Files card and the Jewish and Nepali calendars speak Italian. Browse them all: cleanyour.tv/addons.
New TVs and brands
30 more TV models, from 12 new brands: Chihi (HX-P30 projector), Continental Edison, Durabrand, ENGY, Essentiel b, Indurama (Ecuador), Metz (43MUB8000), Nonete (H726 projector), SAMPO (OLED 55ZW8212), STRONG, Turbo-X and Vityas. Also new: the Sony BRAVIA 8 II, the Philips 65PQT8169, the TCL 55Q7D Pro and a BeyondTV set from Japan, the Toshiba 43V35KP, the Panasonic ATV R2, the Noblex DR55X9500 from Argentina, the DEXP 65UHG2, the Lumio Arc 5 projector, the Xiaomi Mi Box 4S Pro and two more Mi TV firmwares. Plus second and third units for lists already here, and new device notes. The full list: examples/.
Safety and security
- Every review round starts with a security scan, and contributions run their tests with no network access and no writes outside the working folder
- Stricter tools:
tv.py --batchrefuses NUL bytes and lists that aren't UTF-8 before anything reaches the TV (#3783, #3718), generated commands quote privacy list paths (#3740), and uploads whose check command is too long for ADB are refused (#3687) - Safer writes: a failed theme, wallpaper or calendar write leaves your existing files as they were (#3394, #3417, #3493, #3536, #3583)
- Restores you can trust:
restore.shandrestore.ps1exit with an error when the TV didn't take the restore plan (#3605)
Tools
manage.py setrefuses a value the launcher would ignore or replace with its own default: colours, key lists, strings and Inputs-menu values (#3540, #3538, #3634, #3638, #3750, #3771)match.py: a new per-package tally across every list inexamples/(#3321)wallpaper_prep.pyand a guide for using your own photos as the background (#3348)- Windows: paths with brackets work as typed in
disable.ps1,restore.ps1,theme.ps1and the Docker build (#3604, #3709), andtheme.ps1keeps its quotes on PowerShell 5.1 (#3691) - Plain answers:
tv.py --probeand--screenshotsay the connection dropped instead of printing a traceback (#3711)
Translations
- The README in Spanish (#3726), French (#3681), Hebrew (#3356) and Uzbek (#3350), so the front page now reads in 15 languages
- The Italian launcher and app library pages (#3325)
- Danish greetings in the launcher (#3751)
Showcase
243 projects (from 212), including a tvOS-style Home for Google TV (#3817), For You, a tvOS-inspired Home on a Sony BRAVIA (#3738), a Quran screensaver that shows an ayah at a time with its translation (#3646), CleanYourHeadUnit, this repo's approach for Android car head units (#2970), a photo-frame Home with Immich and Plex (#3484), Limpia mi TV for TCL BeyondTV (#3498), a Dino Runner screensaver (#3739) and the webOS edition running on an LG (#3696). See them all in SHOWCASE.md.
For contributors
- The launcher is about 574 KB, under the 576 KB gate. versionName 3.5, versionCode 14
- The recipes name every front page a count appears on, and what a theme's licence and rotation are checked against (#3423, #3458, #3555, #3677)
Install and upgrade
- New here: send PROMPT.md to your AI assistant, or follow the README
- Already on CleanYourTV: pull the repo and run
launcher/build-and-install.shto upgrade to 3.5; your config and themes are kept
Thank you to everyone who contributed since v3.4.0: @10k11 @ADOCR @Aitor54 @Ajan @aleraco @alexisdelestre @andreguerreiiro @angel-wm @anhost77 @ansharora1810 @anurag2701 @apilipenko @ArkoOf22 @arunnarayansathiyanarayanan @aruntejsfdc @axelvetrov @BAQLOULZINEB @bardesss @belasoaress @bhaveshchow20 @biglilafun @Bortlesboat @bypreetham @cetrulin @chrehor36 @cixiangtao @cristianrojas07 @devSviat @dip497 @disikoy @djlex83 @dylanhuff @edovega @em0072 @enlightened-d @enricodestefanis @enricoottavoita @enriquedfa @Everteson @Excalibrus @farzadso @fbonnemaison @fefranco97 @Forki37 @francavallin11 @FrancoAlvarez7 @GeeBee79 @gilgamezh @Gionnio @giovannilentini @Gnzikoune @go-denovo @gunaseelan25 @GustavoFigueira @hassan-ishmam @henrik242 @Hetav21 @hmaheshwari1996 @hssndrms @iHaris93 @ikevinadams @ishfanatic @Ivanlblack @JcMinarro @Jesencloud @jimaldon @jitaret-rgb @jmaeder @joaco2v @joaomj @joha38 @joseCarlos1342 @karlas @kattouf @kevscec @KeyErrorFinn @Khushmansingh @KillerBeePT @knochango @kopierschnitte @Krimlocke @kuntardivyang @lennartabeln @lionlev21 @Lopeszfps1 @LordAmit @M-khalifa @maker-chrobok @marcogreiveldinger @matelot666 @matt-w-horn @MatthewRSouth @maxhayim @maydings @mertkayacs @midego1 @midhatn @midnextlevel @MikelBlanco @mmunozpatino @MortenBjerreJ @msarunwork @mukul98s @nottoobright @ochapeau @OleksiyPenkov @orange8686 @ous-sama22 @pablopunk @philili2005-boop @pikach00 @piowit @Plual1 @pshewale-dev @qureshiayaz29 @r4hulee @racinmat @Ragehubgit @SaiduthE @Sais-gallego @sandivd @scrofalo-collab @sidechannelio @Sierakk @SmartGenius2 @staruz93-netizen @Stef37140 @Sunlei012 @TechnoDudeX @TeenKode @Tekno74-ai @TheGeekyM @TheOso714 @TheScarastic @Thevirtualmask @thongor77 @typestoofast @UjjwalKaul @v42069 @vatsal-agr @vishal-s22 @vitorcamillo @Volo-Mori @Walpewhat @weuderr @wilu222 @workingyuanyuan @xaferima @xbsheng @yrslykvl @ZeusAlva @Zyloc