# README screenshots `take.sh` makes the pictures in `docs/screenshots/`: it builds arr-tui, starts a fake Radarr, Sonarr and SABnzbd with a made-up library, and runs arr-tui in Ghostty on a virtual X display, following the scene scripts. Nothing real is shown: invented titles, generated posters, dummy API keys (masked in the Config view anyway). ```sh dev/screenshots/take.sh # on NixOS, with the tools from nixpkgs: nix-shell -p xvfb-run xorg-server xdotool imagemagick oxipng --run dev/screenshots/take.sh ``` Needs Go, Python 3, Ghostty, `xvfb-run` (Xvfb), `xdotool`, ImageMagick 7 and fontconfig with the DejaVu fonts; `oxipng` (optional) compresses the PNGs losslessly. It takes about a minute. | File | What it is | |---|---| | `catalog.py` | The made-up library: movies (with file details) and series (with seasons). | | `posters.sh` | Draws a poster per title into `posters/` (gradient, title, year); run by `take.sh` when `posters/` is missing. | | `server.py` | The fake services on 127.0.0.1: Radarr 19891, Sonarr 19892, SABnzbd 19893, Trakt 19894 (`take.sh` points arr-tui there with `ARR_TUI_TRAKT_URL`). Library, search, lists, releases, queues, history, calendar, posters. Like the real services it answers cross-origin requests, and it accepts writes without changing anything, for the webOS app (`webos/`, `npm run demo`). | | `xshot.sh` | Runs a command in Ghostty under Xvfb and follows a scene script. | | `scenes/*.txt` | What to press and when to take a picture: `key`, `type`, `sleep`, `shot `. | To change a picture, edit its scene (the key presses depend on the order of `catalog.py`, e.g. "The Long Orbit" is the 13th movie alphabetically) and run `take.sh` again. Some views show today's date (Calendar, Downloads), so every run changes those pictures a little.