# Tdarr-tray — plan ## Goal En systray-applet på workstationen som visar om Tdarr-noden (den som kör NVENC på 4060 Ti) transkoderar, och låter dig pausa/återuppta den med ett klick — så du snabbt kan frigöra GPU:n innan du spelar och återuppta efteråt. ## Stack - Python 3 + **PyQt6** (`QSystemTrayIcon`). KDE/Plasma, Wayland. - Pratar med Tdarrs API (`x-api-key`), samma auth som tdarr-cli. ## Deploy target Pattern A (installerbar). `install.sh` → `~/.local/bin/tdarr-tray` + autostart (`~/.config/autostart/`). Release-CI publicerar `tdarr-tray.py` + `install.sh` till rullande `latest`; en-rads `curl … | sh`. ## Design - Pollar `GET /api/v2/get-nodes` var 5:e sekund, matchar noden på **namn** (id ändras vid varje nod-restart). - Läge → ikonfärg: körs (grön) / körs inte = pausad|offline (röd) / övergång (gul). - Aktiva transkodningar = `workers` med `idle:false`. - Paus/återuppta: `POST /api/v2/update-node {nodeUpdates:{nodePaused:…}}` (ingen sudo; paus dödar ffmpeg → encoder 0 %). ## Roadmap / expansions - Notis (ntfy/knotify) när kön är klar eller noden felar. - Visa kö-längd / sparat diskutrymme i tooltip. - Snabbval: pausa i X minuter, eller auto-paus när ett spel körs (t.ex. via gamemode/process-watch). - Stöd att styra flera noder (inte bara workstationen). ## Open questions - Ska "stäng av" även kunna stoppa container (kräver docker/sudo) eller räcker paus (frigör GPU:n redan)? Nuläge: paus räcker.