CleanFrame: Een persoonlijk startscherm voor Samsung The Frame

De maker heeft CleanFrame ontwikkeld voor één specifieke TV: een eigen Samsung The Frame die draait op Tizen. De code en installatiehandleidingen worden gedeeld als startpunt voor anderen om verder op voort te bouwen.

Waarschuwing: Gebruik is op eigen risico. Het meeste werk is gericht op de optimale werking op de TV van de maker; de overdraagbaarheid naar andere systemen is beperkt. De installatiescripts zijn afgestemd op specifieke hardware en firmware, dus wees voorbereid om deze aan te passen en te testen op je eigen apparaat.

Het wordt sterk aangeraden om de repository te forken en hierop voort te bouwen, bij voorkeur met een coding agent die kan helpen bij het begrijpen en aanpassen van de setup. Begin met de browser-preview om de interface naar eigen wens aan te passen, alvorens over te gaan tot de installatie op de TV. Wijzigingen in de native Home/opstartinstellingen vereisen extra zorg; de installatiehandleiding beschrijft de risico's en herstelstappen.

De interface uitproberen

Om de browser-preview te draaien, heb je Node.js 22+ en Python 3.10+ nodig.

Installatie en start:

git clone https://github.com/nthnclrk/CleanFrame.git
cd CleanFrame
npm ci
npm run dev:public

Open vervolgens localhost:4795/home in je browser. Je kunt navigeren met de pijltjestoetsen, Enter en Escape, of door op de bedieningselementen te klikken. Let op: het lanceren van apps en Samsung-schermen vereist een fysieke TV; de preview geeft deze beperking aan wanneer je deze selecteert.

De publieke preview maakt gebruik van de meegeleverde lettertypen Manrope, Geist en Newsreader.

Aanpassingsmogelijkheden

Binnen de Settings-interface kun je het volgende wijzigen:

  • Lay-out: Kies tussen een 'List' of 'Dock' lay-out, met iconen, namen of beide.
  • Achtergrond: Gebruik een eigen foto of een lichte/donkere achtergrond, inclusief een eenvoudige 12-uurs klok.
  • Visuele stijl: Pas typografie, focus-indicatoren en 'glass'-materialen aan.
  • Apps: Kies en herschik Home-apps, of ontdek apps die reeds op de TV zijn geïnstalleerd.
  • Wallpapers: Selecteer uit vijftien wallpapers en sla je voorkeuren lokaal op.

Technische details: De effecten voor glas en vervaging (blur) worden vooraf gerenderd. De TV laadt de uiteindig gegenereerde afbeeldingen en gebruikt transforms en opacity voor visuele feedback bij focus.

Werken met een coding agent

Open deze repository in een lokale coding agent en geef een afgebakende opdracht. Een voorbeeld van een prompt:

  1. Lees AGENTS.md, docs/development.md en docs/interaction-behaviour.md.
  2. Help mij CleanFrame aan te passen. Begin met de public-font browser-preview.
  3. Mijn eerste wijziging is: <beschrijf hier de wijziging>.
  4. Behoud de remote-navigatie, opgeslagen voorkeuren en de ES5-runtime.
  5. Voer de broncontroles en relevante browser-checks uit en toon het resultaat.

Belangrijke restrictie: Deze taak is uitsluitend voor de browser. Maak geen verbinding met een TV, teken of installeer geen pakketten, en wijzig geen Home/opstartinstellingen.

Raadpleeg de sectie "working with an agent" voor de prompt voor de TV-setup en het onderscheid tussen UI-werk, app-installatie en native Home-wijzigingen. Een agent heeft lokale computertoegang nodig voor TV-werk; een hosted chat kan je TV niet bereiken enkel door deze repository te lezen.

Installatie op de TV

Gebruik de stapsgewijze Samsung The Frame setup guide om het proces te begrijpen en aan te passen aan jouw TV. Deze gids behandelt:

  • De Developer Mode sequentie van de afstandsbediening.
  • Officiële Samsung-tools.
  • Eigen certificaten en app-identiteit.
  • Installatie, zichtbaarheidscontroles en herstel.

De signing- en TV-scripts zijn specifiek voor de setup van de maker. Een agent zal de paden, het signing-profiel, de identiteitscontroles en de geïnstalleerde app-ID's moeten aanpassen en elke fase met jou moeten verifiëren. De installatie van de app en het toewijzen van de Home-knop op de afstandsbediening zijn aparte stappen.

Referentiehardware en beperkingen

OnderdeelBewijs en limieten
ReferentiehardwareSamsung QA55LS03DAWXXY / LS03D, firmware 2130.0, Tizen 9.0, 32-bit ARM
App-installatieOndertekende installatie en startcommando's succesvol tot versie 0.6.1. De laatste rendering en remote-ervaring vereisen fysieke observatie.
App-start en HomeDe lancering van Netflix/YouTube en de fysieke Home-knop vanuit Netflix zijn bevestigd op de referentie-setup.
Openstaande puntenNormale inschakeling na streaming/Art Mode, correcte Smart Hub-escape en native Art Mode-bestemmingen moeten fysiek gecontroleerd worden.
Andere TV'sGeen compatibiliteitsgarantie. Dit is Tizen-broncode; Android TV, Google TV, LG webOS en Roku vereisen eigen implementaties.

De native Home/opstartfunctie maakt gebruik van ongedocumenteerde, beveiligde helpers; dit is optioneel en kan falen na firmware-updates. Bewaar een recovery-baseline voordat je hiermee begint. De app kan handmatig worden geopend zonder deze functie.

Ontwikkeling en controle

Gebruik de volgende commando's voor controle en export:

  • npm run check
  • npx playwright install chromium
  • CLEANFRAMEPUBLICFONTS=1 npm run check:browser
  • npm run check:public
  • npm run export:public

De browser-checks maken gebruik van geïsoleerde Chromium-profielen en een loopback-preview en maken nooit contact met een TV. De publieke export creëert dist/CleanFrame-public-unsigned.wgt met publieke lettertypen en kennisgevingen. Deze moet worden voorzien van een eigen identiteit en ondertekening vóór installatie.

Projectstructuur

LocatieDoel
app/Huidige verpakte UI en runtime-assets
scripts/Preview, validatie, asset-generatie en tools voor de referentie-TV
docs/Ontwikkeling / testen, runtime-map, voorkeuren, checks en apparaatgrenzen
assets/Rendering-recepten, scheiding van lettertypen en herkomst van assets
third_party/Fotocredits en verificatie van gebundelde assets van derden
.local/, dist/Privé-setup, herstelgegevens, gegenereerde bestanden en pakketten (worden genegeerd)

Bijdragen

Fork de repository, experimenteer en bouw iets dat bij jouw TV past. Fixes of verbeteringen aan de installatie-instructies zijn welkom. Lees CONTRIBUTING.md voordat je grotere wijzigingen doorvoert. Bugrapporten dienen het model, de firmware en het geobserveerde resultaat te bevatten, waarbij privé-identificatoren zijn verwijderd.

Licentie en credits

De originele code en documentatie van CleanFrame vallen onder de MIT-licentie. Lettertypen, foto's en logo's behouden hun eigen voorwaarden; raadpleeg hiervoor THIRDPARTYNOTICES.md. Betaalde Pangram-binaries zijn uitgesloten van Git en publieke exports.

CleanFrame is een onafhankelijk project zonder affiliatie met Samsung of streamingdiensten.

TV Detox is een nuttig voorbeeld van hoe een TV-project met hulp van een agent toegankelijk kan worden gemaakt. De Android-setup daarvan is echter een andere implementatie; de prompts en instructies in dit project zijn specifiek geschreven voor CleanFrame en Tizen.