Initial Tdarr-tray: KDE systray applet for the Tdarr workstation node
All checks were successful
release / release (push) Successful in 16s

PyQt6 QSystemTrayIcon: green=running, red=stopped, yellow=transition.
Pause/resume the node via the API (frees/reclaims the GPU, no sudo) so you
can free the 4060 Ti before gaming. Playbook standard: README (per-OS
prereqs + build/run/test), doc/plan.md, .gitignore (build/ first), VS Code
build task -> ./build, install.sh + one-line curl (clone or release),
Gitea Actions rolling-latest release.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011YPrEZVBpPVoCRyJz2exkZ
This commit is contained in:
2026-07-05 20:34:35 +02:00
commit 81ff5c7fea
7 changed files with 430 additions and 0 deletions

63
README.md Normal file
View File

@@ -0,0 +1,63 @@
# Tdarr-tray
En **systray-applet** (KDE/Plasma, Wayland) för att styra Tdarr-noden på
workstationen — se om den transkoderar och pausa/återuppta den med ett klick
(t.ex. innan du spelar: paus frigör GPU:n direkt).
## Färger
| Ikon | Betydelse |
|------|-----------|
| 🟢 grön | noden **körs** (ansluten, ej pausad — transkoderar eller redo) |
| 🔴 röd | noden **körs inte** (pausad eller offline) |
| 🟡 gul | **övergång** — håller på att pausas/återupptas |
Symbol i ikonen: ▶ (körs), ❚❚ (stoppad), ⋯ (övergång).
## Installera
En rad (laddar ner appen, sätter upp autostart, startar den):
```sh
curl -fsSL https://gitea.brasse-pc.eu/brasse/Tdarr-tray/raw/branch/master/install.sh | sh
```
Från en klon: `./install.sh`. Installerar till `~/.local/bin/tdarr-tray` +
autostart i `~/.config/autostart/`.
## Prerequisites (per OS)
Python ≥ 3.8 + **PyQt6**:
| OS | Kommando |
|----|----------|
| Garuda/Arch (dev-boxen) | `sudo pacman -S --needed python python-pyqt6` |
| Debian/Ubuntu | `sudo apt install python3 python3-pyqt6` |
Kräver en systray (KDE/Plasma har det inbyggt).
## Meny (högerklick på ikonen)
Status · **⏸ Pausa / ▶ Återuppta nod** (via Tdarrs API, frigör/återtar GPU:n) ·
Uppdatera nu · Öppna Tdarr i webbläsaren · Avsluta.
## Konfiguration (miljövariabler)
| Var | Standard | Beskrivning |
|-----|----------|-------------|
| `TDARR_URL` | `http://192.168.0.19:8266` | Tdarr-serverns API |
| `TDARR_NODE` | `Workstation-4060Ti` | nodnamn att styra |
| `TDARR_API_KEY` | (läses ur `~/tdarr-node/.env`, rad `apiKey=`) | API-nyckel (`x-api-key`) |
| `TDARR_POLL_MS` | `5000` | polling-intervall |
## Bygg (till ./build) / test
VS Code: **Run Build Task** (`Ctrl+Shift+B`) → `build`-tasken lägger en körbar
`tdarr-tray` i `build/` (gitignoread). Manuellt / rök-koll:
```sh
mkdir -p build && install -m 0755 tdarr-tray.py build/tdarr-tray
python3 -m py_compile tdarr-tray.py # syntax
python3 tdarr-tray.py --check # headless statuskoll
```
## Mer
- Plan & designbeslut: [`doc/plan.md`](doc/plan.md).
- Arkitektur / hur den funkar: repots **wiki**.