User guide

Using shangOS

Everything is reachable with the d-pad and OK. This is a tour of what is where.

The Home page

Home opens with a greeting (set your name in Settings), the date, and your wallpaper. The row of app tiles sits below. The focused tile glows, the wallpaper tilts slightly as you move, and pressing OK opens the app out of its tile. The light behind the row takes the colour of the focused app (Settings, Room lighting turns it off).

The line under each app’s name says when you last opened it. With Continue watching allowed in Privacy, it can say what you were in the middle of instead (“Continue: … · 18 min left”), with the programme’s artwork faded in behind the greeting. When you open an app and come back, focus is on that app’s tile again.

The page switcher at the top moves between Home, Apps and Settings. The clock can be hidden. A small lock appears beside it while a VPN is on, and an amber crossed Wi-Fi when the TV is offline.

Bars, cards and menus are frosted glass: they show a blurred copy of your wallpaper behind them (Settings, Frosted glass). After 20 quiet seconds the tab bar and clock fade back so the wallpaper has the room, and any key brings them back (Settings, Calm mode).

The Apps page

Every installed app, including the ones the TV hides from its own list. The order is shared with the Home row. Hold OK on a tile to open its menu:

  • Open and Move to first position.
  • Hide from Home keeps the app in Apps and takes it off the Home row.
  • App info opens Android’s page for the app.
  • Uninstall asks Android to remove an app you installed; Android asks you to confirm. It is not offered for the TV’s own apps.

Grab to move. Hold OK on a tile and it lifts. Move it with the d-pad and press OK to put it down; Back puts it down where it is. Put down without moving it, and the menu opens. Before 0.4.5 the menu has Move left and Move right instead.

Widgets

Widgets sit below the app row on Home. Press up and down to cycle them. Settings, Home widgets opens an editor where you can reorder and switch them off, with a live preview.

WidgetShowsNeeds
Up NextItems from your streaming apps’ Continue watching rows, and recently used apps. OK jumps into the programme.Optional: permission to read TV listings, and usage access for recent apps.
Now PlayingWhat is playing in Spotify, YouTube Music, Plex and similar apps: cover, progress and remote keys.Optional: notification access. Android needs it to see media sessions; no notification is read.
ControlTiles for Wi-Fi, picture mode, sound and Bluetooth remotes. Each opens the matching system screen.Nothing.
InputsYour HDMI inputs and tuner, with the names your connected devices report.Nothing.
WeatherHourly and seven-day forecast for your chosen city, or the main city of your TV’s time zone. Cached on the TV.Off until you turn it on. Uses the internet; see Privacy.

Settings

Settings opens over a soft scrim so you see wallpaper changes as you make them. The first page lists five entries: Appearance, Motion and sound, Home, Privacy and System. Each group is a page of its own, and Back returns to the first page.{nx_060}

SectionWhat it does
Appearance: WallpaperA gallery of all eight looks, with a full-screen preview, and your own photo once you add one (from 0.4.5).
Appearance: Your nameThe greeting on Home. Stored only on the TV.
Home: CityWhere the weather and the sunrise are for. Choose your city from a list built into the app (also in the first-run setup), or keep Automatic, the main city of your TV’s time zone. Nothing is looked up and nothing leaves the TV (from 0.4.6).
Home: TemperatureAutomatic follows the country of the city, or choose Celsius or Fahrenheit.
Appearance: ClockShow or hide the clock.
Motion and sound: PerformanceAuto, Light, Balanced or Quality. See below.
Home: Home widgetsThe live widget editor.
Home: Apps orderHow the Apps tab is ordered: your own order, A to Z, or recently used (from 0.6.0).
Home: Hidden appsThe apps hidden from Home; choose one to show it again (from 0.6.0).
Motion and sound: Room lightingThe coloured light behind the app row (from 0.4.3).
Appearance: Frosted glassBars, cards and menus show a blurred copy of the wallpaper behind them. Off with the Light performance level (from 0.5.0).
Motion and sound: Calm modeThe tab bar and clock fade back after 20 quiet seconds (from 0.5.0).
PrivacySwitches for weather and posters, a runtime Offline mode, and the signing fingerprint of this build.
System: Setup guideShows the first-run walkthrough again, with a QR code for the setup page.
System: AboutVersion, credits and licences.

Wallpapers and your own photo

Eight looks are included. Aurora, Ember, Tide, Orchid, Glacier (clear for bright rooms) and Daybreak (changes through the day) were generated in code for this project. Milky Way and Calm Sea are CC0 photographs from Poly Haven.

Your own photo (from 0.4.5): from a computer on the same network, with a copy of the repository, run ./shangos.sh wallpaper ~/photo.jpg. The picture goes straight into shangOS’s private storage over adb: no media permission, no Photos or cloud account, no network. It appears in Settings, Wallpaper as “Your photo”, and the screen saver shows it dimmed. ./shangos.sh wallpaper --remove deletes it.

The screen saver (optional, in the setup wizard) shows a clock over your wallpaper after your TV’s own screen-saver delay.

Performance levels

On first run shangOS looks at the TV’s memory, processor and core count, and picks a level. Settings shows why, and you can change it.

LevelWhat it means
AutoThe level shangOS picked for this TV. The default.
LightStatic wallpapers and no background drawing. For sticks with about 1 to 1.5 GB of RAM.
BalancedGentle wallpaper motion and parallax.
QualityAll lighting and motion effects, for TVs with plenty of headroom.

Privacy controls

One Settings screen shows the live state of everything that can touch the network.

  • Weather is off until you turn it on, and tells you what it will send before the first request.
  • Remote posters: Off, Wi-Fi and Ethernet only, or Always.
  • Offline mode stops the app’s own network use at once, without reinstalling.
  • This build shows the SHA-256 fingerprint of the installed APK to compare with the release notes.

For the full list see Privacy.

Updates and removal

shangOS does not update itself. New releases are signed with the same key, so you install them over the old one (run the setup wizard again, or adb install -r) and keep your order, name and wallpaper. To go back to your TV’s launcher, see Undo.

Measure your own TV

The numbers on the home page come from one TV. To measure yours, install shangOS (and, if you like, Luma TV) on it and run the benchmark from a copy of the repository. It runs each launcher in turn, with the same steps and the same wallpaper, and gives the TV’s original Home back at the end.

Repository folder
$ tools/bench.sh -s 192.168.1.50:5555
# writes docs/data/bench.json: which TV, which versions, when, and every number

The file is checked by python3 tools/bench-json.py --check docs/data/bench.json, and the release build publishes it next to the APKs. The method and what each number means are in MEASURING.md.

For developers

shangOS is plain Java with no third-party libraries, one process and one activity. The architecture notes, the release process and the build and test scripts are in the repository.

On this page