NelsonEU / arn0-tv
git clone https://github.com/NelsonEU/arn0-tv.git
A custom home screen for a Samsung Q70B (Tizen 6.5)
+91
stars, 24h · #419
+137
stars, 7 days · #1,590
+137
stars, 30 days · #5,463
137
★ total · +137% this week
27
forks · 1 open issues
Star history (as recorded here)
LanguageJavaScript
License—
Created2026-10-20 (3d ago)
Last push1d ago
Watchers0
OwnerUser
Links
README excerpt
# Arn0 Launcher A quieter home screen for a Samsung Tizen TV: a clock, a row of your apps, a row of your consoles, and nothing else. *The browser preview, with the bundled Manrope font and the "Milky Way" wallpaper.* I built this for one TV in my living room, a Samsung Q70B on Tizen 6.5, because its own home screen had become a shop. It does what I want: the apps I use, the consoles I own, driven by the normal remote. I am sharing it as a starting point rather than a product. **Use it at your own risk.** The optional Home-button setup changes TV preferences that Samsung does not document. See the setup guide before using it. ## Recommended approach I highly recommend forking it and building on top of it, ideally with a coding agent that can help you understand and adapt the setup. Start with the browser preview, make the interface your own, then work through TV installation when you're ready. Native Home/startup changes need particular care; the setup guide covers the risks and recovery steps. ## Try the interface Needs Node.js 20 or newer. Nothing is installed and no TV is involved. [code] Navigate with the arrow keys and Enter; Esc or Backspace is Back; `R` `G` `Y` `B` are the remote's colour keys. `#all` and `#lab` in the URL open those screens directly. The preview runs against `src/js/tizen-mock.js`, a stand-in for the Tizen APIs that is inert on the TV itself. So the layout, focus behaviour, settings, fonts and wallpapers are all real, while launching apps and switching HDMI inputs only do something on a real TV. ## What you can change Everything in `src/js/config.js` is meant to be edited: which apps appear, which consoles and on which HDMI ports, how an input tile switches the TV, the locale, the starting wallpaper. Most of it is also editable from the launcher's own Settings once it is on the TV, and the TV's copy wins (`config.js` only supplies the defaults). Beyond config: tile colours and brand marks in `src/js/brands.js`, the whole look in `src/css/style.css`, and your own photos as wallpapers. Anything specific to your own TV — weather coordinates, a devlog address — belongs in `src/js/config.local.js` instead. That file is gitignored and merged over `config.js` one level deep, so the tracked file keeps its nulls while the local one reaches both the browser preview and the packaged `.wgt`. Nothing to strip before a push, nothing to restore before a build. Copy `config.local.example.js` to start. ## Coding agent prompt This project was largely built with coding agents, and adapting it is a reasonable thing to hand to one. A starting prompt that keeps the agent on the safe side of the line: [code] TV work is different in kind: it needs a machine on the same network as the TV, so an agent that can only read this repo cannot operate the TV. This repository includes the guarded helper source, but does not include a ready-to-run SDB staging/runner script or a per-TV recovery snapshot. ## Put it on a TV **docs/setup-tv.md** — installin